[hideprofile][html]<div class="npc-page">
<!-- ШАПКА -->
<div class="npc-head">
<div class="npc-head__eyebrow">Republic City Archives</div>
<div class="npc-head__title">Известные NPC</div>
<div class="npc-head__text">
Жители Города Республики и других земель, которые могут встречаться
персонажам в игре. Обращайте внимание на статус использования NPC:
некоторые из них доступны для свободного взаимодействия, другие
используются только администрацией.
</div>
</div>
<!-- ФИЛЬТРЫ -->
<div class="npc-filters">
<button class="is-active" data-npc-filter="all">
Все NPC
</button>
<button data-npc-filter="free">
Можно использовать
</button>
<button data-npc-filter="restricted">
Нельзя использовать
</button>
</div>
<!-- СЕТКА -->
<div class="npc-grid">
<!-- ==================================================
NPC — МОЖНО ИСПОЛЬЗОВАТЬ
=================================================== -->
<article class="npc-card" data-npc-status="free">
<div class="npc-card__portrait">
<img
src="https://upforme.ru/uploads/001c/b8/a2/2/512519.png"
alt="Доктор Цевань"
>
<div class="npc-card__source">
<span>Оригинальный персонаж</span>
Доктор Цевань
</div>
</div>
<div class="npc-card__content">
<div class="npc-card__status npc-card__status--free">
<span></span>
можно использовать
</div>
<div class="npc-card__name">
Доктор Цевань
</div>
<div class="character-profile">
<span class="birth-date" data-birth="19-02-9902"></span>
<span class="character-age"></span>
</div>
<div class="npc-card__role">
психиатр экспертно-криминалистического бюро полиции
</div>
<div class="npc-card__section">
<div class="npc-card__label">
кто это
</div>
<div class="npc-card__description">
Уроженец Ба Синг Се, психиатр, криминалист и преподаватель медицины,
один из основоположников республиканской криминалистики. Весёлый,
общительный и эксцентричный человек, известный студентам как
«профессор Хохотун»: любит байки, хорошую еду, выпивку и способен
превратить даже разговор о серийных преступниках в занятную историю.
При внешней беззаботности чрезвычайно наблюдателен, тонко читает людей
и обладает серьёзными связями во властных структурах. По-отечески
опекает молодых коллег и студентов, особенно тех, кому приходится
тяжело.
Упитанный, круглолицый, с бритой головой, глубокими залысинами,
серой щетиной, характерными «моржовыми» усами и весёлыми
тёмно-серыми глазами. Не-маг. Нежно привязан к жене Су-вон и дочери.
</div>
</div>
<div class="npc-card__bottom">
<div class="npc-card__fact">
<b>где встретить</b>
<span>
Республиканский Город; экспертно-криминалистическое бюро полиции;
медицинские учебные заведения
</span>
</div>
<div class="npc-card__fact">
<b>принадлежность</b>
<span>
полиция Республиканского Города; Орден Белого Лотоса
</span>
</div>
</div>
</div>
</article>
<article class="npc-card" data-npc-status="free">
<div class="npc-card__portrait">
<img
src="https://upforme.ru/uploads/001c/b8/a2/16/86478.png"
alt="Breaking Bad Walter White"
>
<div class="npc-card__source">
<span>Оригинальный персонаж</span>
Токан
</div>
</div>
<div class="npc-card__content">
<div class="npc-card__status npc-card__status--free">
<span></span>
можно использовать
</div>
<div class="npc-card__name">
Токан
</div>
<div class="character-profile">
<span class="birth-date" data-birth="12-08-9000"></span>
<span class="character-age"></span>
</div>
<div class="npc-card__role">
верховный советник дипломатической миссии Империи Земли / старший инспектор Дай Ли
</div>
<div class="npc-card__section">
<div class="npc-card__label">
кто это
</div>
<div class="npc-card__description">
Токан является дядей Канто по матери, который с детства был завербован в тайную полицию Империи Земли, Дай Ли, и никогда не ставил под сомнение цели и методы организации. Он также надеялся, что его племянник, который осиротел в раннем возрасте, пойдет по его стопам, — но не смотря на то, что Канто был способным учеником, показывавшим отличный потенциал, он не был подвержен слепой лояльности и умел критически мыслить. Поэтому, когда Дай Ли предали свою страну Нации Огня, его племянник не пошел с большинством и исчез прочь, навсегда разорвав связи как с организацией, так и с дядей.
Токан же, несмотря на то, что был в стане тех, кто поддержал переворот, смог во время чисток выйти сухим из воды, выдав или отловив других предателей. Со временем он приблизился к тому, чтобы возглавить Дай Ли, но ему не хватило чуточку, чтобы обставить своих соперников, — и по итогу он был "сослан" в Республиканский Город шпионить в пользу Империи Земли в составе дипломатической миссии. Представьте его удивление, когда там Токан вновь увидел сводки о Канто, — и он прекрасно понимает, что его племянник ни в коем случае не обычный боец арены, а его растущая связь с командой Аватара открывает широкие перспективы.
</div>
</div>
<div class="npc-card__bottom">
<div class="npc-card__fact">
<b>где встретить</b>
<span>
Дипмиссия Империи Земли / места, где вы ожидаете его увидеть меньше всего
</span>
</div>
<div class="npc-card__fact">
<b>принадлежность</b>
<span>
Империя Земли / Дай Ли
</span>
</div>
</div>
</div>
</article>
<article
class="npc-card npc-card--restricted"
data-npc-status="restricted"
>
<div class="npc-card__portrait">
<img
src="https://i.pinimg.com/736x/c8/25/c1/c825c15f1fecef5ee4fa14844b9c8443.jpg"
alt="Линь Чжао"
>
<div class="npc-card__source">
<span>Psycho-Pass</span>
Shinya Kogami
</div>
</div>
<div class="npc-card__content">
<div class="npc-card__status npc-card__status--restricted">
<span></span>
нельзя использовать
</div>
<div class="npc-card__name">
Линь Чжао
</div>
<div class="character-profile">
<span class="birth-date" data-birth="03-02-9915"></span>
<span class="character-age"></span>
</div>
<div class="npc-card__role">
старший инспектор городской полиции
</div>
<div class="npc-card__section">
<div class="npc-card__label">
кто это
</div>
<div class="npc-card__description">
Один из старших инспекторов полиции Города Республики.
Хорошо известен среди сотрудников Центрального управления
и регулярно принимает участие в расследовании наиболее
серьёзных городских преступлений.
</div>
</div>
<div class="npc-card__bottom">
<div class="npc-card__fact">
<b>где встретить</b>
<span>
Центральное управление полиции, центр города
</span>
</div>
<div class="npc-card__fact">
<b>принадлежность</b>
<span>
полиция Города Республики
</span>
</div>
</div>
</div>
</article>
</div>
</div>
<style>
/* =========================================================
ИЗВЕСТНЫЕ NPC
========================================================= */
.npc-page,
.npc-page * {
box-sizing: border-box;
}
.npc-page {
width: 100%;
max-width: 980px;
margin: 0 auto;
color: var(--wiki-text);
font-family: var(--font-base, Verdana, Arial, sans-serif);
}
/* =========================================================
ШАПКА
========================================================= */
.npc-head {
position: relative;
margin-bottom: 14px;
padding: 20px 24px 18px;
text-align: center;
background: var(--anketa-bg);
border: 1px solid var(--anketa-muted);
border-radius: 8px;
overflow: hidden;
}
.npc-head::before {
content: "";
position: absolute;
top: 0;
left: 50%;
width: 110px;
height: 3px;
background: var(--wiki-accent);
transform: translateX(-50%);
}
.npc-head__eyebrow {
margin-bottom: 5px;
color: var(--wiki-muted);
font: 700 9px var(--rus, Georgia, serif);
text-transform: uppercase;
letter-spacing: 2px;
}
.npc-head__title {
color: var(--wiki-accent);
font: 700 27px/1.15 var(--rus, Georgia, serif);
text-transform: uppercase;
letter-spacing: .8px;
}
.npc-head__text {
max-width: 650px;
margin: 9px auto 0;
color: var(--wiki-text);
font: 11px/1.6 var(--font-base, Verdana, sans-serif);
}
/* =========================================================
ФИЛЬТРЫ
========================================================= */
.npc-filters {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 7px;
margin-bottom: 14px;
padding: 9px;
background: var(--anketa-bg);
border: 1px solid var(--wiki-border);
border-radius: 6px;
}
.npc-filters button {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 31px;
padding: 7px 13px;
color: var(--accentcolor1);
background: var(--anketa-bg);
border: 1px solid var(--accent-light);
border-radius: 4px;
font: 700 9px var(
--rus, Georgia, serif);
text-transform: uppercase;
letter-spacing: .8px;
cursor: pointer;
transition: .25s background ease,
.25s color ease,
.25s border-color ease,
.18s transform ease;
}
.npc-filters button:hover,
.npc-filters button.is-active {
color: var(--white);
background: var(--anketa-blue);
border-color: var(--menucolor);
}
.npc-filters button:hover {
transform: translateY(-1px);
}
/* =========================================================
СЕТКА
========================================================= */
.npc-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
/* =========================================================
КАРТОЧКА
========================================================= */
.npc-card {
position: relative;
display: grid;
grid-template-columns: 145px minmax(0, 1fr);
min-height: 330px;
overflow: hidden;
background: var(--anketa-bg);
border: 1px solid var(--wiki-border);
border-radius: 8px;
}
/* небольшая линия статуса сверху */
.npc-card::before {
content: "";
position: absolute;
z-index: 5;
top: 0;
right: 0;
width: calc(100% - 145px);
height: 3px;
background: var(--accentcolor1);
}
.npc-card--restricted::before {
background: var(--wanted-ams-accent, #7b3438);
}
/* =========================================================
ПОРТРЕТ
========================================================= */
.npc-card__portrait {
position: relative;
min-width: 0;
overflow: hidden;
background: var(--wiki-soft);
}
.npc-card__portrait img {
display: block;
width: 100%;
height: 100%;
min-height: 330px;
object-fit: cover;
object-position: center;
filter:
saturate(.88)
contrast(.96)
brightness(.97);
transition:
transform .5s ease,
filter .5s ease;
}
.npc-card:hover .npc-card__portrait img {
transform: scale(1.025);
filter:
saturate(.98)
contrast(.98)
brightness(1);
}
/* затемнение под подписью */
.npc-card__portrait::after {
content: "";
position: absolute;
z-index: 1;
left: 0;
right: 0;
bottom: 0;
height: 90px;
background:
linear-gradient(
to top,
rgba(31,29,27,.86),
rgba(31,29,27,0)
);
pointer-events: none;
}
/* источник внешности */
.npc-card__source {
position: absolute;
z-index: 2;
left: 9px;
right: 9px;
bottom: 9px;
color: rgba(255,255,255,.78);
font: 8px/1.35 var(--font-base, Verdana, sans-serif);
text-align: center;
}
.npc-card__source span {
display: block;
margin-bottom: 2px;
color: #fff;
font: 700 8px var(--rus, Georgia, serif);
text-transform: uppercase;
letter-spacing: .5px;
}
/* =========================================================
СОДЕРЖИМОЕ
========================================================= */
.npc-card__content {
display: flex;
flex-direction: column;
min-width: 0;
padding: 15px 14px 13px;
}
/* =========================================================
СТАТУС
========================================================= */
.npc-card__status {
display: flex;
align-items: center;
gap: 6px;
margin-bottom: 8px;
color: var(--wiki-muted);
font: 700 8px var(--rus, Georgia, serif);
text-transform: uppercase;
letter-spacing: .8px;
}
.npc-card__status > span {
display: block;
width: 6px;
height: 6px;
flex: 0 0 6px;
border-radius: 50%;
}
.npc-card__status--free > span {
background: var(--accentcolor1);
box-shadow:
0 0 0 3px color-mix(
in srgb,
var(--accentcolor1) 14%,
transparent
);
}
.npc-card__status--restricted {
color: var(--wanted-ams-accent, #7b3438);
}
.npc-card__status--restricted > span {
background: var(--wanted-ams-accent, #7b3438);
box-shadow:
0 0 0 3px rgba(123,52,56,.12);
}
/* =========================================================
ИМЯ
========================================================= */
.npc-card__name {
color: var(--anketa-text);
font: 700 20px/1.1 var(
--rus, Georgia, serif);
text-transform: uppercase;
letter-spacing: .3px;
}
/* =========================================================
ДАТА / ВОЗРАСТ
========================================================= */
.npc-card .character-profile {
margin-top: 5px;
color: var(--wiki-muted);
font: 9px var(--font-base, Verdana, sans-serif);
}
.npc-card__meta i {
display: block;
width: 3px;
height: 3px;
background: var(--wiki-border-dark);
border-radius: 50%;
}
/* =========================================================
РОЛЬ
========================================================= */
.npc-card__role {
margin-top: 8px;
padding: 6px 8px;
color: var(--anketa-blue);
background: var(
--anketa-card);
border-left: 2px solid var(
--wiki-accent);
font: 700 9px/1.4 var(
--rus, Georgia, serif);
text-transform: lowercase;
}
/* =========================================================
ОПИСАНИЕ
========================================================= */
.npc-card__section {
margin-top: 12px;
}
.npc-card__label {
display: flex;
align-items: center;
gap: 7px;
margin-bottom: 5px;
color: var(--wiki-accent);
font: 700 8px var(--rus, Georgia, serif);
text-transform: uppercase;
letter-spacing: 1px;
}
.npc-card__label::after {
content: "";
height: 1px;
flex: 1;
background:
linear-gradient(
to right,
var(--wiki-border),
transparent
);
}
.npc-card__description {
max-height: 150px;
padding-right: 6px;
overflow-y: auto;
overflow-x: hidden;
color: var(--wiki-text);
font: 10px / 1.55 var(--font-base);
text-align: justify;
scrollbar-width: thin;
scrollbar-color: var(--wiki-border-dark) transparent;
}
.npc-card__description::-webkit-scrollbar {
width: 5px;
}
.npc-card__description::-webkit-scrollbar-track {
background: transparent;
}
.npc-card__description::-webkit-scrollbar-thumb {
background: var(--wiki-border-dark);
border-radius: 5px;
}
/* =========================================================
НИЖНЯЯ ИНФОРМАЦИЯ
========================================================= */
.npc-card__bottom {
display: grid;
gap: 7px;
margin-top: auto;
padding-top: 12px;
}
.npc-card__fact {
padding-top: 6px;
border-top: 1px solid
color-mix(
in srgb,
var(--wiki-border) 65%,
transparent
);
}
.npc-card__fact b {
display: block;
margin-bottom: 2px;
color: var(--wiki-accent);
font: 700 8px var(--rus, Georgia, serif);
text-transform: uppercase;
letter-spacing: .5px;
}
.npc-card__fact span {
display: block;
color: var(--wiki-muted);
font: 9px/1.4 var(--font-base, Verdana, sans-serif);
}
/* =========================================================
ФИЛЬТРАЦИЯ
========================================================= */
.npc-card.is-hidden {
display: none;
}
/* =========================================================
АДАПТИВ
========================================================= */
@media (max-width: 850px) {
.npc-grid {
grid-template-columns: 1fr;
}
.npc-card {
grid-template-columns: 160px minmax(0, 1fr);
}
.npc-card::before {
width: calc(100% - 160px);
}
}
@media (max-width: 520px) {
.npc-card {
display: block;
}
.npc-card::before {
width: 100%;
}
.npc-card__portrait {
height: 250px;
}
.npc-card__portrait img {
min-height: 0;
height: 250px;
}
.npc-head {
padding: 17px 14px;
}
.npc-head__title {
font-size: 22px;
}
.npc-filters button {
flex: 1 1 auto;
}
}
</style>
<script>
document.addEventListener('DOMContentLoaded', function () {
const page = document.querySelector('.npc-page');
if (!page) return;
const buttons = page.querySelectorAll('[data-npc-filter]');
const cards = page.querySelectorAll('.npc-card');
buttons.forEach(function (button) {
button.addEventListener('click', function () {
const filter = this.dataset.npcFilter;
buttons.forEach(function (btn) {
btn.classList.remove('is-active');
});
this.classList.add('is-active');
cards.forEach(function (card) {
const status = card.dataset.npcStatus;
if (filter === 'all' || status === filter) {
card.classList.remove('is-hidden');
} else {
card.classList.add('is-hidden');
}
});
});
});
});
</script>[/html]
Заявки оставляем под постом ниже
Код:[b]использование[/b]: можно использовать / нельзя использовать [b]Имя[/b]: ответ [b]Дата рождения[/b]: ответ [b]Профессия, род деятельности[/b]: ответ [b]Кто это[/b]: ответ [b]Где встретить[/b]: ответ [b]Принадлежность[/b]: ответ [b]Изображение персонажа[/b]: Ссылка или залитое изображение [i]Название произведения англ. Имя англ.[/i]


































