/* Generated by tools/subset-fonts.py; originals remain available for uncommon glyphs. */
@font-face { font-family: Calibri; src: local('Calibri'), url('/assets/font/calibri.woff2') format('woff2'); font-weight: 400; font-display: swap; unicode-range: U+20-7E, U+A0-17F, U+192, U+1FA-1FF, U+218-21B, U+2C6-2C7, U+2C9, U+2D8-2DD, U+300-304, U+306-308, U+30A-30C, U+312, U+315, U+326-328, U+344, U+374-375, U+37E, U+384-38A, U+38C, U+38E-3A1, U+3A3-3CE, U+400-45F, U+462-463, U+472-475, U+490-491, U+1E80-1E85, U+1EF2-1EF3, U+2010, U+2013-2015, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+203D, U+2044, U+2070, U+2074-208E, U+20AC, U+2105, U+2113, U+2116-2117, U+2120, U+2122, U+2126, U+212E, U+2153-215F, U+2190-2199, U+2202, U+2206, U+220F, U+2211-2212, U+2219-221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+FB00-FB04; }
@font-face { font-family: Calibri; src: local('Calibri Bold'), url('/assets/font/calibri_bold.woff2') format('woff2'); font-weight: 700; font-display: swap; unicode-range: U+20-7E, U+A0-17F, U+192, U+1FA-1FF, U+218-21B, U+2C6-2C7, U+2C9, U+2D8-2DD, U+300-304, U+306-308, U+30A-30C, U+312, U+315, U+326-328, U+344, U+374-375, U+37E, U+384-38A, U+38C, U+38E-3A1, U+3A3-3CE, U+400-45F, U+462-463, U+472-475, U+490-491, U+1E80-1E85, U+1EF2-1EF3, U+2010, U+2013-2015, U+2018-201A, U+201C-201E, U+2020-2022, U+2026, U+2030, U+2039-203A, U+203D, U+2044, U+2070, U+2074-208E, U+20AC, U+2105, U+2113, U+2116-2117, U+2120, U+2122, U+2126, U+212E, U+2153-215F, U+2190-2199, U+2202, U+2206, U+220F, U+2211-2212, U+2219-221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+FB00-FB04; }
@font-face { font-family: Calibri; src: local('Calibri'), url('/assets/font/calibri-latin-cyrillic.woff2') format('woff2'); font-weight: 400; font-display: swap; unicode-range: U+0000-00FF, U+0400-045F, U+2000-206F, U+20A0-20CF, U+2116; }
@font-face { font-family: Calibri; src: local('Calibri Bold'), url('/assets/font/calibri_bold-latin-cyrillic.woff2') format('woff2'); font-weight: 700; font-display: swap; unicode-range: U+0000-00FF, U+0400-045F, U+2000-206F, U+20A0-20CF, U+2116; }
:root {
	--fancybox-accent-color: #b100ff;
}
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* defaults */
html {
	height: 100%;
}
img {
	max-width: 100%;
	height: auto;
}
p {
	margin: 0;
}

button {
	border-radius: 0;
}

input:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
	outline: 0;
}

input,
button,
select,
optgroup,
textarea {
	margin: 0;
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
}

button,
select {
	text-transform: none;
}

[role=button] {
	cursor: pointer;
}

select {
	word-wrap: normal;
}
select:disabled {
	opacity: 1;
}

[list]::-webkit-calendar-picker-indicator {
	display: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
	-webkit-appearance: button;
}
button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
	cursor: pointer;
}

::-moz-focus-inner {
	padding: 0;
	border-style: none;
}

textarea {
	resize: vertical;
}

/* states */
._disabled {
	pointer-events: none;
	opacity: .5;
}

/* page */
.page {
	background-color: #433b53;
	margin: 0;
	font: 400 14px/1.5 Calibri, Arial, sans-serif;
	color: #fff;
	min-height: 100%;
	display: flex;
	flex-direction: column;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.page__main {
	flex-shrink: 0;
}
.page__descr {
	background-color: #372f46;
	border-radius: 4px;
	padding: 10px;
}
.page__pagination + .page__descr {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}
.page__pagination {
	background-color: #2d263c;
	padding: 25px 30px;
	margin-top: 10px;
}
.page__comments {
	margin-top: 60px;
}
.page__footer {
	margin-top: auto;
}

/* container */
.container {
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}

@media (min-width: 576px) {
	.container {
		max-width: 540px;
	}
}
@media (min-width: 768px) {
	.container {
		max-width: 720px;
	}
}
@media (min-width: 992px) {
	.container, .container-lg {
		max-width: 960px;
	}
	.container-lg {
		width: 100%;
		padding-right: 15px;
		padding-left: 15px;
		margin-right: auto;
		margin-left: auto;
	}
}
@media (min-width: 1200px) {
	.container, .container-lg {
		max-width: 1060px;
	}
}

/* grid */
.grid {
	display: grid;
}
.gap-18 {
	gap: 18px;
}
@media (min-width: 480px) {
	.xs\:grid-cols-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (min-width: 992px) {
	.lg\:grid-cols-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* drawer */
@media (max-width: 991.98px) {
	.drawer-scroll-lock {
		overflow: hidden;
	}
	.drawer {
		position: fixed;
		top: 0;
		left: 0;
		width: 300px;
		height: 100%;
		z-index: 101;
		
		transform: translateX(-100%);
		visibility: hidden;
		display: flex;
		flex-direction: column;
	}
	.drawer_nav {
		background-color: #2a2338;
	}
	.drawer_sidebar {
		background-color: #433b53;
	}
	.drawer._open {
		transform: none;
		visibility: visible;
	}
	.drawer._animating {
		transition: transform .5s, visibility .5s;
	}
	.drawer__header {
		flex-shrink: 0;
		padding: 10px 10px 10px 20px;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.drawer__logo {
		font-weight: 700;
		font-size: 18px;
		text-transform: uppercase;
		color: #000;
		letter-spacing: 0.1em;
	}
	.drawer__close {
		padding: 0;
		border: none;
		background-color: transparent;
		color: #fff;
		margin-left: auto;
		font-size: 24px;
	}
	.drawer__body {
		overflow-y: auto;
		padding: 15px;
	}
	.drawer__body--nav {
		padding: 15px 20px;
	}
	.drawer__body--departments {
		padding: 15px 0 20px;
	}
	.drawer__section:not(:last-child) {
		margin-bottom: 30px;
	}
	.drawer-scrim {
		visibility: hidden;
		opacity: 0;
		position: fixed;
		z-index: 100;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.5);
		transition: visibility .5s, opacity .5s;
	}
	.drawer._open + .drawer-scrim {
		visibility: visible;
		opacity: 1;
	}
}
@media (min-width: 992px) {
	.drawer__header,
	.drawer-scrim {
		display: none;
	}
}

/* icon */
.icon {
	display: block;
	width: 1em;
	height: 1em;
	stroke-width: 0;
	stroke: currentColor;
	fill: currentColor;
	flex-shrink: 0;
}
.icon-home {
	width: 1.25em;
}
.icon-map {
	width: 1.1875em;
}
.icon-piple {
	width: 0.77734375em;
}
.icon-weapon {
	width: 1.0498046875em;
}
.icon-burger {
	width: 1.078125em;
}
.icon-layout {
	width: 1.0029296875em;
}
.icon-ok {
	width: 0.6337890625em;
}
.icon-youtube2 {
	width: 1.2802734375em;
}
.icon-people {
	width: 1.44140625em;
}
.icon-favorite {
	width: 0.845703125em;
}

/* btn */
.btn {
	text-decoration: none;
	background: linear-gradient(272.76deg, #630BD0 0%, #8921FF 100%);
	border-radius: 8px;
	border: none;
	color: #fff;
	font-size: 14px;
	font-weight: 400;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 15px;
	transition: filter .2s;
}
@media (hover: hover) {
	.btn:hover {
		filter: brightness(125%);
	}
}

/* form fields */
.input,
.textarea {
	background: #2A2338;
	border-radius: 8px;
	border: none;
	outline: none;
	color: #fff;
	padding: 16px 20px;
}
.input::placeholder,
.textarea::placeholder {
	color: #685B81;
}
.input::-moz-placeholder,
.textarea::-moz-placeholder {
	opacity: 1;
}

/* select */
.select {
	max-width: 100%;
	background: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ctitle%3Earrow-down%3C/title%3E%3Cpath fill='%23fff' d='M3.5 6l4.5 4.5 4.5-4.5h-9z'%3E%3C/path%3E%3C/svg%3E%0A") right 11px center no-repeat,
	linear-gradient(to right, #3c324e, #3c324e calc(100% - 38px), #413654 calc(100% - 38px));
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	border: none;
	height: 36px;
	padding-left: 15px;
	padding-right: 43px;
	cursor: pointer;
	appearance: none;
	border-radius: 3px;
	min-width: 0;
}
.select option {
	color: #000;
	background-color: #fff;
	font-weight: 400;
}

/* header */
.header {
	background-color: #211a2e;
}
.header__inner {
	padding-top: 16px;
	padding-bottom: 16px;
	display: flex;
	align-items: center;
	column-gap: 40px;
}
.header__logo {
	flex-shrink: 0;
}
@media (max-width: 575.98px) {
	.header__slogan {
		display: none;
	}
}
@media (max-width: 991.98px) {
	.header {
		position: sticky;
		top: 0;
		z-index: 100;
	}
	.header__search {
		display: none;
	}
	.header__actions {
		margin-left: auto;
	}
}
@media (min-width: 992px) {
	.header__search {
		margin-left: auto;
		width: 250px;
	}
	.header__actions {
		display: none;
	}
}

/* header-nav */
@media (min-width: 992px) {
	.header-nav {
		background-color: #2a2338;
	}
}

/* header-extranav */
@media (min-width: 992px) {
	.header-extranav {
		overflow: hidden;
	}
	.header-extranav__inner {
		padding-top: 5px;
		padding-bottom: 5px;
		position: relative;
		background-color: #211a2e;
	}
	.header-extranav__inner::after {
		content: '';
		display: block;
		position: absolute;
		z-index: -1;
		left: -56px;
		right: -56px;
		top: 0;
		height: 100%;
		background-color: #211a2e;
		clip-path: polygon(0 0, 100% 0, calc(100% - 56px) 100%, 56px 100%);
	}
}

/* logo */
.logo {
	display: block;
}
.logo__img {
	display: block;
}

/* mobile-search */
@media (max-width: 991.98px) {
	.mobile-search {
		margin-bottom: 10px;
	}
}
@media (min-width: 992px) {
	.mobile-search {
		display: none;
	}
}

/* search */
.search {
	background-color: var(--search-bg, #383143);
	position: relative;
	border-radius: 3px;
	transition: background-color .2s, color .2s;
}
.search:focus-within {
	background-color: #fff;
	color: #000;
}
.search_theme_dark {
	--search-bg: #241d33;
}
.search__query {
	min-width: 0;
	background-color: transparent;
	color: inherit;
	border: none;
	padding: 0 43px 0 20px;
	display: block;
	width: 100%;
	height: 100%;
	min-height: 36px;
}
.search__query:focus {
	outline: none;
}
.search__btn {
	font-size: 16px;
	background-color: transparent;
	color: inherit;
	border: none;
	padding: 0;
	width: 33px;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
}

/* nav-toggle */
.nav-toggle {
	padding: 5px;
	font-size: 26px;
	background-color: transparent;
	display: block;
	border: none;
	color: inherit;
}
.nav-toggle > .icon {
	fill: url(#nav-gradient);
}

/* nav */
.nav__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.nav__link {
	text-decoration: none;
	color: #9f95b3;
	display: flex;
	align-items: center;
	padding-bottom: 14px;
}
.nav__link:hover {
	color: #fff;
}
.nav__icon {
	margin-right: 10px;
	font-size: 20px;
	color: #fff;
}
.nav__item_download .nav__icon {
	animation: .5s ease-out infinite jump;
}
.nav__link:hover .nav__icon {
	fill: url('#nav-gradient');
}
@media (max-width: 991.98px) {
	.nav__link {
		padding-top: 14px;
	}
	.nav__icon {
		width: 1em !important;
	}
}
@media (min-width: 992px) {
	.nav__list {
		display: flex;
		column-gap: 30px;
	}
	.nav__item_download {
		margin-left: auto;
	}
	.nav__link {
		border-top: 2px solid transparent;
		padding-top: 12px;
		line-height: 1.2;
		height: 100%;
	}
	.nav__link:hover {
		border-top-color: #b100ff;
	}
}

/* extra-nav */
.extra-nav__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.extra-nav__link {
	text-decoration: none;
	color: #9f95b3;
}
.extra-nav__link:hover {
	color: #fff;
}
@media (max-width: 991.98px) {
	.extra-nav__link {
		display: block;
		padding: 10px 0 10px 30px;
	}
}
@media (min-width: 992px) {
	.extra-nav__list {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}
	.extra-nav__link {
		display: flex;
		align-items: center;
		padding: 4px 25px;
	}
	.extra-nav__link::before {
		content: '';
		flex-shrink: 0;
		width: 6px;
		height: 6px;
		border-radius: 50%;
		border: 1px solid #fff;
		margin-right: 10px;
	}
	.extra-nav__link:hover::before {
		border-color: #b100ff;
	}
}

/* title */
.title {
	font-weight: 700;
}
.title_h1 {
	font-size: min(28px, calc(19.8182px + 0.681818vw));
	line-height: 1.2;
}
.title_h2 {
	font-size: 22px;
	line-height: 1.3;
}
.title_h3 {
	font-size: 20px;
}

/* main */
.main {
	padding-top: 25px;
	padding-bottom: 25px;
}
.main__section:not(:last-child) {
	margin-bottom: 45px;
}
@media (min-width: 992px) {
	.main_grid {
		display: grid;
		grid-template-columns: minmax(0, 285px) minmax(0, 1fr);
		column-gap: 10px;
	}
}

/* content */
.content__header {
	display: flex;
	gap: 15px 30px;
}
.content__header,
.content__title {
	margin-bottom: 20px;
}
.content__title {
	margin-top: 0;
	margin-bottom: 0;
	display: flex;
	align-items: center;
}
.content__title > .icon {
	font-size: 1.5em;
	margin-right: .3em;
	fill: url('#nav-gradient');
}
.content__tags-top {
	margin-top: 0;
	margin-bottom: 30px;
}
.content__tags-bottom {
	margin-top: 30px;
	margin-bottom: 0;
}
.content__filters {
	margin-bottom: 16px;
}
.content__filter:not(:last-child) {
	margin-bottom: 5px;
}
.content__avatars {
	margin-bottom: 45px;
}
@media (max-width: 575.98px) {
	.content__header {
		flex-direction: column;
		align-items: flex-start;
	}
}
@media (min-width: 576px) {
	.content__header {
		align-items: center;
		justify-content: space-between;
	}
}

/* breadcrumbs-wrapper */
.breadcrumbs-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 30px;
	margin-bottom: 24px;
}
.breadcrumbs-wrapper .breadcrumbs {
	margin-bottom: 0;
}
.breadcrumbs-wrapper__info {
	font-size: 15px;
	display: flex;
	align-items: center;
}
.breadcrumbs-wrapper__info > .icon {
	color: #76cb38;
	margin-right: .5em;
	font-size: 16px;
}

/* breadcrumbs */
.breadcrumbs {
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	color: #a79bbd;
}
.breadcrumbs__item:not(:last-child):after {
	content: '›';
	margin-left: .5em;
	margin-right: .6em;
}
.breadcrumbs__link {
	text-decoration: none;
	color: #fff;
}
.breadcrumbs__link:hover {
	text-decoration: underline;
}
@media (min-width: 992px) {
	.breadcrumbs-wrapper,
	.breadcrumbs {
		padding-top: 5px;
	}
	.breadcrumbs-wrapper .breadcrumbs {
		padding-top: 0;
	}
}

/* filter */
.filter {
	background-color: #241d32;
	border-radius: 3px;
	padding: 5px;
}
.filter__title {
	color: #6b5f7e;
}
@media (max-width: 767.98px) {
	.filter__title {
		margin-bottom: 5px;
		text-align: center;
	}
}
@media (min-width: 768px) {
	.filter {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.filter__title {
		margin-right: 30px;
		padding-left: 10px;
	}
}

/* filter-list  */
.filter-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.filter-list__input {
	display: none;
}
.filter-list__label {
	border-top: 1px solid transparent;
	background-color: #2a2338;
	padding: 9px 20px 10px;
	text-align: center;
	color: #fff;
	cursor: pointer;
	border-radius: 3px;
	font-weight: 700;
	font-size: 12px;
	display: flex;
	align-items: center;
	height: 100%;
	transition: filter .2s;
}
.filter-list__input:checked + .filter-list__label {
	background-color: #4f2781;
	border-color: #6f20b3;
}
@media (hover: hover) {
	.filter-list__label:hover {
		filter: brightness(125%);
	}
}
@media (max-width: 767.98px) {
	.filter-list__item:not(:last-child) {
		margin-bottom: 5px;
	}
}
@media (min-width: 768px) {
	.filter-list {
		display: flex;
	}
	.filter-list__item:not(:last-child) {
		margin-right: 5px;
	}
}

/* pagination */
.pagination {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 3px;
}
.pagination__current,
.pagination__link {
	padding: 7px 12px;
	display: block;
	border-radius: 3px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
}
.pagination__link {
	text-decoration: none;
	color: #605674;
	transition: color .2s, background-color .2s;
}
.pagination__link:hover,
.pagination__current {
	background-color: #272134;
	color: #fff;
}

/* sidebar */
.sidebar__widget:not(:last-child) {
	margin-bottom: 10px;
}

/* sidebar-btn */
.sidebar-btn {
	background-color: #372f46;
	color: #fff;
	border: none;
	display: block;
	width: 100%;
	font-size: 16px;
	font-weight: 700;
	border-radius: 4px;
	padding: 10px 30px;
	margin-bottom: 24px;
}
@media (hover: hover) {
	.sidebar-btn {
		transition: background-color .2s;
	}
	.sidebar-btn:hover {
		background-color: #2a2338;
	}
}
@media (min-width: 992px) {
	.sidebar-btn {
		display: none;
	}
}

/* widget */
.widget {
	border-radius: 8px;
	background-color: #292336;
	overflow: hidden;
}
.widget__title {
	font-size: 16px;
	font-weight: 700;
	margin-top: 0;
	margin-bottom: 0;
	display: flex;
	align-items: center;
	padding: 15px 30px;
}
.widget__title > .icon {
	font-size: 40px;
	margin-right: 15px;
	fill: url('#nav-gradient');
}
.widget__button {
	background-color: #2e273d;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #786e8b;
}

/* accordion */
.accordion__title {
	display: block;
	background:
	url('data:image/svg+xml,%3Csvg width="14" height="8" viewBox="0 0 14 8" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M1 1L7 7L13 1" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E') right 20px center no-repeat,
	linear-gradient(#372f46, #372f46) padding-box,
	linear-gradient(270deg, #BD54FF 0%, #650B9D 100%) border-box;
	padding: 7px 35px 7px 20px;
	font-size: 16px;
	font-weight: 700;
	border: 2px solid transparent;
	border-radius: 5px;
	cursor: pointer;
}
.accordion[open] .accordion__title {
	background:
	url('data:image/svg+xml,%3Csvg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M13 1L1 13M1 1L13 13" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E') right 20px center no-repeat,
	linear-gradient(#372f46, #372f46) padding-box,
	linear-gradient(270deg, #BD54FF 0%, #650B9D 100%) border-box;
}
.accordion__title::-webkit-details-marker {
	display: none;
}
.accordion__descr {
	background-color: #3E364E;
	margin-top: 8px;
	border-radius: 5px;
	padding: 10px 20px;
}

/* categories */
.categories {
	margin: 0;
	padding: 0;
	list-style: none;
}
.categories__link {
	display: flex;
	align-items: center;
	column-gap: 15px;
	color: #ddd;
	padding: 13px 30px;
	text-decoration: none;
}
.categories__link:hover {
	background-color: #372f46;
}
.categories__icon {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	background-image: url('/assets/img/categories.png');
}
.categories__img {
	max-width: 100px;
}
.categories__badge {
	flex-shrink: 0;
	margin-left: auto;
}

/* categories-scroller */
.categories-scroller {
	margin: 0;
	padding: 0 5px;
	list-style: none;
	display: flex;
	column-gap: 10px;
	overflow-x: auto;
	scrollbar-width: none;
	cursor: grab;
}
.categories-scroller::-webkit-scrollbar { 
	display: none;
}
.categories-scroller__item {
	width: 61px;
	flex-shrink: 0;
}
.categories-scroller__link {
	text-decoration: none;
	color: #6b5f7e;
	transition: color .2s;
	text-align: center;
	font-size: 12px;
	display: block;
	line-height: 1.2;
}
.categories-scroller__link:hover {
	color: #fff;
}
.categories-scroller__img-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 61px;
	border-radius: 3px;
	margin-bottom: 5px;
	background-color: #2a2338;
}
.categories-scroller__img {
	max-height: 100%;
	object-fit: contain;
	
}

/* about */
.about {
	background-color: #372f46;
	padding: 15px;
	border-radius: 4px;
}
.about__title {
	margin-top: 0;
}
.about__text::after {
	content: '';
	display: block;
	clear: both;
}
.about__descr {
	color: #a79bbd;
	margin-bottom: 24px;
}
.about__accordions {
	clear: both;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: 15px;
}
@media (max-width: 600px) {
	.about__accordions {
		grid-template-columns: minmax(0, 1fr);
	}
}
.about__features {
	margin: 0;
	padding-left: 20px;
}
.about__buttons {
	display: flex;
	column-gap: 16px;
	margin-bottom: 8px;
	position: relative;
}
.about__share {
	position: absolute;
	z-index: 10;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
}
.about__download-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none;
	background-color: #14C230;
	color: #fff;
	border-radius: 5px;
	font-size: 16px;
	letter-spacing: .5px;
	font-weight: 700;
	padding: 5px 10px;
	flex-grow: 1;
	line-height: 1.2;
	min-height: 56px;
}
.about__download-btn > .icon {
	margin-left: 10px;
}
.about__share-btn {
	min-height: 56px;
	color: #E5E5E5;
	border: 1px solid;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 5px 15px;
	background-color: transparent;
	font-size: 24px;
	border-radius: 5px;
	transition: color .2s, background-color .2s;
}
.about__links {
	display: flex;
	flex-wrap: wrap;
	column-gap: 12px;
    row-gap:8px;
	margin-bottom: 16px;
}
.dashed-link {
	color: #00A9E7;
	text-decoration: underline dashed;
	display: inline-flex;
	align-items: center;
}
.dashed-link:hover {
	text-decoration-style: solid;
}
.dashed-link__icon {
	width: 1.286em;
	flex-shrink: 0;
	margin-right: .5em;
}
.about-gallery {
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
.about-gallery__link {
	display: block;
	transition: box-shadow .2s;
	text-decoration: none;
	color: inherit;
}
.about-gallery__link:hover {
	box-shadow: 0 0 10px 0px rgba(229, 229, 229, 0.15);
}
.about-gallery__img {
	display: block;
	width: 100%;
}
.about-spec {
	margin: 0;
	padding: 0;
	list-style: none;
}
.about-spec__item:not(:last-child) {
	margin-bottom: 8px;
}
@media (hover: hover) {
	.about__download-btn:hover {
		background: linear-gradient(89.07deg, #63a86e 0.79%, #67b673 49.09%, #57a664 99.76%);
	}
	.about__share-btn:hover {
		background-color: #fff;
		color: #000;
	}
}
@media (min-width: 480px) {
	.about {
		padding: 30px;
	}
	.about__download {
		font-size: 20px;
	}
}
@media (max-width: 991.98px) {
	.about {
		display: flex;
		flex-direction: column;
	}
	.about-gallery {
		margin-top: 30px;
		margin-bottom: 0;
		order: 1;
	}
}
@media (min-width: 992px) {
	.about-gallery {
		margin-top: 0;
		margin: 0 0 15px 30px;
		width: 58.333333%;
		float: right;
	}
}

/* share */
.share {
	margin: 0;
	padding: 15px 20px;
	list-style: none;
	background-color: #3E364E;
	border-radius: 5px;
	box-shadow: 0 0 15px rgba(0, 0, 0, .2);
}
.share__item:not(:last-child) {
	margin-bottom: 8px;
}
.share__item_divider {
	border-bottom: 1px solid #606060;
	padding-bottom: 8px;
}
.share__link {
	display: flex;
	align-items: center;
	color: #fff;
	text-decoration: none;
	width: max-content;
	max-width: 100%;
}
.share__link:hover {
	text-decoration: underline;
}
.share__icon {
	font-size: 36px;
	margin-right: 8px;
}

/* section */
.section__header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 30px;
	margin-bottom: 24px;
}
.section__title {
	margin: 0;
}
.section__all {
	background-color: #372F46;
	border-radius: 20px;
	text-decoration: none;
	color: #fff;
	padding: 5px 20px;
	transition: background-color .2s;
	display: inline-flex;
	align-items: center;
}
.section__all:hover {
	background-color: #2a2338;
}
.section__all > .icon {
	font-size: 16px;
	margin-left: 15px;
}
.section__tags {
	margin-top: 0;
	margin-bottom: 30px;
}
.section__items-wrapper {
	background-color: #372F46;
	padding: 16px;
	border-radius: 3px;
}
.section__more {
	margin-top: 20px;
	border-radius: 8px;
	min-height: 50px;
}

/* post-section */
.post-section {
	--post-section-pd: 30px;
	padding: var(--post-section-pd);
	border-radius: 8px;
	background: #372F46;
}
.post-section_pd_sm {
	--post-section-pd: 10px;
}
.post-section__header {
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px 30px;
}
.post-section__title {
	margin: 0;
	display: flex;
	align-items: center;
}
.post-section__title-icon {
	margin-right: 12px;
	font-size: 26px;
	fill: url(#chat-gradient);
}
.post-section__meta {
	font-weight: 700;
	display: flex;
	align-items: center;
}
.post-section__meta-icon {
	font-size: 20px;
	margin-right: 12px;
	fill: url(#chat-gradient);
}
.post-section__more {
	margin-top: 20px;
}
.post-section b {
	color: #7671E2;
	font-weight: bold;
}

/* post-specs */
.post-specs {
	display: grid;
	gap: 30px;
	grid-template-columns: minmax(0, 1fr);
}
.post-specs__title {
	margin-top: 0;
	margin-bottom: 1em;
}

/* post */
.post__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 30px;
	margin-bottom: 20px;
}
.post__img {
	border-radius: 8px;
	justify-self: center;
}
.post__features {
	margin-top: 13px;
	margin-bottom: 15px;
}
.post__virus {
	width: max-content;
	max-width: 100%;
	margin-top: 14px;
	margin-left: auto;
	margin-right: auto;
}
.post__virus:last-child {
	margin-bottom: calc((var(--post-section-pd) - 14px) * -1);
}
.post__gallery {
	background-color: #2E273E;
	border-radius: 8px;
	margin: 20px calc(var(--post-section-pd) * -1) 30px;
	padding: 17px 30px 30px;
}
.post__gallery-title {
	margin-top: 0;
	margin-bottom: 17px;
}
.post__descr {
	margin-bottom: 20px;
}
.post__share {
	margin-bottom: 20px;
}
.post__specs {
	margin-bottom: 40px;
}
@media (min-width: 768px) {
	.post__row {
		grid-template-columns: minmax(0, 338px) minmax(0, 1fr);
	}
}

/* versions */
.versions {
	margin: 0;
	padding: 0;
	list-style: none;
}
.versions__item {
	display: flex;
	align-items: center;
	gap: 10px 20px;
}
.versions__item:not(:last-child) {
	margin-bottom: 15px;
}
.versions__img {
	flex-shrink: 0;
	object-fit: contain;
}
.versions__link {
	text-decoration: none;
	color: #fff;
	transition: color .2s;
}
.versions__link:hover {
	color: #b100ff;
}
.versions__meta {
	width: 100%;
	display: flex;
	column-gap: 20px;
	align-items: center;
	justify-content: space-between;
}
.versions__language,
.versions__format,
.versions__size {
	color: #a79bbd;
	font-size: 12px;
	width: 15%;
}
.versions__download {
	border-radius: 3px;
	background-image: linear-gradient(to top, #5e8643 0%, #b6eb93 100%);
	color: #17280b;
	font-size: 11px;
	padding: 5px 10px;
	text-decoration: none;
	text-transform: uppercase;
}
.versions__download:hover {
	background-image: linear-gradient(to top, #5e8643 0%, #17280b 100%);
	color: #b6eb93;
}
@media (max-width: 575.98px) {
	.versions__item {
		flex-wrap: wrap;
	}
	.versions__title {
		width: calc(100% - 18px - 20px);
	}
}
@media (min-width: 576px) {
	.versions__title {
		width: 45%;
	}
	.versions__meta {
		display: contents;
	}
}

/* list */
.list {
	margin: 0;
	padding-left: 0;
	list-style: none;
}
.list_marked .list__item {
	padding-left: 21px;
	position: relative;
}
.list_marked .list__item::before {
	content: '';
	background-color: #6A65DC;
	width: 10px;
	height: 2px;
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -1px;
}
.list__item:not(:last-child) {
	margin-bottom: 5px;
}
.list__title {
	color: #a79bbd;
}

/* gallery */
.gallery {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 7px;
}
.gallery__link {
	display: block;
	text-decoration: none;
	border-radius: 8px;
}
.gallery__img {
	display: block;
	width: 100%;
	border-radius: inherit;
}

/* features */
.features {
	padding: 0;
	list-style: none;
}
.features__item:not(:last-child) {
	margin-bottom: 8px;
}
.features__label {
	color: #a79bbd;
}
.features a {
	color: #7671E2;
	text-decoration: none;
}
.features a:hover {
	text-decoration: underline;
}

/* rating */
.rating {
	border: 1px solid #3E354E;
	border-radius: 8px;
	padding: 10px 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 5px 30px;
}
.rating__text {
	color: #a79bbd;
	font-size: 12px;
}
.rating__accented {
	color: #BBB2CB;
}
.rating__btns {
	display: flex;
	flex-direction: row-reverse;
	position: relative;
	height: 15px;
	width: 75px;
	flex-shrink: 0;
}
.rating_rated .rating__btns {
	pointer-events: none;
}
.rating__current {
	position: absolute;
	top: 0;
	height: 100%;
	left: 0;
	background-color: #f00;
	width: calc(var(--rating) * 100% / 5);
	background: url(/assets/img/rating.png) left bottom / 15px repeat-x;
	pointer-events: none;
}
.rating__btn {
	width: 15px;
	height: 15px;
	flex-shrink: 0;
	padding: 0;
	border: none;
	background: url(/assets/img/rating.png) center top / 15px no-repeat;
}
@media (hover: hover) {
	.rating__btn:hover,
	.rating__btn:hover ~ .rating__btn {
		background-position: center;
	}
	.rating__btn:hover ~ .rating__current {
		display: none;
	}
}

/* virus-info */
.virus-info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	color: #6A65DC;
	border: 1px solid #453C56;
	border-radius: 8px;
	line-height: 1.2;
}
.virus-info__img {
	flex-shrink: 0;
}
.virus-info__text {
	padding: 5px 14px;
}

/* share-widget */
.share-widget {
	border: 1px solid #3E354E;
	border-radius: 8px;
	padding: 12px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 5px 30px;
}

/* download */
.download {
	background-color: #2E273E;
	border-radius: 8px;
	margin-left: calc(var(--post-section-pd) * -1);
	margin-right: calc(var(--post-section-pd) * -1);
	padding: 17px 10px 22px;
}
.download__title {
	margin-top: 0;
	text-align: center;
	margin-bottom: 1em;
}
.download__btns {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: 10px;
}
.download__btn {
	text-align: left;
	padding: 10px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	position: relative;
	border-radius: 8px;
	border: 1px solid #625374;
	text-decoration: none;
	color: #eee5fa;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.3;
	background: #261f33;
	transition: background-color .2s, border-color .2s;
	min-height: 58px;
}
.download__icon-stack > img,.download__icon-stack > svg:not(.download__speed-icon) {
    width:24px;
    height:24px;
    object-fit:contain;
    flex-shrink:0;
}
.download__icon-stack > .icon {
    color:#d6b9ff;
}
.download__icon-stack {
    display:flex;
    flex-direction:column;
    align-items:center;
    flex:0 0 auto;
    gap:1px;
}
.download__label {
    display:flex;
    flex-direction:column;
    gap:3px;
}
.download__caption {
    white-space:nowrap;
}
.download__action {
    color:#d2c5e0;
    font-size:.86em;
}
.download__method {
    color:#eee5fa;
    font-weight:500;
}
.download__file-size {
    color:#c7b9db;
    font-size:10px;
    line-height:1.2;
    white-space:nowrap;
    font-weight:400;
}
@media (max-width: 540px) {
    .download__btn {
        padding:10px 8px;
        font-size:13px;
    }
}
@media (max-width:379px) {
    .download__btns { grid-template-columns:1fr; }
}
@media (min-width: 768px) {
	.download__btns {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* related-list */
.related-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 7px;
	grid-template-columns: repeat(auto-fill, minmax(165px, 1fr));
}
@media (min-width: 992px) {
	.related-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* related */
.related__link {
	text-decoration: none;
	color: #fff;
	display: block;
	background-color: #2A2338;
	border-radius: 8px;
	height: 100%;
	transition: background-color .2s;
}
.related__link:hover {
	background-color: #211a2e;
}
.related__img {
	border-top-left-radius: inherit;
	border-top-right-radius: inherit;
	display: block;
	width: 100%;
}
.related__title {
	padding: 13px 15px;
	font-weight: 700;
}

/* tags */
.tags {
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.tags_theme_dark {
	--tags-bg: #261f33;
	--tags-bg-hover: #261f33;
	--tags-color-hover: #5f5bbc;
}
.tags_theme_muted {
	--tags-bg: #372f46;
	--tags-bg-hover: #372f46;
	--tags-color: #a79bbd;
	--tags-color-hover: #5f5bbc;
}
.tags__link {
	background-color: var(--tags-bg, #372F46);
	border-radius: 20px;
	text-decoration: none;
	color: var(--tags-color, #fff);
	padding: 5px 20px;
	transition: background-color .2s, color .2s;
	display: inline-flex;
	align-items: center;
}
.tags__link:hover {
	background-color: var(--tags-bg-hover, #2a2338);
	color: var(--tags-color-hover, #fff);
}
.tags__icon {
	flex-shrink: 0;
	margin-right: 15px;
}

/* announces */
.announces {
	margin: 0;
	padding: 0;
	list-style: none;
}
.announces__item:not(:last-child) {
	margin-bottom: 10px;
}

/* announce */
.announce {
	padding: 20px;
	border-radius: 4px;
	background-color: #372F46;
	color: #a79bbd;
	display: grid;
	grid-template-areas:
	'title'
	'img'
	'descr'
	'thumbs';
	gap: 15px 30px;
}
.announce__img-wrapper {
	position: relative;
	grid-area: img;
	max-width: 444px;
	margin-left: auto;
	margin-right: auto;
}
.announce__img-link {
	display: block;
	opacity: .7;
	transition: opacity .2s;
	text-decoration: none;
	color: inherit;
}
.announce__img-link:hover {
	opacity: 1;
}
.announce__img {
	display: block;
	width: 100%;
	border-radius: 4px;
}
.announce__download {
	position: absolute;
	text-decoration: none;
	color: #fff;
	font-weight: 700;
	padding: 11px 15px;
	text-align: center;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	border-top: 1px solid #d171f9;
	background-image: linear-gradient(to bottom, #b92ff9, rgba(153, 49, 249, .7));
	border-radius: 3px;
	width: min(180px, 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}
.announce__download:hover {
	background-image: linear-gradient(to bottom, #c822fb, #b122fb);
}
.announce__download > .icon {
	margin-right: 5px;
	font-size: 16px;
}
.announce__title-wrapper {
	grid-area: title;
}
.announce__title {
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	color: #fff;
	transition: color .2s;
}
.announce__title:hover {
	color: #b100ff;
}
.announce__descr {
	grid-area: descr;
}
.announce__thumbs {
	grid-area: thumbs;
	margin: 0;
}
@media (min-width: 768px) {
	.announce {
		grid-template-areas:
		'img title'
		'img descr'
		'img thumbs';
		grid-template-rows: auto auto 1fr;
		grid-template-columns: 273px minmax(0, 1fr);
		align-items: start;
	}
	.announce__img-wrapper {
		width: 100%;
	}
}
@media (min-width: 992px) {
	.announce {
		grid-template-areas:
		'title title'
		'img descr'
		'img thumbs';
		grid-template-columns: 216px minmax(0, 1fr);
	}
}
@media (min-width: 1200px) {
	.announce {
		grid-template-areas:
		'img title'
		'img descr'
		'img thumbs';
		grid-template-columns: 33.3333333333% minmax(0, 1fr);
	}
}

/* announce-thumbs */
.announce-thumbs {
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 4px;
}
.announce-thumbs__link {
	display: block;
	opacity: .7;
	transition: opacity .2s;
	cursor: zoom-in;
	text-decoration: none;
	color: inherit;
}
.announce-thumbs__link:hover {
	opacity: 1;
}
.announce-thumbs__img {
	display: block;
	width: 100%;
}

/* qa-list */
.qa-list {
	margin: 0 -5px;
	padding: 0;
	list-style: none;
}
.qa-list__item:not(:last-child) {
	border-bottom: 1px solid #3e364e;
}
.qa-list__link {
	display: block;
	text-decoration: none;
	color: #ccc;
	transition: color .2s;
	padding: 8px 5px;
}
.qa-list__link:hover {
	background-color: #2e273d;
}
.qa-list__icon {
	flex-shrink: 0;
	width: 16px;
	margin-right: 16px;
}
.qa-list__title-wrapper {
	display: flex;
	align-items: center;
}
.qa-list__meta {
	margin-left: auto;
}
.qa-list__state {
	font-style: italic;
	margin-right: 1ch;
}
.qa-list__state._success {
	color: #92b479;
}
.comment_theme_accented .comment__date { color:#d2c8e3; }
.qa-list__state._pending {
	color: #b68403;
}
.qa-list__count {
	color: #7e7192;
	font-size: 12px;
}
@media (min-width: 576px) {
	.qa-list__link {
		display: flex;
		align-items: center;
		column-gap: 30px;
	}
}

/* faq-section */
.faq-section {
	border-radius: 3px;
	background-color: #372F45;
	padding-top: 25px;
}
.faq-section_theme_accented {
	box-shadow: 0 0 0 2px #b100ff, 0 0 15px #b100ff;
}
.faq-section + .faq-section {
	margin-top: 15px;
}
.faq-section__header {
	padding-left: 25px;
	padding-right: 25px;
	margin-bottom: 20px;
}
.faq-section__title-legend {
	color: #807694;
	display: inline;
	margin-right: 1ch;
}
.faq-section__title {
	margin: 0;
	display: inline;
}
.faq-section__body {
	padding: 0 25px 25px;
}
.faq-section__footer {
	background-color: #2a2338;
	padding: 12px 25px;
	border-bottom-left-radius: inherit;
	border-bottom-right-radius: inherit;
	color: #a79bbd;
	font-size: 13px;
}
@media (min-width: 480px) {
	.faq-section__footer {
		display: flex;
		column-gap: 30px;
		justify-content: space-between;
		align-items: center;
	}
}

/* avatars-info */
.avatars-info {
	border-radius: 5px;
	background-color: #2a2338;
	padding: 30px;
}
.avatars-info__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 30px;
	justify-items: center;
}
.avatars-info__descr strong {
	color: #fff;
}
.avatars-info__tags {
	margin-top: 15px;
	margin-bottom: 0;
}
@media (min-width: 992px) {
	.avatars-info__row {
		grid-template-columns: auto minmax(0, 1fr);
		align-items: start;
	}
}

/* avatar-randomizer */
.avatar-randomizer {
	display: flex;
	column-gap: 25px;
	align-items: flex-end;
}
.avatar-randomizer__box {
	border: 1px solid #3e364e;
	background-color: #261f33;
	border-radius: 3px;
	position: relative;
	margin-bottom: 15px;
	overflow: hidden;
	background-size: cover;
}
.avatar-randomizer__box::before {
	content: '';
	display: block;
	padding-top: 100%;
}
.avatar-randomizer__box_size_lg {
	width: 186px;
}
.avatar-randomizer__box_size_md {
	width: 66px;
}
.avatar-randomizer__box_size_sm {
	width: 34px;
}
.avatar-randomizer__btns {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 140%;
	height: 140%;
	background-color: rgba(21, 18, 28, .72);
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	padding: 20%;
	transform: translate(-50%, -50%) scale(var(--avatar-randomizer-btns-scale, 1));
}
.avatar-randomizer__btn {
	border: none;
	background-color: transparent;
	padding: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 12px;
	z-index: 1;
	width: 100%;
	height: 100%;
	text-decoration: none;
}
.avatar-randomizer__refresh {
	--avatar-randomizer-btn-color: #4f2781;
}
.avatar-randomizer__download {
	--avatar-randomizer-btn-color: #569726;
}
.avatar-randomizer__box:not(._done) .avatar-randomizer__download {
	display: none;
}
.avatar-randomizer__icon {
	width: 36px;
	height: 36px;
	flex-shrink: 0;
	margin-bottom: 5px;
	border-radius: 50%;
	background-color: #3f3651;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	transition: background-color .2s;
}
.avatar-randomizer__size {
	color: #a79bbd;
	white-space: nowrap;
}
@media (max-width: 419.98px) {
	.avatar-randomizer__item:not(:first-child) {
		display: none;
	}
}
@media (hover: hover) {
	.avatar-randomizer__btns {
		--avatar-randomizer-btns-scale: 0;
		visibility: hidden;
		transition: all .45s;
	}
	.avatar-randomizer__box:hover .avatar-randomizer__btns {
		visibility: visible;
		--avatar-randomizer-btns-scale: 1;
	}
	.avatar-randomizer__btn:hover .avatar-randomizer__icon {
		background-color: var(--avatar-randomizer-btn-color);
	}
}

/* avatars */
.avatars {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: min(16px, calc(5.09091px + 0.909091vw));
}
.avatars__link {
	display: block;
	height: 100%;
	text-decoration: none;
	position: relative;
	border-radius: 3px;
	overflow: hidden;
	font-size: 12px;
	color: #fff;
}
.avatars__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.avatars__overlay {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 140%;
	height: 140%;
	background-color: rgba(21, 18, 28, .72);
	border-radius: 50%;
	visibility: hidden;
	transform: translate(-50%, -50%) scale(0);
	transition: all .45s;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.avatars__icon {
	background-color: #569726;
	border-radius: 50%;
	width: 36px;
	height: 36px;
	margin-bottom: 5px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
}
@media (hover: hover) {
	.avatars__link:hover .avatars__overlay {
		visibility: visible;
		transform: translate(-50%, -50%) scale(1);
	}
}
@media (min-width: 420px) {
	.avatars {
		grid-template-columns: repeat(auto-fill, minmax(134px, 1fr));
	}
}

/* servers */
.servers {
	border-radius: 8px;
	background-color: #372f46;
	padding: 10px;
}
.servers__table a {
	color: #5f5bbc;
	transition: color .2s;
}
.servers__table a:hover {
	text-decoration: none;
}
.servers__table,
.servers__header,
.servers__tr,
.servers__col,
.servers__body {
	display: block;
}
.servers__header-tr {
	display: none;
}
.servers__tr {
	border-radius: 8px;
	background-color: #2e273e;
	transition: background-color .2s;
}
.servers__tr:hover {
	background-color: #5d5271;
}
.servers__tr:hover a {
	color: #09e;
}
.servers__header-row {
	margin-bottom: 4px;
}
.servers__tr:not(:last-child) {
	margin-bottom: 4px;
}
.servers__col {
	padding: 3px 12px;
	font-size: 13px;
}
.servers__header-tr .servers__col {
	text-align: left;
	font-weight: 700;
}
.servers__flag {
	height: 12px;
	margin-right: 5px;
	vertical-align: middle;
}
.servers__steam-link {
	margin-left: 5px;
}
.servers__steam-img {
	vertical-align: middle;
}
.servers__more {
	margin-top: 4px;
}
@media (max-width: 767.98px) {
	.servers__tr {
		padding-top: 5px;
		padding-bottom: 5px;
	}
}
@media (min-width: 768px) {
	.servers__header-tr,
	.servers__tr {
		display: flex;
	}
	.servers__col {
		padding-top: 7px;
		padding-bottom: 7px;
	}
	.servers__col:nth-child(1) {
		width: 35%;
	}
	.servers__col:nth-child(2) {
		width: 20%;
	}
	.servers__col:nth-child(3) {
		width: 23%;
	}
	.servers__col:nth-child(4) {
		width: 7%;
	}
	.servers__col:nth-child(5) {
		width: 15%;
	}
}

/* servers-filters */
.servers-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

/* checkbox-group */
.checkbox-group {
	display: flex;
	align-items: center;
}
.checkbox-group__control {
	flex-shrink: 0;
	margin-right: 10px;
}
.checkbox-group__label {
	color: #9f95b3;
	transition: color .2s;
	font-size: 16px;
}
.checkbox-group__control:not([disabled]) + .checkbox-group__label {
	cursor: pointer;
}
@media (hover: hover) {
	.checkbox-group__control:hover + .checkbox-group__label,
	.checkbox-group__label:hover {
		color: #fff;
	}
}

/* checkbox */
.checkbox {
	appearance: none;
	width: 25px;
	height: 25px;
	background-color: #372f46;
	border-radius: 5px;
	transition: background-color .2s;
	position: relative;
}
.checkbox:checked {
	background-color: #5f5bbc;
}
.checkbox:not([disabled]) {
	cursor: pointer;
}
.checkbox::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 5px;
	height: 10px;
	border: solid white;
	border-width: 0 2px 2px 0;
	transform: translate(-50%, -50%) rotate(45deg);
	opacity: 0;
	transition: opacity .2s;
}
.checkbox:checked::after {
	opacity: 1;
}

/* select-group */
.select-group {
	background-color: #2e273e;
	border-radius: 8px;
	padding-left: 19px;
	display: flex;
	height: 44px;
}
select.select-group__control {
	display: none;
}
.select-group__label {
	margin-right: 14px;
	align-self: center;
}
.select-group .select2-container {
	width: 133px !important;
}
.select2-container--select-group-theme .select2-selection--single .select2-selection__rendered {
	background-color: #2a2338;
	border-radius: 8px;
	height: 44px;
	line-height: 44px;
	padding-left: 25px;
	padding-right: 40px;
}
.select2-container--select-group-theme .select2-selection__arrow {
	position: absolute;
	top: 0;
	right: 0;
	width: 40px;
	height: 100%;
}
.select2-container--select-group-theme .select2-selection--single .select2-selection__arrow b {
	border-color: #888 transparent transparent transparent;
	border-style: solid;
	border-width: 5px 4px 0 4px;
	height: 0;
	left: 50%;
	margin-left: -4px;
	margin-top: -2px;
	position: absolute;
	top: 50%;
	width: 0;
}
.select2-container--select-group-theme.select2-container--open .select2-selection--single .select2-selection__arrow b {
	border-color: transparent transparent #888 transparent;
	border-width: 0 4px 5px 4px;
}
.select2-container--select-group-theme .select2-dropdown {
	background-color: #2e273e;
	border-color: transparent;
}
.select2-container--select-group-theme .select2-results > .select2-results__options {
	max-height: 200px;
	overflow-y: auto;
}
.select2-container--select-group-theme .select2-results__options{
	color: #a79bbd;
	overflow-x: hidden;
}
.select2-container--select-group-theme .select2-results__option--highlighted{
	background-color: transparent;
	color: white;
}
.select2-container--select-group-theme .select2-results__options::-webkit-scrollbar {
	width: 8px;
	padding-right: 10px
}

.select2-container--select-group-theme .select2-results__options::-webkit-scrollbar-track {
	background-color:  #372f46;
	border-radius: 5px;
}

.select2-container--select-group-theme .select2-results__options::-webkit-scrollbar-thumb {
	border-radius: 5px;
	background-color: #211a2e;
}
.select2-container--select-group-theme  .select2-search--dropdown{
	padding: 5px 10px;
	position: relative;
}
.select2-container--select-group-theme  .select2-search--dropdown input{
	position: relative;
	display: block;
	border-radius: 5px;
	margin: 0 !important;
	outline: none;
	border-color: transparent;
	background-color: #211a2e;
	color: white;
}
.select2-container--select-group-theme  .select2-search--dropdown input::placeholder{
	color: #a79bbd;
}
.select2-container--select-group-theme  .select2-search--dropdown::after{
	content: '';
	display: block;
	position: absolute;
	cursor: pointer;
	top: 50%;
	right: 15px;
	width: 15px;
	height: 15px;
	z-index: 3;
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8' standalone='no'%3F%3E%3Csvg xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:cc='http://creativecommons.org/ns%23' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23' xmlns:svg='http://www.w3.org/2000/svg' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' height='14' width='14' id='svg10' version='1.1'%3E%3Cmetadata id='metadata16'%3E%3Crdf:RDF%3E%3Ccc:Work rdf:about=''%3E%3Cdc:format%3Eimage/svg+xml%3C/dc:format%3E%3Cdc:type rdf:resource='http://purl.org/dc/dcmitype/StillImage' /%3E%3Cdc:title%3E%3C/dc:title%3E%3C/cc:Work%3E%3C/rdf:RDF%3E%3C/metadata%3E%3Cdefs id='defs14' /%3E%3Cpath id='path20' d='m 18.646846,20.825471 c -2.327765,-2.326838 -3.58942,-2.75 -8.199114,-2.75 -6.5978522,0 -9.391697,-2.241325 -10.18724582,-8.1725847 C -0.17612844,6.6476818 0.1803586,5.4115139 2.2493759,3.006138 4.3681169,0.5429547 5.5156656,0.0754717 9.4433962,0.0754717 c 3.9290828,0 5.0750608,0.4672292 7.1972328,2.9344009 2.173266,2.5265729 2.438148,3.5612372 1.905872,7.4446084 -0.561739,4.098333 -0.333275,4.80417 2.50177,7.729194 1.715979,1.770441 2.817817,3.707867 2.448527,4.30539 -1.009591,1.633552 -1.834591,1.350567 -4.849952,-1.663594 z m -4.70345,-7.25 c 1.1,-1.1 2,-3.10747 2,-4.4610447 0,-2.9589972 -3.55863,-6.5389546 -6.4999998,-6.5389546 -2.9413698,0 -6.5,3.5799574 -6.5,6.5389546 0,3.1750457 3.3058106,6.4610447 6.5,6.4610447 1.3749998,0 3.3999998,-0.9 4.4999998,-2 z' style='fill:%237f7298' /%3E%3C/svg%3E%0A");
	background-size: cover;
	transform: translateY(-50%);
}
.select2-container--select-group-theme .select2-selection--single .select2-selection__placeholder{
	color: #fff;
}

/* posts-preloader */
.posts-preloader {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	padding: 20px 0 10px;
}
.posts-preloader__animation {
	width: 56px;
	height: 56px;
	position: relative;
	flex-shrink: 0;
	margin-right: 20px;
}
.posts-preloader__chunk {
	border: 8px solid #f5f5f5;
	position: absolute;
	display: block;
	height: 24px;
}
.posts-preloader__chunk:nth-child(1) {
	width: 56px;
	margin-top: 32px;
	margin-left: 0;
	animation: anime1 4s 0s forwards ease-in-out infinite;
}
.posts-preloader__chunk:nth-child(2) {
	width: 24px;
	margin-top: 0;
	margin-left: 0;
	animation: anime2 4s 0s forwards ease-in-out infinite;
}
.posts-preloader__chunk:nth-child(3) {
	width: 24px;
	margin-top: 0;
	margin-left: 32px;
	animation: anime3 4s 0s forwards ease-in-out infinite;
}
@keyframes anime1 {
	0% {
		width: 56px;
		height: 24px;
		margin-top: 32px;
		margin-left:0;
	}
	
	12.5% {
		width: 24px;
		height: 24px;
		margin-top: 32px;
		margin-left:0;
	}
	
	25% {
		width: 24px;
		height: 24px;
		margin-top: 32px;
		margin-left:0;
	}
	
	37.5% {
		width: 24px;
		height: 24px;
		margin-top: 32px;
		margin-left:0;
	}
	
	50% {
		width: 24px;
		height: 24px;
		margin-top: 32px;
		margin-left:0;
	}
	
	62.5% {
		width: 24px;
		height: 24px;
		margin-top: 32px;
		margin-left:0;
	}
	
	75% {
		width: 24px;
		height: 56px;
		margin-top:0;
		margin-left:0;
	}
	
	87.5% {
		width: 24px;
		height: 24px;
		margin-top:0;
		margin-left:0;
	}
	
	100% {
		width: 24px;
		height: 24px;
		margin-top:0;
		margin-left:0;
	}
}
@keyframes anime2 {
	0% {
		width: 24px;
		height: 24px;
		margin-top:0;
		margin-left:0;
	}
	
	12.5% {
		width: 24px;
		height: 24px;
		margin-top:0;
		margin-left:0;
	}
	
	25% {
		width: 24px;
		height: 24px;
		margin-top:0;
		margin-left:0;
	}
	
	37.5% {
		width: 24px;
		height: 24px;
		margin-top:0;
		margin-left:0;
	}
	
	50% {
		width: 56px;
		height: 24px;
		margin-top:0;
		margin-left:0;
	}
	
	62.5% {
		width: 24px;
		height: 24px;
		margin-top:0;
		margin-left: 32px;
	}
	
	75% {
		width: 24px;
		height: 24px;
		margin-top:0;
		margin-left: 32px;
	}
	
	87.5% {
		width: 24px;
		height: 24px;
		margin-top:0;
		margin-left: 32px;
	}
	
	100% {
		width: 24px;
		height: 24px;
		margin-top:0;
		margin-left: 32px;
	}
}
@keyframes anime3 {
	0% {
		width: 24px;
		height: 24px;
		margin-top:0;
		margin-left: 32px;
	}
	
	12.5% {
		width: 24px;
		height: 24px;
		margin-top:0;
		margin-left: 32px;
	}
	
	25% {
		width: 24px;
		height: 56px;
		margin-top:0;
		margin-left: 32px;
	}
	
	37.5% {
		width: 24px;
		height: 24px;
		margin-top: 32px;
		margin-left: 32px;
	}
	
	50% {
		width: 24px;
		height: 24px;
		margin-top: 32px;
		margin-left: 32px;
	}
	
	62.5% {
		width: 24px;
		height: 24px;
		margin-top: 32px;
		margin-left: 32px;
	}
	
	75% {
		width: 24px;
		height: 24px;
		margin-top: 32px;
		margin-left: 32px;
	}
	
	87.5% {
		width: 24px;
		height: 24px;
		margin-top: 32px;
		margin-left: 32px;
	}
	
	100% {
		width: 56px;
		height: 24px;
		margin-top: 32px;
		margin-left:0;
	}
}

/* tiles */
.tiles {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* tile */
.tile {
	color: #fff;
	text-align: center;
	padding-bottom: 22px;
}
.tile__inner {
	border-radius: 4px;
	background-color: #2A2338;
	display: flex;
	flex-direction: column;
}
.tile__images {
	display: block;
	text-decoration: none;
	color: inherit;
	position: relative;
}
.tile__badge {
	position: absolute;
	z-index: 2;
	top: 8px;
	right: 8px;
	background: rgba(0, 0, 0, 0.5);
	padding: 5px 16px;
	border-radius: 3px;
	pointer-events: none;
	display: flex;
	align-items: center;
	text-align: left;
	line-height: 1.2;
	max-width: calc(100% - 16px);
	min-height: 40px;
}
.tile__badge > .icon {
	color: #76cb38;
	font-size: 16px;
	margin-right: 5px;
}
.tile__button {
	padding-top: 75%;
	flex-grow: 1;
	position: relative;
	z-index: 1;
}
.tile__button::after {
	content: "";
	position: absolute;
	bottom: 5px;
	left: 5px;
	right: 5px;
	height: 6px;
	background-color: rgba(0,0,0,0.5);
}
.tile__img {
	display: block;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	width: 100%;
}
.tile__title {
	text-decoration: none;
	display: block;
	padding: 15px;
	font-size: 16px;
	font-weight: 700;
	color: inherit
}
.tile__download {
	border-top: 1px solid #a947d4;
	padding-bottom: 1px;
	background-image: linear-gradient(to bottom, #9409d7, #8207d7, #740ad7);
	border-radius: 3px;
	color: inherit;
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-left: 15px;
	padding-right: 15px;
	margin: 0 auto -22px;
	width: min(180px, 100%);
}
.tile__download:hover {
	background: #aa05e3;
}
.tile__download > .icon {
	font-size: 16px;
	margin-right: 5px;
}
@media (hover: hover) {
	.tile__button:hover::after {
		background-color: #b100ff;
	}
}

/* tile-gallery */
.tile-gallery {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	z-index: 1;
}
.tile-gallery__item {
	flex-grow: 1;
	padding-top: 75%;
}
.tile-gallery__img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}
.tile-gallery__item:not(:first-child) .tile-gallery__img {
	display: none;
}
@media (hover: hover) {
	.tile-gallery:hover .tile-gallery__item {
		box-shadow: inset 0 -6px var(--box-shadow-color, rgba(0,0,0,0.5));
	}
	.tile-gallery__item:hover .tile-gallery__img {
		display: block;
	}
	.tile-gallery__item:hover {
		--box-shadow-color: #b100ff;
	}
}

/* nicknames-info */
.nicknames-info {
	border-radius: 5px;
	background-color: #2a2338;
	padding: 30px;
}
.nicknames-info__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 30px;
}
.nicknames-info__descr strong {
	color: #fff;
}
.nicknames-info__sort {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 15px;
	margin-bottom: 15px;
}
.nicknames-info__label {
	color: #6b5f7e;
	margin-bottom: 3px;
	display: inline-block;
}
.nicknames-info__tags {
	margin-top: 15px;
	margin-bottom: 0;
}
@media (min-width: 992px) {
	.nicknames-info__row {
		grid-template-columns: minmax(0, 1fr) 33.3333333333%;
		align-items: start;
	}
}

/* configs */
.configs {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(275px, 1fr));
	gap: 30px;
}

/* config */
.config {
	display: flex;
	flex-direction: column;
}
.config__header {
	background-color: #2e273d;
	line-height: 1.2;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	padding: 18px 20px;
	display: flex;
	align-items: center;
}
.config__header-icon {
	font-size: 30px;
	margin-right: 15px;
	fill: url('#nav-gradient');
}
.config__body {
	padding: 20px;
	background-color: #241d32;
	flex-grow: 1;
	display: grid;
	align-content: start;
	grid-template-areas: 'stack';
}
.config__list,
.config__logo {
	grid-area: stack;
}
.config__logo {
	pointer-events: none;
	justify-self: end;
}
.config__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.config__item:not(:last-child) {
	margin-bottom: 5px;
}
.config__link {
	color: #a79bbd;
	text-decoration: none;
	font-size: 16px;
}
.config__link:hover {
	color: #ffc601;
}

/* nicknames */
.nicknames {
	margin: 0 0 -8px -5px;
	padding: 0;
	list-style: none;
}
.nicknames__item {
	display: inline-block;
	margin-left: 5px;
	margin-bottom: 8px;
}
.nicknames__btn {
	display: block;
	color: #fff;
	padding: 7px 20px;
	border-radius: 16px;
	border: 1px solid var(--nickname-border-color, transparent);
	background-color: var(--nickname-bg, #514863);
	transition: color .2s;
}
.nicknames__btn_theme_hot {
	--nickname-bg: #3d3c65;
	--nickname-border-color: #3e4270;
	--nickname-color-hover: #415796;
}
.nicknames__btn_theme_top {
	--nickname-bg: #474f4b;
	--nickname-border-color: #4a6141;
	--nickname-color-hover: #569726;
}
@media (hover: hover) {
	.nicknames__btn:hover {
		background-color: ;
		color: var(--nickname-color-hover, #5f5bbc);
	}
}
@media (max-width: 575.98px) {
	.nicknames {
		text-align: center;
	}
}

/* nicknames-randomizer */
.nicknames-randomizer {
	padding: 25px 30px;
	background-color: #2a2338;
	border-radius: 4px;
	margin-bottom: 8px;
}
.nicknames-randomizer__result,
.nicknames-randomizer__generate {
	color: #fff;
	display: block;
	width: 100%;
	border: none;
	padding: 7px 20px;
	transition: filter .2s;
}
.nicknames-randomizer__result {
	border-radius: 6px;
	background-color: #261f33;
	font-weight: 700;
	margin-bottom: 6px;
}
.nicknames-randomizer__generate {
	background-color: #4f2781;
	border-radius: 3px;
}
@media (hover: hover) {
	.nicknames-randomizer__result:hover {
		filter: brightness(85%);
	}
	.nicknames-randomizer__generate:hover {
		filter: brightness(115%);
	}
}
@media (min-width: 576px) {
	.nicknames-randomizer {
		float: left;
		width: 260px;
		margin-right: 6px;
	}
}

/* aim-game-container */
.aim-game-container {
	padding: 22px;
	background: #2a2338;
	border-radius: 0 0 4px 4px;
	margin-bottom: 20px;
}

/* aim-legend */
.aim-legend {
	margin: 16px 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 15px;
}
.aim-legend__item {
	background-color: #221b2f;
	padding: 22px 30px;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
}
.aim-legend__img {
	align-self: center;
}
.aim-legend__text {
	margin-top: 10px;
}
@media (min-width: 480px) {
	.aim-legend {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (min-width: 992px) {
	.aim-legend {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* more-btn */
.more-btn {
	color: #a79bbd;
	background-color: #2e273e;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px 15px;
	transition: color .2s, background-color .2s;
}
button.more-btn {
	width: 100%;
	border: 0;
}
.more-btn__icon {
	font-size: 16px;
	margin-right: 10px;
	transition: transform .2s;
}
.more-btn:hover {
	background-color: #2a2338;
	color: #fff;
}
.more-btn:hover .more-btn__icon {
	transform: rotate(360deg);
}

/* comments */
.comments__gutter {
	padding: 30px;
}
.comments__emoji {
	background-color: #2e283c;
	padding: 10px;
	margin: 0;
	font-size: 20px;
	border-radius: 5px;
	margin-bottom: 16px;
}
.comments__form {
	margin-bottom: 20px;
}
.comments__warning {
	color: #8676A5;
	margin-bottom: 50px;
}
.comments__list {
	margin: 0 -30px;
}
.comments__pagination {
	margin-top: 30px;
}

/* comments-form */
.comments-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px 40px;
	grid-auto-rows: auto 53px 53px;
}
.comments-form__comment {
	grid-column: 1 / -1;
}
@media (min-width: 480px) {
	.comments-form {
		grid-template-columns: minmax(0, 1fr) minmax(0, 33.3333333333%);
	}
}

/* emoji */
.emoji {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.emoji__btn {
	padding: 0;
	border: none;
	background-color: transparent;
	display: block;
	line-height: 1;
}

/* comments-list */
.comments-list {
	padding: 0;
	list-style: none;
}
.comments-list__item:not(:last-child) {
	border-bottom: 1px solid #251f31;
}
.comments-list .comments-list {
	--comment-bg: #2a2338;
	--comment-inset: 14%;
}
.comments-list .comments-list .comments-list {
	--comment-inset: 28%;
}

/* comment */
.comment {
	background-color: var(--comment-bg, #2e273e);
	padding: 14px 27px 17px var(--comment-inset, 27px);
	display: flex;
	border-radius: 8px;
}
.comment_theme_accented {
	--comment-bg: #524078;
}
.comment__ava-wrapper {
	width: 45px;
	height: 45px;
	line-height: 45px;
	border-radius: 50%;
	flex-shrink: 0;
	margin-right: 19px;
	background-image: linear-gradient(141.34deg, #8821FD 16.05%, #650CD3 86.91%);
	font-size: 20px;
	font-weight: 700;
	text-align: center;
}
.comment__ava {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.comment__body {
	flex-grow: 1;
	min-width: 0;
}
.comment__header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	column-gap: 30px;
	row-gap: 3px;
	margin-bottom: 3px;
}
.comment__author {
	color: #FFC61E;
	font-weight: 700;
	overflow-wrap: anywhere;
	min-width: 0;
}
.comment__date {
	color: #766A8E;
	font-size: 13px;
	flex-shrink: 0;
	white-space: nowrap;
}
/* iOS can wrap date text in detected-number links. */
.comment__date a {
    color:inherit !important;
    -webkit-text-fill-color:inherit !important;
    text-decoration:none !important;
    font:inherit !important;
}
.comment__message {
	color: #fff;
	overflow: hidden;
	overflow-wrap: break-word;
}

/* typography */
.typography {
	color: #a79bbd;
}
.typography p:not(:first-child) {
	margin-top: 16px;
}
.typography p:not(:last-child) {
	margin-bottom: 16px;
}
.typography a:not([class]) {
	color: #b100ff;
	text-decoration: none;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, .2);
}
.typography a:not([class]):hover {
	text-decoration: underline;
}
.typography img {
	vertical-align: middle;
}
.typography iframe {
	width: 100%;
	border-radius: 8px;
}

.typography h1,.typography h2,.typography h3,.typography h4,.typography h5,.typography h6{font-weight:700;margin-top:max(16px,1.4em);margin-bottom:max(16px,.8em);color:#fff;}
.typography h1{font-size:min(30px,calc(19.0909px + 0.909091vw));line-height:1.2}
.typography h2{font-size:min(24px,calc(18.5455px + 0.454545vw));line-height:1.3}
.typography h3{font-size:20px;line-height:1.4}
.typography h4{font-size:18px}
.typography h5{font-size:16px}
.typography h6{font-size:14px}
.typography h1:first-child,.typography h2:first-child,.typography h3:first-child,.typography h4:first-child,.typography h5:first-child,.typography h6:first-child{margin-top:0}

/* old-markup */
.information_mode {
	padding: 17px 14px;
	background-color: #221b30;
}
.img-flag {
	width: 35px;
	height: 26px;
	object-fit: contain;
	vertical-align: middle;
}
#area{
    width: 100%;
    height: 400px;
    background: #221b2f;
}
#area #start, #area #wait, #area #error, #area #result, #area #click{
    width:100%;
    height:100%;
    cursor:pointer;
}
#area #wait, #area #error, #area #result,#area #click{
    display:none;
}
.area-image{
    width: 35px;
    height: 35px;
    margin: 0 auto;
    text-align: center;
    display: block;
}

.area-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.area-title {
    font-size: 25px;
    font-weight: 600;
    color: #fff;
}
#error {
    background: #a91e1e;
}
#click {
    background: #a9a21e;
}
#wait {
    background: #26a91e;
}
#phgame {
	margin: 0 auto;
}

/* page404 */
.page404 {
	text-align: right;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	position: relative;
}
.page404__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.page404__stars {
	animation: star_blink 7s linear infinite;
}
.page404__code {
	font-size: min(200px, calc(145.455px + 4.54545vw));
	font-weight: 700;
	line-height: 1;
	font-family: Arial, sans-serif;
}
.page404__descr {
	font-weight: 700;
	font-size: min(34px, calc(12.1818px + 1.81818vw));
	margin-bottom: 20px;
}
.page404__search {
	margin-bottom: 20px;
}
.page404-nav {
	margin: 0;
	padding: 0;
	list-style: none;
}
.page404-nav__item:not(:last-child) {
	margin-bottom: 10px;
}
.page404-nav__link {
	color: #fff;
	font-size: 16px;
	text-decoration-color: #b100ff;
}
.page404-nav__link:hover {
	text-decoration-color: #fff;
}
@keyframes  star_blink {
	50% { opacity: 0.1; }
}

/* footer */
.footer {
	background-color: #211a2e;
	color: #fff;
	text-align: center;
}

@media (max-width: 575.98px) {
	.footer {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.footer__logo {
		width: max-content;
		margin: 20px auto 0;
	}
}
@media (min-width: 576px) {
	.footer {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.footer__inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		column-gap: 30px;
	}
	.footer__logo {
		flex-shrink: 0;
	}
}

/* footer-nav */
.footer-nav {
	margin: 0;
	padding: 0;
	list-style: none;
}
.footer-nav__link {
	text-decoration: none;
	color: inherit;
	font-size: 16px;
}
.footer-nav__link:hover {
	color: #b100ff;
}
@media (max-width: 575.98px) {
	.footer-nav__item:not(:first-child) {
		margin-top: 10px;
	}
}
@media (min-width: 576px) {
	.footer-nav {
		display: flex;
		flex-wrap: wrap;
		gap: 5px 30px;
	}
}

/* tooltip */
.tooltip {
	transition: opacity .2s, visibility .2s;
}
.tooltip:not(._visible) {
	visibility: hidden;
	opacity: 0;
}

/* copy btn */
.js-copy {
	cursor: pointer;
}

/* utilities */
.u-hidden {
	display: none !important;
}
.u-color-muted {
	color: #a79bbd;
}
.u-color-success {
	color: #92b479;
}
.u-color-gold {
	color: #ffc601;
}
.u-text-xs {
	font-size: max(12px, 0.75em);
}
.u-mb-7 {
	margin-bottom: 7px;
}
.u-mb-20 {
	margin-bottom: 20px;
}
.u-mb-60 {
	margin-bottom: 60px;
}

/* keyframes */
@keyframes jump {
	0% {
		transform: translateY(3px);
	}
	50% {
		transform: translateY(-3px);
	}
	100% {
		transform: translateY(3px);
	}
}
.roulette {
	margin-top: 8px;
	position: relative;
}
.roulette__viewport {
	display: flex;
	justify-content: center;
	overflow: hidden;
	position: relative;
}
.roulette__divider {
    position: absolute;
    width: 2px;
    background: #c400fe;
    top: 0;
    bottom: 0;
    left: 50%;
    margin-left: -1px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 7px rgba(0,0,0,1);
    z-index: 1;
}
.roulette__list {
	display: flex;
	transition-property: transform;
}
.roulette--rotating .roulette__list {
	transition-timing-function: cubic-bezier(.09,.41,.19,1);
}
.roulette--centering .roulette__list {
	transition-delay: .2s;
	transition-timing-function: linear;
}
.roulette__group {
	display: flex;
}
.roulette__item {
	width: 121px;
	padding-left: 4px;
	padding-right: 4px;
	flex-shrink: 0;
	box-sizing: border-box;
}
.roulette__item {
	transition: transform .5s, filter .5s;
}
.roulette__link {
	display: block;
	text-decoration: none;
	color: #fff;
	border-radius: 7px;
	position: relative;
}
.roulette__img {
	width: 113px;
	height: 85px;
	display: block;
	object-fit: cover;
	border-radius: inherit;
}
.roulette__title {
    font-size: 12px;
	line-height: 1.2;
    padding: 5px;
    font-weight: bold;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
	text-align: center;
	background-color: rgba(0, 0, 0, .3);
	transition: opacity .3s;
	display: flex;
	align-items: center;
	justify-content: center;
}
.roulette__link:hover .roulette__title {
	opacity: 0;
}
.roulette__button {
	position: absolute;
	z-index: 1;
	background-image: linear-gradient(135deg, #6902f4 0%,#c400fe 100%);
	color: #fff;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: 20px;
	padding: 5px 10px;
	white-space: nowrap;
	font-weight: 700;
}
.roulette__button > .icon {
	margin-right: 5px;
	font-size: 16px;
}
@media (hover: hover) {
	.roulette__button:hover {
		background-image: linear-gradient(135deg, #c400fe 0%,#6902f4 100%);
	}
}

.roulette-result {
	--fancybox-content-bg: #3d374a;
}
.roulette-result .fancybox__content {
	padding: 15px;
	border-radius: 4px;
}
.roulette-result__inner {
	width: 300px;
	max-width: 100%;
}
.roulette-result__img {
	display: block;
	width: 100%;
}
.roulette-result__link,
.roulette-result__reroll {
	display: flex;
	align-items: center;
	column-gap: 10px;
	margin-top: 10px;
	color: #fff;
	outline: none !important;
}
.roulette-result__link > .icon,
.roulette-result__reroll > .icon {
	font-size: 16px;
}
.roulette-result__link {
	background-image: linear-gradient(135deg, #6902f4 0%,#c400fe 100%);
	text-decoration: none;
	border-radius: 4px;
	padding: 10px 15px;
	justify-content: space-between;
	font-weight: 700;
}
.roulette-result__link:hover {
	background-image: linear-gradient(135deg, #c400fe 0%,#6902f4 100%);
}
.roulette-result__reroll {
	margin-left: auto;
	margin-right: auto;
	background-color: transparent;
	padding: 5px 10px;
	border: none;
}
/* Keep the established server filter geometry while using the accessible current widget. */
dialog.roulette-result { border:0; border-radius:4px; padding:15px; color:#fff; background:#3d374a; margin:auto; overflow:visible; max-width:calc(100vw - 40px); }
dialog.roulette-result::backdrop { background:rgba(24,24,27,.92); }
.roulette-result__close { position:absolute; right:0; top:-40px; width:40px; height:40px; padding:0; display:grid; place-items:center; background:transparent; border:0; color:white; cursor:pointer; }
.roulette-result__close svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; }
@media(max-width:1023px) { dialog.roulette-result { transform:translateY(20px); } }
/* Approved accessibility contrast corrections */
.breadcrumbs__current, .breadcrumbs-wrapper__info .u-color-muted,
.faq-section__title-legend, .comments__warning, .comment__date,
.filter__title, .categories-scroller__link, .qa-list__count,
.checkbox-group__label, .nicknames-info__label { color:#b3a7c8; }
.post__features a, .rating .rating__accented, .typography .u-color-gold, .aim-legend .aim-legend__status, .post-section__header .u-color-gold,
.virus-info__text { color:#aaa5ff; }
.comment_theme_accented .comment__date { color:#d2c8e3; }
.qa-list__state._pending { color:#e7b744; }
.empty-table a { color:#b3a7c8; }
.post-section > p > span[style*="color:#ff0000"] { color:#ff7b7b !important; }
.categories__more { display:contents; }
/* End approved accessibility contrast corrections */
/* Reserve the native filter control before the page-specific widget loads. */
.servers-filters select.js-select2-filter:not(.tomselected) { display:block; width:133px; height:44px; border:0; border-radius:8px; padding:0 16px 0 25px; background:#2a2338; color:white; font:inherit; }

/* Preserve the legacy game bounds without fitting Phaser against an auto-height parent. */
#phgame { padding:5px 0 6px; }
#aim-engine { position:relative; width:100%; max-width:901px; aspect-ratio:850 / 600; background:#201c29; margin-inline:auto; }
#aim-engine canvas { display:block; }
/* Expand inline title hit areas inside their existing whitespace without moving the text. */
.announce__title { padding-block:5px; }

/* Editorial additions use the existing site type, colours and controls. */
.editorial-page {
    padding-block:32px;
    min-height:50vh;
}
.editorial-page h1 {
    margin-block:24px;
}
.editorial-page h2,.editorial-section h2 {
    font-size:1.6rem;
    margin-block:28px 14px;
}
.editorial-page nav {
    margin-bottom:24px;
}
.editorial-page .typography {
    margin-top:24px;
}
.editorial-section {
    margin-block:40px;
}
.home-section-heading {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:20px;
    margin-bottom:20px;
}
.home-section-heading h2 {
    margin:0;
}
.home-section-heading>a {
    color:#e5d7ff;
    text-underline-offset:3px;
    flex-shrink:0;
}
.home-cards {
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}
.home-card {
    display:flex;
    flex-direction:column;
    min-width:0;
    background:#292334;
    border-radius:8px;
}
.home-card__link {
    display:flex;
    flex:1;
    flex-direction:column;
    color:inherit;
    text-decoration:none;
}
.home-card__image {
    display:block;
    border-radius:8px 8px 0 0;
    aspect-ratio:16/10;
    overflow:hidden;
    background:#211c2b;
}
.home-card__image img {
    opacity:.7;
    transition:opacity .2s;
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.home-card__body {
    display:flex;
    flex:1;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    padding:20px;
}
.home-card h3,.article-cards h2 {
    color:#fff;
    transition:color .2s;
    font-size:1.2rem;
    line-height:1.35;
    margin:0;
    overflow-wrap:anywhere;
}
.home-card p {
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin:0;
    color:#e0d8ed;
    font-size:.95rem;
    line-height:1.5;
}

.home-card__link:is(:hover,:focus-visible) h3,.article-cards .home-card__link:is(:hover,:focus-visible) h2 {
    color:#b100ff;
}
.home-card__link:is(:hover,:focus-visible) img,.home-card__image:is(:hover,:focus-visible) img {
    opacity:1;
}
.home-card__link:focus-visible {
    outline:3px solid #e5d7ff;
    outline-offset:4px;
}
@media(max-width:900px) {
    .home-cards {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:20px;
    }
}
@media(max-width:600px) {
    .home-cards {
        grid-template-columns:1fr;
    }
    .home-section-heading {
        flex-wrap:wrap;
        gap:12px;
    }
}
.home-card__actions {
    margin-top:auto;
    padding:0 20px 20px;
}
.home-card__actions .assembly-downloads {
    margin-top:0;
    margin-bottom:0;
}
.assembly-downloads {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-block:14px 0;
}
.announce__img-wrapper .assembly-downloads {
    justify-content:center;
    margin-top:12px;
}
.assembly-downloads__link .assembly-downloads__speed,.download__speed-icon {
    position:absolute;
    top:-12px;
    right:-4px;
    width:22px;
    height:22px;
    padding:2px;
    border:1px solid #f5d779;
    border-radius:50%;
    background:#261f33;
    color:#ffe18b;
    animation:download-bolt 3.2s ease-in-out infinite;
    pointer-events:none;
}
:is(.assembly-downloads__link--direct,.download__btn_theme_direct) {
    isolation:isolate;
}
:is(.assembly-downloads__link--direct,.download__btn_theme_direct)::before {
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:linear-gradient(110deg,transparent 25%,rgb(255 255 255 / 28%) 48%,transparent 70%) 150% 0 / 250% 100% no-repeat;
    z-index:-1;
    pointer-events:none;
    animation:download-sheen 3.2s ease-in-out infinite;
}
@keyframes download-bolt {
    0%,45%,100% { transform:translateY(0) rotate(0deg); }
    55% { transform:translateY(-3px) rotate(-10deg); }
    65% { transform:translateY(1px) rotate(8deg); }
    75% { transform:translateY(0) rotate(0deg); }
}
@keyframes download-sheen {
    0%,35% { background-position:150% 0; opacity:0; }
    42% { opacity:1; }
    70% { background-position:-150% 0; opacity:1; }
    72%,100% { background-position:-150% 0; opacity:0; }
}
@media(prefers-reduced-motion:reduce) {
    .download__speed-icon,.assembly-downloads__link .assembly-downloads__speed,:is(.assembly-downloads__link--direct,.download__btn_theme_direct)::before { animation:none; }
    :is(.assembly-downloads__link--direct,.download__btn_theme_direct)::before { opacity:0; }
}
.announce__img-wrapper .assembly-downloads__tooltip {
    left:50%;
    transform:translateX(-50%);
}
.assembly-downloads__link {
    display:inline-flex;
    position:relative;
    flex-shrink:0;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    background:#261f33;
    border:1px solid #625374;
    border-radius:6px;
    color:#d6b9ff;
    text-decoration:none;
    transition:background-color .2s,border-color .2s;
}
.assembly-downloads__link--sized {
    width:auto;
    min-width:44px;
    padding:0 6px;
    gap:4px;
}
.assembly-downloads:has(.assembly-downloads__link--sized) {
    gap:4px;
}
.assembly-downloads__file-size {
    font-size:12px;
    line-height:1;
    white-space:nowrap;
}
.assembly-downloads__file-size small {
    font-size:10px;
}
.assembly-downloads__link--sized > .icon {
    flex-shrink:0;
}
.assembly-downloads__link--utorrent,.download__btn_theme_utorrent {
    background:#29442f;
    border-color:#5e8643;
}
.assembly-downloads__link--google,.download__btn_theme_google {
    background:#51421e;
    border-color:#ad8c35;
}
.assembly-downloads__link--yandex,.download__btn_theme_yandex {
    background:#263c54;
    border-color:#5288bd;
}
.assembly-downloads__link:hover,.assembly-downloads__link:focus-visible,.download__btn:hover,.download__btn:focus-visible {
    background:#433052;
    border-color:#bd54ff;
}
.assembly-downloads__link img,.assembly-downloads__link svg {
    width:24px;
    height:24px;
    object-fit:contain;
}
.assembly-downloads__tooltip {
    position:absolute;
    bottom:calc(100% + 8px);
    left:0;
    padding:6px 10px;
    border-radius:4px;
    background:#17121f;
    color:#fff;
    font-size:13px;
    white-space:nowrap;
    pointer-events:none;
    visibility:hidden;
    z-index:2;
}
.assembly-downloads__link--direct .assembly-downloads__tooltip {
    display:flex;
    align-items:center;
    gap:7px;
    left:0;
    transform:none;
    width:max-content;
    max-width:min(220px,calc(100vw - 48px));
    white-space:normal;
    line-height:1.4;
}
.assembly-downloads__tooltip .assembly-downloads__tooltip-icon {
    width:18px;
    height:18px;
    flex-shrink:0;
    color:#ffe18b;
}
:is(.assembly-downloads__link,.download__btn_theme_direct,.about__download-btn):is(:hover,:focus-visible) .assembly-downloads__tooltip {
    visibility:visible;
}
.assembly-downloads__size {
    color:#d2c5e0;
    font-size:13px;
    margin-right:4px;
}
.download__btn_theme_cloud {
    background-color:#625374;
}
@media(min-width:768px) {
    .download__btns:has(>.download__btn:nth-child(4):last-child) {
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}
@media (min-width:768px) and (max-width:1279px) {
    .download__btns:has(>.download__btn:nth-child(4):last-child) {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
.download__btn:focus-visible,.assembly-downloads__link:focus-visible,.assembly-badges a:focus-visible {
    outline:3px solid #e5d7ff;
    outline-offset:3px;
}
.assembly-badges {
    gap:4px;
    margin-block:8px;
}
.assembly-badges .tags__link {
    padding:3px 7px;
    min-height:24px;
    font-size:12px;
    line-height:1.4;
}
.assembly-badges .tags__link:hover {
    color:#e5c4ff;
    background:#49335f;
}
.category-links {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:0;
}
.category-links a {
    display:inline-flex;
    align-items:center;
    min-height:44px;
    padding:9px 12px;
    color:#e5d7ff;
    text-decoration:none;
    background:#2a2338;
    border:1px solid #625173;
    border-radius:6px;
}
.assembly-sort {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 0 auto;
    flex-shrink:0;
}
.assembly-sort label {
    color:#d2c5e0;
}
.assembly-sort select {
    appearance:none;
    padding:10px 42px 10px 14px;
    min-height:44px;
    max-width:100%;
    border:1px solid #746087;
    border-radius:5px;
    background:#261f33 url('data:image/svg+xml,%3Csvg width="14" height="8" viewBox="0 0 14 8" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M1 1L7 7L13 1" stroke="%23e5d7ff" stroke-width="2" stroke-linecap="round"/%3E%3C/svg%3E') right 14px center no-repeat;
    color:#fff;
    font:inherit;
    color-scheme:dark;
    cursor:pointer;
}
.assembly-sort select:focus-visible {
    outline:2px solid #bd54ff;
    outline-offset:3px;
}
.assembly-tabs {
    display:flex;
    gap:6px;
    padding:5px;
    border-radius:8px;
    background:#261f33;
    margin-block:24px;
}
.assembly-tabs button {
    flex:1;
    border-radius:5px;
    padding:12px;
    min-height:44px;
    background:transparent;
    border:0;
    color:inherit;
    cursor:pointer;
}
.assembly-tabs [aria-selected=true] {
    background:#7040a0;
    color:#fff;
    font-weight:700;
}
.assembly-related {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-block:24px;
}
.assembly-quiz {
    margin-block:24px;
    color:#e0d8ed;
}
.assembly-quiz h2 {
    font-size:1.5rem;
    color:#fff;
    margin:0 0 8px;
}
.quiz-intro {
    margin:0 0 24px;
    line-height:1.5;
}
.quiz-progress {
    display:grid;
    gap:10px;
    margin-bottom:24px;
    font-size:14px;
}
.quiz-progress progress {
    width:100%;
    height:6px;
    border:0;
    border-radius:4px;
    background:#201a2b;
    accent-color:#b44aff;
}
.quiz-progress progress::-webkit-progress-bar { background:#201a2b; border-radius:4px; }
.quiz-progress progress::-webkit-progress-value { background:#b44aff; border-radius:4px; }
.quiz-progress progress::-moz-progress-bar { background:#b44aff; border-radius:4px; }
.assembly-quiz fieldset {
    min-width:0;
    border:0;
    padding:0;
    margin:0 0 20px;
}
.assembly-quiz legend {
    color:#fff;
    font-size:18px;
    font-weight:700;
    margin-bottom:16px;
    line-height:1.4;
}
.quiz-options {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.quiz-options label {
    display:flex;
    gap:10px;
    align-items:center;
    min-height:52px;
    padding:12px 16px;
    background:#261f33;
    border:1px solid #746087;
    border-radius:5px;
    color:#fff;
    cursor:pointer;
    line-height:1.4;
}
.quiz-options label:hover { border-color:#bd54ff; }
.quiz-options label:has(input:checked) {
    background:#49315f;
    border-color:#bd54ff;
}
.quiz-options label:has(input:focus-visible) {
    outline:3px solid #e5d7ff;
    outline-offset:3px;
}
.quiz-options input {
    appearance:none;
    flex-shrink:0;
    width:18px;
    height:18px;
    margin:0;
    border:2px solid #b5a6c7;
    border-radius:50%;
}
.quiz-options input:checked {
    border-color:#cf90ff;
    background:#cf90ff;
    box-shadow:inset 0 0 0 3px #49315f;
}
.quiz-controls {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}
.assembly-quiz .btn {
    min-height:44px;
}
.assembly-quiz .quiz-secondary {
    background:#261f33;
    border:1px solid #746087;
    box-shadow:none;
}
.assembly-quiz .quiz-secondary:hover { background:#49315f; }
.quiz-random { margin-top:12px; }
.quiz-error { color:#ffaaaa; margin:0 0 16px; }
[data-quiz-status]:empty,.quiz-results:empty { display:none; }
[data-quiz-status] { margin-block:24px 12px; font-size:18px; }
.quiz-results { margin-block:16px; }
.assembly-quiz button:disabled,.assembly-quiz input:disabled {
    opacity:.6;
    cursor:wait;
}
.assembly-quiz button:focus-visible {
    outline:3px solid #e5d7ff;
    outline-offset:4px;
}
@media(max-width:600px) {
    .quiz-options { grid-template-columns:1fr; }
    .quiz-controls .btn { flex:1; }
}
.editorial-faq details+details {
    margin-top:12px;
}
.editorial-faq .accordion__title {
    padding:18px 56px 18px 24px;
    font-size:18px;
    line-height:1.4;
    list-style:none;
    transition:color .2s;
}
.editorial-faq .accordion__title:hover {
    color:#e5c4ff;
}
.editorial-faq summary:focus-visible {
    outline:3px solid #e5d7ff;
    outline-offset:4px;
}
.editorial-faq__answer {
    color:#e0d8ed;
    font-size:16px;
    padding:20px 24px;
    line-height:1.6;
}
.editorial-faq__answer .typography {
    margin:0 0 16px;
    max-width:70ch;
}
@media(prefers-reduced-motion:reduce) {
    .home-card h3,.home-card__image img,.editorial-faq .accordion__title {
        transition:none;
    }
}
.deferred-video {
    aspect-ratio:16/9;
    background:#251e34;
    width:100%;
    margin-block:20px;
    position:relative;
}
.deferred-video__button {
    width:100%;
    height:100%;
    border:0;
    background:transparent;
    color:white;
    cursor:pointer;
    position:absolute;
    inset:0;
    display:block;
}
.deferred-video img {
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:.7;
}
.deferred-video__play {
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:clamp(56px,8vw,80px);
    height:clamp(56px,8vw,80px);
    pointer-events:none;
}
.deferred-video__button:is(:hover,:focus-visible) .deferred-video__play circle {
    fill-opacity:.8;
}
.deferred-video iframe,.deferred-video video {
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    border:0;
}
.footer-groups {
    text-align:left;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:32px;
    padding-block:32px;
}
.footer-groups h2 {
    font-size:18px;
    margin-bottom:16px;
}
.footer-groups ul {
    list-style:none;
    padding:0;
}
.footer-groups li {
    margin-bottom:10px;
}
.footer-groups a,.footer-socials a {
    color:inherit;
    overflow-wrap:anywhere;
}
.footer-socials {
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:20px;
    padding-bottom:24px;
}
.footer-socials a {
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
}
.footer-socials a.footer-socials__legacy {
    width:auto;
    padding-inline:12px;
}
.footer-socials a:hover {
    opacity:.75;
}
.footer-socials a:focus-visible {
    outline:3px solid currentColor;
    outline-offset:3px;
}
.footer-socials svg {
    display:block;
    flex-shrink:0;
}
[hidden] {
    display:none!important;
}
.editorial-page a:focus-visible,.assembly-downloads a:focus-visible,.assembly-tabs button:focus-visible,.assembly-quiz :focus-visible,.deferred-video button:focus-visible {
    outline:3px solid #704cb4;
    outline-offset:3px;
}
@media(max-width:767px) {
    .footer-groups {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:24px;
    }
    .editorial-page {
        padding-block:20px;
    }
    .assembly-quiz .btn {
        margin-bottom:12px;
    }
}
@media(max-width:420px) {
    .footer-groups {
        grid-template-columns:1fr;
    }
    .assembly-sort select {
        max-width:100%;
    }
}
.editorial-page a,.editorial-faq a,.editorial-section>a,.footer>.container>a {
    color:#e5d7ff;
    text-decoration:underline;
    text-underline-offset:3px;
}
.editorial-page .typography a:not([class]) {
    color:#e5d7ff;
    text-decoration:underline;
}

/* Shared editorial cards and controls. */
.home-card__media { position:relative; }
.badge-overlay { position:absolute; inset:auto 10px 10px; z-index:1; }
.badge-overlay .assembly-badges { margin:0; gap:4px; }
.badge-overlay .tags__link {
    max-width:100%;
    border:1px solid #ffffff24;
    background:rgba(26,20,37,.88);
    color:#fff;
    font:inherit;
    font-size:11px;
    line-height:1.3;
    padding:4px 7px;
    min-height:26px;
    white-space:normal;
    overflow-wrap:anywhere;
}

.assembly-size { margin:10px 0 0; color:#c7b9db; font-size:13px; line-height:1.5; }
.assembly-size span { color:#eee7f6; }
.announce__img-wrapper .assembly-size { text-align:center; }
.download > .assembly-size { text-align:center; margin:0 0 14px; }
.assembly-information .assembly-author { color:#eee7f6; }
.assembly-information .assembly-author a { color:#eee7f6; }
.assembly-information .features__label { color:#b8abc9; }
.assembly-tabs button:hover { color:#fff; background:#49315f; }
.post-specs:not(:has(>.post-specs__col)) { display:none; }
.catalog-toolbar { display:flex; align-items:flex-start; gap:16px; margin-block:20px; }
.category-links { flex:1; gap:7px; }
.category-links a:hover { background:#49315f; color:#fff; border-color:#b44aff; }
.category-links a:focus-visible,.site-action:focus-visible { outline:3px solid #e5d7ff; outline-offset:3px; }
.site-action {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:44px;
    padding:10px 14px;
    border:1px solid #806197;
    border-radius:7px;
    background:#2a2338;
    background-image:none;
    color:#e5d7ff;
    font:inherit;
    text-decoration:none;
    line-height:1.4;
    transition:background-color .2s,color .2s;
}
.site-action:hover { background:#49315f; background-image:none; color:#fff; }
.site-action .icon { flex-shrink:0; font-size:16px; margin:0; }
.roulette__button.site-action { padding:6px 12px; font-size:13px; }
.widget__more.site-action { display:flex; border-radius:0 0 7px 7px; }
.monthly-card__image { position:relative; }
.monthly-card__rank {
    position:absolute; top:10px; left:10px;
    min-width:30px; padding:5px 8px; border-radius:5px;
    background:#211a2ee8; color:#fff; text-align:center; font-weight:700;
}
.monthly-card__count { padding:0 15px 15px; color:#c7b9db; font-size:13px; line-height:1.5; }
.article-cards .home-card__link { color:inherit; text-decoration:none; }
.article-cards h2 { margin:0; font-size:1.2rem; }
.article-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:28px; align-items:start; }
.article-aside { position:sticky; top:var(--article-scroll-offset); min-width:0; }
.article-toc,.article-meta { padding:20px; background:#2a2338; border-radius:8px; }
.article-toc h2 { font-size:18px; margin:0 0 14px; }
.article-toc ol { margin:0; padding-left:20px; }
.article-toc li + li { margin-top:12px; }
.article-toc a { color:#e5d7ff; text-decoration:none; line-height:1.5; }
.article-toc a:hover { color:#fff; text-decoration:underline; }
.article-meta { margin-top:12px; font-size:14px; line-height:1.5; }
.article-meta span { display:block; color:#b8abc9; margin-bottom:4px; }
.article-meta p + p { margin-top:16px; }
.article-content { min-width:0; padding:28px; border-radius:8px; background:#30283e; }
.article-content .typography { width:100%; max-width:none; margin:0; }
.article-content .typography > :first-child { margin-top:0; }
.article-content .typography h2 { scroll-margin-top:var(--article-scroll-offset); line-height:1.35; }
.article-content .typography img { display:block; width:100%; height:auto; border-radius:7px; }
.article-content .typography p { line-height:1.75; }
@media(min-width:768px) {
    .post-specs:has(>.post-specs__col:nth-child(2)) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px) {
    .catalog-toolbar { flex-wrap:wrap; }
    .catalog-toolbar .category-links { flex-basis:100%; }
    .article-layout { grid-template-columns:1fr; gap:20px; }
    .article-aside { position:static; }
    .article-content { padding:22px; }
}
@media(max-width:600px) {
    .catalog-toolbar .assembly-sort { width:100%; }
    .catalog-toolbar select { width:100%; }
    .article-content { padding:18px; }
}

html:has(.article-layout) { --article-scroll-offset:20px; }
@media(max-width:991.98px) {
    html:has(.article-layout) { --article-scroll-offset:88px; }
}
@media(prefers-reduced-motion:no-preference) {
    html:has(.article-layout) { scroll-behavior:smooth; }
}

.home-card__stats {
    position:absolute;
    top:10px;
    right:10px;
    left:10px;
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:6px;
    pointer-events:none;
}
.home-card__stats span {
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:5px 8px;
    border:1px solid #ffffff24;
    border-radius:5px;
    background:rgba(26,20,37,.88);
    color:#fff;
    font-size:12px;
    line-height:1.4;
    font-variant-numeric:tabular-nums;
    pointer-events:auto;
}
.home-card__stats svg { width:15px; height:15px; flex-shrink:0; }

/* HTML sitemap directory. */
.sitemap-page {
    padding-block:28px 56px;
}
.sitemap-page .sitemap-breadcrumbs {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
    margin:0 0 28px;
    color:#c7b9db;
    font-size:14px;
}
.sitemap-heading {
    margin-bottom:36px;
}
.sitemap-heading h1 {
    margin:0;
    font-size:clamp(32px,4vw,48px);
    line-height:1.15;
}
.sitemap-page .sitemap-heading .typography {
    margin-top:16px;
    max-width:65ch;
    color:#c7b9db;
    font-size:16px;
}
.sitemap-layout {
    display:grid;
    grid-template-columns:230px minmax(0,1fr);
    align-items:start;
    gap:40px;
}
.sitemap-index {
    position:sticky;
    top:24px;
    padding:20px;
    border-radius:8px;
    background:#2a2338;
}
.sitemap-page .sitemap-index nav {
    margin:0;
}
.sitemap-page .sitemap-index h2 {
    margin:0 0 12px;
    font-size:16px;
}
.sitemap-index ul,.sitemap-links {
    list-style:none;
    margin:0;
    padding:0;
}
.sitemap-page .sitemap-index a {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:44px;
    padding-block:8px;
    color:#eee7f6;
    font-size:15px;
    text-decoration:none;
}
.sitemap-index__count {
    flex-shrink:0;
    color:#b8a8cd;
    font-size:13px;
    font-variant-numeric:tabular-nums;
}
.sitemap-index p {
    margin-top:20px;
    padding-top:16px;
    border-top:1px solid #ffffff24;
    color:#b8a8cd;
    font-size:13px;
    line-height:1.6;
}
.sitemap-group {
    scroll-margin-top:100px;
    border-top:1px solid #ffffff30;
    padding-top:20px;
}
.sitemap-group + .sitemap-group {
    margin-top:36px;
}
.sitemap-group__heading {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
}
.sitemap-page .sitemap-group h2 {
    margin:0;
    font-size:26px;
    line-height:1.25;
}
.sitemap-page .sitemap-group__heading > a {
    flex-shrink:0;
    display:inline-flex;
    align-items:center;
    min-height:44px;
    color:#c7b9db;
    font-size:13px;
    text-decoration:none;
}
.sitemap-links {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:24px;
}
.sitemap-page .sitemap-links a {
    display:flex;
    align-items:center;
    min-height:44px;
    height:100%;
    padding:10px 8px;
    margin-inline:-8px;
    border-radius:4px;
    color:#eee7f6;
    font-size:16px;
    line-height:1.45;
    text-decoration:none;
    overflow-wrap:anywhere;
}
.sitemap-page :is(.sitemap-links,.sitemap-index,.sitemap-group__heading) a:is(:hover,:focus-visible) {
    color:#fff;
    text-decoration:underline;
}
.sitemap-page .sitemap-links a:is(:hover,:focus-visible) {
    background:#2a2338;
}
.sitemap-page a:focus-visible {
    outline-color:#e5d7ff;
}
.sitemap-page .sitemap-pagination {
    margin:40px 0 0;
}
.sitemap-pagination .page__pagination {
    margin:0;
}
@media(max-width:900px) {
    .sitemap-layout { grid-template-columns:1fr; gap:28px; }
    .sitemap-index { position:static; }
    .sitemap-index ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; }
}
@media(max-width:600px) {
    .sitemap-links,.sitemap-index ul { grid-template-columns:1fr; }
    .sitemap-group__heading { gap:12px; }
    .sitemap-page .sitemap-group h2 { font-size:23px; }
}
/* Shared download and server display states. */
.about__download-btn { position:relative; }
.download__btns:has(>a:only-child) { grid-template-columns:minmax(0, 225px); justify-content:center; }
.tile__inner > .assembly-downloads { margin:12px 0 20px; padding:0 16px; justify-content:center; }
.tile__inner .assembly-downloads__tooltip { left:50%; right:auto; transform:translateX(-50%); }
.quiz-catalog .related__link { display:flex; min-height:220px; height:100%; align-items:center; justify-content:center; padding:24px; font-weight:700; text-align:center; border:1px solid #876b9e; }
.servers__tr--highlighted, .servers__tr--highlighted:hover { background:var(--server-highlight); color:var(--server-ink); }
.servers__tr--highlighted .servers__col, .servers__tr--highlighted a, .servers__tr--highlighted:hover a { color:var(--server-ink); }
.servers__tr--highlighted a { text-decoration:underline; }
[aria-busy="true"].more-btn { opacity:.6; cursor:wait; }

.notyf__toast.rating-toast {
    width:300px;
    max-width:calc(100vw - 32px);
    margin:16px;
    border:1px solid #625374;
    border-radius:8px;
    color:#eee5fa;
    font-family:inherit;
    font-size:14px;
    box-shadow:0 6px 18px rgb(0 0 0 / 25%);
}
.rating-toast .notyf__icon--success { background:#d6b9ff; }
.rating-toast .notyf__icon--error { background:#f0b8c5; }
.notyf__toast.rating-toast--error { border-color:#9b6478; }
@media(prefers-reduced-motion:reduce) {
    .notyf__toast.rating-toast,.rating-toast .notyf__message,.rating-toast .notyf__icon {
        animation-duration:.01ms;
        animation-delay:0s;
    }
}
