@import"https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;700;900&display=swap";

*,
*:before,
*:after {
	box-sizing: border-box
}

html {
	height: 100%
}

:root {
	font-synthesis: none;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	--color-white: #fff;
	--color-black: #000;
	--color-page-bg: #1d1546;
	--color-text: #fff;
	--color-text-accent: #ff6cb3;
	--color-text-secondary: #7d72ff;
	--color-button-gradient: radial-gradient(132.75% 155.27% at 31.94% -11.82%, #86c5ff 0%, #618dff 33.87%, #2496ff 91.62%);
	--color-button-backdrop: rgba(97, 85, 255, .3);
	--gradient-text-accent: radial-gradient(132.75% 155.27% at 31.94% -11.82%, #9186ff 0%, #6d61ff 33.87%, #574aff 91.62%);
	--color-border: #372d82;
	--color-block-bg: #211a54
}

body {
	font-size: 16px;
	line-height: 1.2;
	font-weight: 400;
	min-height: 100vh;
	margin: 0;
	min-width: 320px
}

.rating-page {
	--content-max-width: 1170px;
	color: var(--color-text);
	background-color: var(--color-page-bg);
	height: 100%;
	min-height: inherit;
	font-family: Fira Sans, Nunito, sans-serif;
	line-height: 1.2;
	position: relative;
	display: grid;
	grid-template-columns: minmax(10px, 865px) minmax(200px, 1fr);
	grid-template-rows: auto 1fr;
	grid-template-areas: "title sidebar""main sidebar";
	gap: clamp(20px, 3vw, 40px);
	width: 100%;
	padding: 0 max(16px, (100% - var(--content-max-width)) / 2);
	padding-top: 40px;
	padding-bottom: 60px
}

.rating-page__main {
	grid-area: main;
	display: flex;
	flex-direction: column;
	gap: 24px
}

.rating-page__sidebar {
	grid-area: sidebar;
	max-width: 265px
}

@media (max-width: 768px) {
	.rating-page__sidebar {
		max-width: none
	}
}

.rating-page__title {
	font-size: 40px;
	grid-area: title;
	align-self: flex-start
}

.rating-page__table {
	flex: 1
}

@media (max-width: 768px) {
	.rating-page {
		display: flex;
		flex-direction: column
	}

	.rating-page__title {
		order: -2
	}

	.rating-page__main {
		order: 0;
		flex: 1
	}

	.rating-page__sidebar {
		order: -1
	}
}

@media (min-width: 576px) {
	.hide-sm {
		display: none
	}
}

a {
	text-decoration: inherit;
	color: inherit
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0
}

.text-accent {
	background: var(--gradient-text-accent);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-fill-color: transparent;
	text-shadow: 0px 2px 2px rgba(0, 0, 0, .09);
	line-height: 1.5
}

.text-pink {
	color: var(--color-text-accent)
}

.rating-page-input {
	position: relative
}

.rating-page-input__field[type=text],
.rating-page-input__field[type=search],
.rating-page-input__field[type=email],
.rating-page-input__field[type=password] {
	display: inline-block;
	background-color: var(--color-page-bg);
	border: 1px solid var(--color-border);
	box-shadow: inset 0 0 10px #00000040;
	border-radius: 6px;
	font-size: 18px;
	line-height: 1.2;
	font-weight: 400;
	font-family: inherit;
	color: var(--color-text);
	padding: 13px 50px 13px 13px;
	min-height: 50px;
	width: 100%;
	transition: border-color .2s ease;
	outline: none
}

.rating-page-input__field[type=text]:-webkit-autofill,
.rating-page-input__field[type=text]:-webkit-autofill:focus,
.rating-page-input__field[type=search]:-webkit-autofill,
.rating-page-input__field[type=search]:-webkit-autofill:focus,
.rating-page-input__field[type=email]:-webkit-autofill,
.rating-page-input__field[type=email]:-webkit-autofill:focus,
.rating-page-input__field[type=password]:-webkit-autofill,
.rating-page-input__field[type=password]:-webkit-autofill:focus {
	transition: background-color 600000s 0s, color 600000s 0s
}

.rating-page-input__field[type=text]::placeholder,
.rating-page-input__field[type=search]::placeholder,
.rating-page-input__field[type=email]::placeholder,
.rating-page-input__field[type=password]::placeholder {
	color: #4b4199
}

.rating-page-input__field[type=text]:focus,
.rating-page-input__field[type=search]:focus,
.rating-page-input__field[type=email]:focus,
.rating-page-input__field[type=password]:focus {
	border-color: var(--color-text-secondary)
}

.rating-page-input__field[type=text]:hover:not(:focus),
.rating-page-input__field[type=search]:hover:not(:focus),
.rating-page-input__field[type=email]:hover:not(:focus),
.rating-page-input__field[type=password]:hover:not(:focus) {
	border-color: #4b4199
}

.rating-page-input__icon {
	width: 50px;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center
}

.custom-scrollbar::-webkit-scrollbar {
	width: 4px
}

.custom-scrollbar--small::-webkit-scrollbar {
	width: 2px
}

.custom-scrollbar::-webkit-scrollbar-track {
	width: 4px;
	background-color: transparent
}

.custom-scrollbar::-webkit-scrollbar-thumb {
	background-color: var(--color-text-secondary);
	border-radius: 2px;
	display: none
}

.custom-scrollbar:hover::-webkit-scrollbar-track {
	background-color: #0000001a
}

.custom-scrollbar:hover::-webkit-scrollbar-thumb {
	display: block
}

@keyframes showOptions {
	0% {
		transform: translateY(-10px);
		opacity: 0
	}

	to {
		transform: translateY(0);
		opacity: 1
	}
}

.rating-page-select {
	position: relative;
	z-index: 1
}

.rating-page-select__toggle {
	position: relative;
	display: inline-block;
	background-color: var(--color-page-bg);
	border: 1px solid var(--color-border);
	box-shadow: inset 0 0 10px #00000040;
	border-radius: 6px;
	font-size: 18px;
	line-height: 1.2;
	font-weight: 400;
	font-family: inherit;
	color: var(--color-text);
	padding: 13px 50px 13px 13px;
	min-height: 50px;
	width: 100%;
	transition: border-color .2s ease;
	text-align: left;
	cursor: pointer
}

.rating-page-select__toggle:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 50px;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDE2IDciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0wLjkzODYwNSAwLjgyMTI4QzAuNjEyOTY1IDAuNTM2MzQ0IDAuODE0NDg5IDAgMS4yNDcxOSAwSDE0Ljc1MjhDMTUuMTg1NSAwIDE1LjM4NyAwLjUzNjM0NSAxNS4wNjE0IDAuODIxMjhMOC4zMDg1OCA2LjcyOTk5QzguMTMxOSA2Ljg4NDU4IDcuODY4MSA2Ljg4NDU4IDcuNjkxNDIgNi43Mjk5OUwwLjkzODYwNSAwLjgyMTI4WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==);
	background-size: 16px 7px;
	background-position: center;
	background-repeat: no-repeat
}

.rating-page-select__toggle:hover {
	border-color: #4b4199
}

.rating-page-select__options {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	width: 100%;
	max-height: 200px;
	overflow-y: auto;
	list-style-type: none;
	border-radius: 6px;
	margin: 0;
	padding: 0;
	background-color: var(--color-border);
	display: none;
	animation: showOptions .2s ease forwards
}

.rating-page-select__option button {
	padding: 8px;
	background-color: transparent;
	display: block;
	width: 100%;
	color: inherit;
	font: inherit;
	text-align: left;
	border: none;
	margin: 0;
	cursor: pointer
}

.rating-page-select__option button:hover,
.rating-page-select__option button.active {
	background-color: #473aa8
}

.active .rating-page-select__options {
	display: block
}

.rating-btn {
	--height: 65px;
	position: relative;
	background: var(--color-button-gradient);
	box-shadow: 0 15px 10px #0003;
	border-radius: 9px;
	margin: 0;
	text-decoration: none;
	font-family: inherit;
	font-weight: 900;
	font-size: 21px;
	color: inherit;
	display: inline-flex;
	align-items: center;
	min-height: var(--height);
	transition: opacity .2s ease
}

.rating-btn:before {
	content: "";
	position: absolute;
	background: var(--color-button-gradient);
	opacity: .6;
	inset: 0;
	filter: blur(10px);
	border-radius: inherit
}

.rating-btn span {
	flex: 1 1 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 1;
	text-align: center
}

.rating-btn .rating-btn__icon {
	height: var(--height);
	flex: 0 0 65px;
	align-self: stretch;
	border-top-left-radius: inherit;
	border-bottom-left-radius: inherit;
	background: inherit
}

.rating-btn .rating-btn__icon:before {
	content: "";
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-black);
	opacity: .3;
	mix-blend-mode: soft-light;
	border-top-left-radius: inherit;
	border-bottom-left-radius: inherit
}

.rating-btn .rating-btn__icon>svg,
.rating-btn .rating-btn__icon>i {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 26px;
	height: 26px;
	font-size: 26px;
	z-index: 2
}

.rating-btn:not(:disabled):hover {
	opacity: .8
}

.rating-btn:not(:disabled) {
	cursor: pointer
}

.rating-btn:after {
	z-index: 1
}

.border-mask {
	position: relative
}

.border-mask:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 50%;
	border-top-left-radius: inherit;
	border-top-right-radius: inherit;
	border: 2px solid transparent;
	border-bottom: none;
	background: linear-gradient(rgba(255, 255, 255, .15), rgba(255, 255, 255, 0)) border-box;
	mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
	-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: destination-out;
	mask-composite: exclude
}

.rating-page-sidebar {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(24px, 3vw, 30px);
	align-items: flex-start;
	align-content: flex-start;
	padding-top: 80px;
}

.rating-page-sidebar__lobby-link {
	margin-bottom: 10px
}

@media (max-width: 768px) {
	.rating-page-sidebar__lobby-link {
		margin-bottom: 0
	}
}

@media (max-width: 768px) {
	.rating-page-sidebar {
		grid-template-columns: repeat(2, 1fr)
	}

	.rating-page-sidebar>* {
		grid-column: 1/-1
	}

	.rating-page-sidebar__user-search {
		grid-column: 1/2
	}
}

@media (max-width: 768px) and (max-width: 450px) {
	.rating-page-sidebar__user-search {
		grid-column: 1/-1
	}
}

@media (max-width: 768px) {
	.rating-page-sidebar__role-select {
		grid-column: 2/3
	}
}

@media (max-width: 768px) and (max-width: 450px) {
	.rating-page-sidebar__role-select {
		grid-column: 1/-1
	}
}

@media (max-width: 450px) {
	.rating-page-sidebar {
		grid-template-columns: 1fr
	}
}

.user-search {
	display: grid;
	gap: 4px;
	grid-template-columns: 1fr
}

.rating-page-checkbox {
	position: relative;
	display: inline-flex
}

.rating-page-checkbox input {
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	opacity: 0;
	margin: 0
}

.rating-page-checkbox>label {
	display: inline-flex;
	align-items: center;
	cursor: pointer
}

.rating-page-checkbox>label:hover .checkmark,
.rating-page-checkbox>label:focus .checkmark {
	border-color: var(--color-text-secondary)
}

.rating-page-checkbox .checkmark {
	display: inline-block;
	width: 20px;
	height: 20px;
	border-radius: 4px;
	background: transparent;
	border: 1px solid var(--color-border);
	box-shadow: inset 0 0 10px #00000040;
	cursor: pointer;
	transition: border-color .22s ease;
	position: relative
}

.rating-page-checkbox .checkmark:after {
	content: "";
	width: 12px;
	height: 12px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: 2px;
	background-color: #735cff;
	opacity: 0
}

.rating-page-checkbox input:checked~.checkmark:after {
	opacity: 1
}

.rating-page-checkbox .label-text {
	margin-left: 15px
}

.role-select {
	display: grid;
	grid-template-columns: 1fr;
	gap: 4px
}

@keyframes showSidebarBackdrop {
	0% {
		opacity: 0
	}

	to {
		opacity: 1
	}
}

@keyframes showSidebarContent {
	0% {
		transform: translate(100%)
	}

	to {
		transform: translate(0)
	}
}

@keyframes hideSidebarContent {
	0% {
		transform: translate(0)
	}

	to {
		transform: translate(100%)
	}
}

@keyframes hideSidebarBackdrop {
	0% {
		opacity: 1
	}

	to {
		opacity: 0
	}
}

.select-game__lead {
	margin-bottom: 12px;
	pointer-events: none
}

@media (max-width: 768px) {
	.select-game__lead {
		margin-bottom: 0;
		border-bottom: 1px dashed var(--color-text-secondary);
		display: inline-block;
		cursor: pointer;
		pointer-events: all
	}
}

.select-game__select-all {
	margin-bottom: 12px
}

@media (max-width: 768px) {
	.select-game__variants {
		position: fixed;
		right: 0;
		top: 0;
		width: 280px;
		height: 100%;
		z-index: 100;
		display: none
	}

	.select-game__variants.active {
		display: block
	}

	.select-game__variants.hiding .select-game__variants-inner {
		animation: hideSidebarContent .2s ease forwards
	}

	.select-game__variants.hiding:before {
		animation: hideSidebarBackdrop .2s ease forwards
	}

	.select-game__variants:before {
		content: "";
		background-color: #00000080;
		width: 100vw;
		height: 100%;
		position: fixed;
		inset: 0;
		animation: showSidebarBackdrop .2s ease forwards
	}

	.select-game__variants-inner {
		position: relative;
		padding: 40px 16px 100px;
		z-index: 101;
		height: 100%;
		background-color: var(--color-page-bg);
		animation: showSidebarContent .2s ease forwards
	}
}

.select-game-list {
	list-style-type: none;
	margin: 0;
	padding: 0;
	max-height: 805px;
	overflow-y: auto
}

.select-game-list__item:not(:last-child) {
	margin-bottom: 4px
}

.select-game-list__button {
	background-color: transparent;
	display: flex;
	align-items: center;
	border: none;
	width: 100%;
	padding: 5px 20px;
	margin: 0;
	border-radius: 6px;
	font: inherit;
	color: inherit;
	cursor: pointer;
	text-align: left;
	transition: background-color .1s ease
}

.select-game-list__button:hover,
.select-game-list__button:focus,
.select-game-list__button.active {
	background-color: #433889
}

.select-game-list__button>img {
	display: inline-block;
	width: 25px;
	height: 25px;
	margin-right: 10px
}

.rating-page-table {
	background-color: var(--color-block-bg);
	border: 2px solid var(--color-border);
	border-radius: 7px;
	padding: 8px;
	--grid-columns: repeat(6, 1fr)
}

.rating-page-table__head {
	border-bottom: 1px solid var(--color-text-secondary);
	display: grid;
	grid-template-columns: var(--grid-columns);
	gap: 8px;
	text-align: center
}

@media (max-width: 576px) {
	.rating-page-table__head {
		display: none
	}
}

.rating-page-table__head-item {
	padding: 16px 0 9px;
	display: grid;
	grid-template-columns: 1fr;
	justify-items: center;
	gap: 2px;
	font-size: 14px;
	font-weight: 700;
	font-size: 10px
}

.rating-page-table__head-item>p:first-child {
	font-weight: 900;
	font-size: 14px;
	line-height: 1.2
}

@media (max-width: 992px) {
	.rating-page-table {
		--grid-columns: repeat(4, 1fr) repeat(2, .5fr)
	}
}

.rating-page-players-list {
	list-style-type: none;
	margin: 0;
	padding: 0
}

.rating-page-players-list__item {
	border-bottom: 1px solid var(--color-border)
}

.rating-player-card {
	padding: 10px 0;
	display: grid;
	grid-template-columns: var(--grid-columns);
	gap: 8px
}

@media (max-width: 576px) {
	.rating-player-card {
		grid-template-columns: repeat(2, 1fr);
		grid-template-areas: "account status""firstTrainer secondTrainer""level coins";
		gap: 16px;
		padding: 16px 0
	}
}

@media (max-width: 576px) {
	.rating-player-card__account {
		grid-area: account;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 4px
	}
}

.rating-player-card__person {
	--ava-width: 46px;
	display: grid;
	align-items: center;
	grid-template-columns: var(--ava-width) auto;
	gap: 12px;
	font-weight: 700;
	font-size: 12px;
	transition: color .2s ease;
	height: 100%
}

@media (max-width: 576px) {
	.rating-player-card__person {
		height: auto;
		--ava-width: 36px;
		gap: 8px
	}
}

.rating-player-card__person img {
	width: var(--ava-width);
	height: var(--ava-width);
	object-fit: cover;
	border: 1px solid var(--color-text-secondary);
	border-radius: 50%
}

.rating-player-card__person:hover {
	color: var(--color-text-accent)
}

.rating-player-card__info {
	font-size: 10px;
	text-align: center
}

.rating-player-card__info span {
	display: block
}

.rating-player-card__info span:nth-child(2) {
	margin-top: 6px
}

.rating-player-card__first-trainer-desc,
.rating-player-card__second-trainer-desc {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center
}

@media (max-width: 576px) {

	.rating-player-card__first-trainer-desc,
	.rating-player-card__second-trainer-desc {
		gap: 4px;
		justify-content: flex-start
	}

	.rating-player-card__first-trainer-desc .rating-player-card__lead,
	.rating-player-card__second-trainer-desc .rating-player-card__lead {
		text-align: center
	}
}

@media (max-width: 576px) {
	.rating-player-card__first-trainer-desc {
		grid-area: firstTrainer
	}
}

@media (max-width: 576px) {
	.rating-player-card__second-trainer-desc {
		grid-area: secondTrainer
	}
}

.rating-player-card__coins {
	font-size: 12px;
	font-weight: 700
}

@media (max-width: 576px) {
	.rating-player-card__coins {
		grid-area: coins;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 4px
	}
}

.rating-player-card__coins-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%
}

.rating-player-card__coins-inner>svg {
	width: 12px;
	height: 12px;
	margin-right: 5px
}

@media (max-width: 576px) {
	.rating-player-card__coins {
		grid-area: coins
	}
}

@media (max-width: 576px) {
	.rating-player-card__status {
		grid-area: status;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 4px
	}
}

.rating-player-card__status-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%
}

.rating-player-card__status .online {
	display: none
}

.rating-player-card__status--online .online {
	display: block
}

.rating-player-card__status--online .offline {
	display: block
}

@media (max-width: 576px) {
	.rating-player-card__status {
		grid-area: status
	}
}

.rating-player-card__lead {
	font-weight: 700;
	font-size: 10px
}

.rating-player-card__lead>span {
	display: block
}

.rating-player-card__lead>span:first-child {
	font-weight: 900;
	font-size: 14px;
	line-height: 1.2
}

@media (max-width: 576px) {
	.rating-player-card__stats {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 4px
	}
}

.rating-player-stat {
	font-size: 10px
}

.rating-player-stat__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%
}

.rating-player-stat__title {
	text-align: center
}

.rating-player-stat__values {
	font-weight: 700
}

.rating-player-stat__circle {
	width: 22px;
	height: 22px;
	position: relative;
	margin-left: 2px;
	margin-top: 3px
}

.rating-player-stat__circle>svg {
	position: absolute;
	width: 100%;
	height: 100%
}

.rating-player-stat__circle>span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -48%);
	font-weight: 700;
	font-size: 12px
}

.rating-player-stat__circle .js-rating-player-stat-level-fill {
	--dasharray: 0;
	--dashoffset: 0;
	--opacity: 1;
	opacity: var(--opacity);
	stroke-dasharray: var(--dasharray);
	stroke-dashoffset: var(--dashoffset);
	transition: stroke-dashoffset .3s;
	transform: rotate(-90deg);
	transform-origin: center
}

.rating-player-stat .not-played,
.rating-player-stat--no-played .rating-player-stat__values,
.rating-player-stat--no-played .wins-losses {
	display: block
}

.rating-player-stat--no-played .not-played {
	display: inline-block
}

.middle-news-paginator {
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
}

.middle-news-paginator .box {
  margin: 5px;
  padding: 0;
  width: 40px;
  height: 40px;
  min-width: 40px;
  background-color: #433889;
  border: 1px solid #8d82ff;
  border-radius: 10px;
  font-size: 18px;
  color: #8d82ff;
  font-family: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 220ms;
  font-weight: 500;
  text-decoration: none;
}

.middle-news-paginator > div {
  display: flex;
}

.middle-news-paginator .box:hover {
  color: #fff !important;
  border-color: #fff;
}

.middle-news-paginator .box.active {
  color: #fff !important;
}

.middle-news-paginator .box::before,
.middle-news-paginator .box::after {
  display: none;
}

.tournaments .middle-news-paginator {
  margin-left: -16px;
}

@media (max-width: 576px) {
  .tournaments .middle-news-paginator {
    margin-left: 0;
  }

  .middle-news-paginator .box {
    width: 36px;
    height: 36px;
    min-width: 36px;
    margin: 4px;
  }
}

.rating-page-input__icon svg{
	margin-top: -10px;
    cursor: pointer;
}

.rating-page-checkbox .checkmark:after {
  display: block;
}

.rating-page-checkbox .checkmark.active:after {
  opacity: 1;
}
