Magic world
Здесь вы можете ознакомиться
с населением магической Британии

Серым цветом обозначены свободные роли, которые вы можете занять
Черным цветом обозначены персонажи в игре

Условные обозначения

mb - маглорожденный
pb - чистокровный
hb - полукровка

de - пожиратели смерти
op - орден феника
ne - нейтралитет

MM - Министерство магии
St M - Больница Св. Мунго
DA - Косой переулок
KA - Лютный переулок
Media - СМИ
Q - Квиддич
H - Хогвартс
Hogs - Хогсмид
Az - Азкабан
MBr - Магическая Британия

[html]

  <style>
    .tabs {
      margin-bottom: 20px;
      display: flex;
      justify-content: center;
    }
    .tab-button {
      background-color: #999;
      color: white;
      padding: 10px 20px;
      margin: 5px;
      border: none;
      border-radius: 20px;
      cursor: pointer;
    }
    .tab-button.active {
      background-color: #5a3870;
    }
  #filter-block {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 20px;
}
    }
    .filters select, .filters button {
      margin: 1px;
      padding: 5px 5px;
    }
    .tab-content {
      display: none;
    }
    .tab-content.active {
      display: block;
    }
    .character-list {
      display: flex;
      justify-content: space-around;
      margin-top: 20px;
      text-align: left;
    }
    .group {
      max-width: 300px;
    }
    .letter-block {
      margin: 15px 0;
    }
    .char-card {
      margin-bottom: 10px;
    }
    .tags {
      font-size: 0.8em;
      color: grey;
    }
    table {
      margin: 0 auto;
      border-collapse: collapse;
      width: 60%;
    }
    table, th, td {
      border: 1px solid #ccc;
    }
    th, td {
      padding: 8px 12px;
    }
    .centered-text {
      text-align: center;
      margin: 20px auto;
      line-height: 1.6;
      font-size: 16px;
      max-width: 600px;
    }
@media (max-width: 768px) {

    .tabs {
      flex-direction: column;
      align-items: center;
overflow-y: auto;
    }

    .tab-button {
      width: 90%;
      font-size: 12px;
    }

    #filter-block {
      flex-direction: column;
      align-items: center;
    }

    .filters select, .filters button {
      width: 100%;
    }

    .character-list {
      flex-direction: column;
      align-items: center;
    }
.tab-content {
max-height: 100vh;
    overflow-y: auto;
    padding-bottom: 600px; /* Чтобы не обрезался нижний контент */
  }

    .group {
      max-width: 100%;
height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    }

    .letter-block h3 {
      font-size: 12px;
    }

    .char-card {
      font-size: 12px;
    }

    table {
      width: 100%;
      font-size: 12px;
    }

    .tags {
      font-size: 12px;
    }}
  </style>
  <div class="tabs">
    <button class="tab-button active" onclick="switchTab('characters', this)">Список персонажей</button>
    <button class="tab-button" onclick="switchTab('faces', this)">Занятые внешности</button>
    <button class="tab-button" onclick="switchTab('names', this)">Занятые имена</button>
  </div>

  <!-- Фильтры только в первой вкладке -->
  <div id="filter-block" class="filters">
    <button onclick="resetFilters()">Все</button>
<select id="statusFilter">
  <option value="">Статус</option>
  <option value="active">В игре</option>
  <option value="free">Свободный персонаж</option>
</select>

    <select id="ageFilter">
      <option value="">Фракция</option>
      <option value="op">Орден феникса</option>
      <option value="de">Пожиратели смерти</option>
      <option value="ne">Нейтралитет</option>
    </select>
    <select id="jobFilter">
      <option value="">Работа</option>
      <option value="MM">Министерство магии</option>
      <option value="St M">Больница Св. Мунго</option>
      <option value="DA">Косой переулок</option>
      <option value="KA">Лютный переулок</option>
<option value="Media">СМИ</option>
<option value="Q">Квиддич</option>
<option value="H">Хогвартс</option>
<option value="Hogs">Хогсмид</option>
<option value="Az">Азкабан</option>
<option value="MBr">Магическая Британия</option>
    </select>
    <select id="gradYearFilter">
      <option value="">Год окончания</option>
      <option value="67">67</option>
      <option value="68">68</option>
      <option value="70">70</option>
      <option value="75">75</option>
      <option value="77">77</option>
      <option value="78">78</option>
      <option value="79">79</option>

    </select>
    <select id="bloodFilter">
      <option value="">Чистота крови</option>
      <option value="pb">Чистокровный</option>
      <option value="mb">Магглорождённый</option>
      <option value="hb">Полукровка</option>
    </select>
  </div>

  <!-- Вкладка 1 -->
  <div id="characters" class="tab-content active">
    <div class="character-list">
      <div class="group">
        <h3>Female</h3>
        <div class="letter-block">
          <h3>А - I</h3><br>
          <div class="char-card" data-age="de" data-job="" data-grad="68" data-blood="pb" data-status="free">
            <a href="https://example.com/walburga" target="_blank"><strong>Black, Walburga</strong></a> — 45, pb, de, Hogwarts, S'68 <div class="tags">#нужные</div>
          </div>
          <h3>J - Q</h3><br>
          <div class="char-card" data-age="ne" data-job="St M" data-grad="S75" data-blood="pb" data-status="free">
            <a href="https://example.com/walburga" target="_blank"><strong>Jigger, Aurelia</strong></a> — 25, pb, ne, Hogwarts, R'75 <div class="tags">#нужные</div>
          </div>
          <h3>R - Z</h3><br>
<div class="char-card" data-age="ne" data-job="St M" data-grad="XX" data-blood="hb" data-status="free">
            <a href="https://safespace.rusff.me/viewtopic.php?id=18#p36 target="_blank"><strong>Strout, Miriam</strong></a> — 18-22, hb, ne, Hogwarts, G'XX <div class="tags"> St M, стажерка в отделении "недуки от заклятий" <br>#акция</div></div>
<div class="char-card" data-age="op" data-job="MM" data-grad="79" data-blood="mb" data-status="active">
            <a href="https://safespace.rusff.me/profile.php?id=6" target="_blank"><strong>White, Julie</strong></a> — 18, mb, op, Hogwarts, G'79 <div class="tags">MM, стажерка в аврорате</div>
          </div>
         </div>
      </div>
      <div class="group">
        <h3>Male</h3>
        <div class="letter-block">
          <h3>А - I</h3><br>
          <div class="char-card" data-age="de" data-job="KA" data-grad="77" data-blood="pb" data-status="active">
            <a href="https://safespace.rusff.me/profile.php?id=10" target="_blank"><strong>Avery, Lionel</strong></a> — 20, pb, de, Hogwarts, S'77 <div class="tags">KA, церемониймейстер погребального бюро</div>          </div>
          <div class="char-card" data-age="op" data-job="MM" data-grad="78" data-blood="pb" data-status="active">
            <a href="https://safespace.rusff.me/profile.php?id=5" target="_blank"><strong>Black, Sirius</strong></a> — 19, pb, op, Hogwarts, G'78 <div class="tags">MM, стажер в аврорате</div>          </div>
                    <div class="char-card" data-age="de" data-job="MM" data-grad="79" data-blood="pb" data-status="active">
            <a href="https://safespace.rusff.me/profile.php?id=3" target="_blank"><strong>Black, Regulus</strong></a> — 18, pb, de, Hogwarts, S'79 <div class="tags">MM, стажер отдела тайн</div>
          </div>
<h3>J - Q</h3><br>

<div class="char-card" data-age="op" data-job="DA" data-grad="67" data-blood="pb" data-status="active">
            <a href="https://safespace.rusff.me/profile.php?id=7" target="_blank"><strong>Jigger, Arsenius</strong></a> — 30, pb, op, Hogwarts, R'67 <div class="tags">DA, владелец аптеки "Slug & Jiggers"<div class="tags">#маска</div>          </div></div>
<div class="char-card" data-age="op" data-job="MM" data-grad="78" data-blood="hb" data-status="free">
<a href="https://safespace.rusff.me/viewtopic.php?id=5#p340" target="_blank"><strong>Lupin, Remus</strong></a> — 19, pb, op, Hogwarts, G'78 <div class="tags"> - <br>#нужные</div></div>
<div class="char-card" data-age="op" data-job="MM" data-grad="78" data-blood="pb" data-status="free">
<a href="https://safespace.rusff.me/viewtopic.php?id=5#p340" target="_blank"><strong>Pettigrew, Peter</strong></a> — 19, pb, op, Hogwarts, G'78 <div class="tags"> - <br>#нужные</div></div>
<div class="char-card" data-age="ne" data-job="St M" data-grad="xx" data-blood="xx" data-status="free">
            <a href="https://safespace.rusff.me/viewtopic.php?id=18#p36" target="_blank"><strong>Pollingtonious, Hugo</strong></a> — 40+, xx, ne, Hogwarts, H'X<div class="tags"> St M, Заведующий отделением «недуги и заклятья» <br>#акция</div></div>
          <div class="char-card" data-age="ne" data-job="St M" data-grad="xx" data-blood="xx" data-status="free">
            <a href="https://safespace.rusff.me/viewtopic.php?id=18#p36" target="_blank"><strong>Poke, Rutherford</strong></a> — 18-22, xx, ne, Hogwarts, R'XX <div class="tags"> St M, стажер отделения «Ранения от живых существ» <br>#акция</div></div>
<div class="char-card" data-age="op" data-job="MM" data-grad="78" data-blood="pb" data-status="free">
<a href="https://safespace.rusff.me/viewtopic.php?id=5#p340" target="_blank"><strong>Potter, James</strong></a> — 19, pb, op, Hogwarts, G'78 <div class="tags">MM, стажер в аврорате <br>#нужные</div></div>
          <br><h3>R - Z</h3><br>
         
<div class="char-card" data-age="de" data-job="MM" data-grad="77" data-blood="pb" data-status="active">
            <a href="https://safespace.rusff.me/profile.php?id=4" target="_blank"><strong>Rosier, Evan</strong></a> — 20, pb, de, Hogwarts, S'77 <div class="tags">MM, стажер отдела международного магического сотрудничества</div>          </div></div>
      <div class="char-card" data-age="ne" data-job="St M" data-grad="xx" data-blood="pb" data-status="free">
            <a href="https://safespace.rusff.me/viewtopic.php?id=18#p36" target="_blank"><strong>Smethwyck, Hippocrates</strong></a> — 40+, pb, ne, Hogwarts, H'X<div class="tags"> St M, Заведующий отделением «Ранения от живых существ»<br>#акция</div></div>
<div class="char-card" data-age="ne" data-job="St M" data-grad="70" data-blood="mb" data-status="active">
            <a href="https://safespace.rusff.me/profile.php?id=11" target="_blank"><strong>Thickey, Janus</strong></a> — 27, mb, ne, Hogwarts, R'70 <div class="tags">St M, целитель в отделении недугов от заклятий</div>          </div>
<div class="char-card" data-age="de" data-job="MM" data-grad="77" data-blood="hb" data-status="active">
<a href="https://safespace.rusff.me/profile.php?id=7" target="_blank"><strong>Whisp, Whisper</strong></a> — 20, hb, de, Hogwarts, S'77 <div class="tags">MM, стажер отдела тайн</div>          </div></div></div>
          </div>
        </div>
      </div>
    </div>
  </div>

  <!-- Вкладка 2 -->
  <div id="faces" class="tab-content">
  <div style="display: flex; justify-content: center; gap: 100px; margin-top: 50px;">
    <ul style="list-style-type: disc; text-align: left;">
      <li>Female</li><br>
      <li>А - I</li><br>
<li>Cassel, Deva - <a href=СЮДА ССЫЛКА НА ПРОФИЛЬ><strong>Name Surname</strong></a></li>
<li>Fanning, Elle — <a href=https://safespace.rusff.me/profile.php?id=6» target=«_blank»><strong>Julia White</strong></a></li>
<br><li>J - Q</li><br>
<li>Surname, Name - <a href="СЮДА ССЫЛКА" target="_blank"><strong>Name Surname</strong></a></li>
<br><li>R - Z</li><br>
<li>Surname, Name - <a href="СЮДА ССЫЛКА" target="_blank"><strong>Name Surname</strong></a></li>
    </ul>
    <ul style="list-style-type: disc; text-align: left;">
      <li>Male</li>
      <br>
<li>А - I</li><br>
<li>Barnes, Ben - <a href="https://safespace.rusff.me/profile.php?id=10" target="_blank"><strong>Lionel Avery</strong></a></li>
<li>Chalamet, Timothee - <a href="https://safespace.rusff.me/profile.php?id=3" target="_blank"><strong>Regulus Black</strong></a></li>
<li>Goode, Matthew - <a href="https://safespace.rusff.me/profile.php?id=7" target="_blank"><strong>Arsenius Jigger</strong></a> #маска</li>
<br><li>J - Q</li><br>
<li>McMillan, Miles - <a href="https://safespace.rusff.me/profile.php?id=7" target="_blank"><strong>Whisper Whisp</strong></a></li>

<br><li>R - Z</li><br>
<li>Reeves, Keanu - <a href="https://safespace.rusff.me/profile.php?id=5" target="_blank"><strong>Sirius Black</strong></a></li>
<li>Seppalainen, Otto - <a href="https://safespace.rusff.me/profile.php?id=11" target="_blank"><strong>Janus Thickey</strong></a></li>
      <li>Ulliel, Gaspard - <a href="https://safespace.rusff.me/profile.php?id=4" target="_blank"><strong>Evan Rosier</strong></a></li>
       </ul>
  </div>
</div>

  <!-- Вкладка 3 -->
  <div id="names" class="tab-content">
   <div style="display: flex; justify-content: center; gap: 100px; margin-top: 20px;">
    <ul style="list-style-type: disc; text-align: left;">
      <li>Female</li><br>
      <li>А - I</li><br>
<li>Florence Pugh</li>
<br><li>J - Q</li><br>
<li>Julia — <a href=https://safespace.rusff.me/profile.php?id=6><strong>Julia White</strong></a></li>
<br><li>R - Z</li><br>
      <li>Tom Hiddleston</li>
      <li>Eva Green</li>
    </ul>
    <ul style="list-style-type: disc; text-align: left;">
      <li>Male</li>
      <br>
<li>А - I</li><br>
<li>Evan - <a href="https://safespace.rusff.me/profile.php?id=4" target="_blank"><strong>Evan Rosier</strong></a></li>
<br><li>J - Q</li><br>
<li>Lionel - <a href="https://safespace.rusff.me/profile.php?id=10" target="_blank"><strong>Lionel Avery</strong></a></li>
<li>Janus - <a href="https://safespace.rusff.me/profile.php?id=11" target="_blank"><strong>Janus Thickey</strong></a></li>
<br><li>R - Z</li><br>
<li>Sirius - <a href= Sirius Black><strong>Sirius Black</strong></a></li>
<li>Whisper - <a href= Whisper Whisp><strong>Whisper Whisp</strong></a></li>
       </ul>
  </div>
</div>

  <script>
const filters = ['ageFilter', 'jobFilter', 'gradYearFilter', 'bloodFilter', 'statusFilter'];

    filters.forEach(id => {
      document.getElementById(id).addEventListener('change', applyFilters);
    });

    function applyFilters() {
      const age = document.getElementById('ageFilter').value;
      const job = document.getElementById('jobFilter').value;
      const grad = document.getElementById('gradYearFilter').value;
      const blood = document.getElementById('bloodFilter').value;
const status = document.getElementById('statusFilter').value;

      document.querySelectorAll('.char-card').forEach(card => {
        const matchesAge = !age || card.dataset.age === age;
        const matchesJob = !job || card.dataset.job.includes(job);
        const matchesGrad = !grad || card.dataset.grad === grad;
        const matchesBlood = !blood || card.dataset.blood === blood;
        const matchesStatus = !status || card.dataset.status === status;

       card.style.display = (matchesAge && matchesJob && matchesGrad && matchesBlood && matchesStatus) ? '' : 'none';

      });
    }

    function resetFilters() {
      filters.forEach(id => document.getElementById(id).value = '');
      applyFilters();
    }

    function switchTab(tabId, btn) {
      document.querySelectorAll('.tab-content').forEach(tab => {
        tab.classList.remove('active');
      });
      document.getElementById(tabId).classList.add('active');

      document.querySelectorAll('.tab-button').forEach(b => b.classList.remove('active'));
      btn.classList.add('active');

      // Показывать фильтры только во вкладке персонажей
      document.getElementById('filter-block').style.display = (tabId === 'characters') ? 'block' : 'none';
    }
  </script>
</body>
</html>
[/html]

[hideprofile]