html,
body {
	position: relative;
	width: 100%;
	height: 100%;
	padding-top: env(safe-area-inset-top);
	padding-bottom: env(safe-area-inset-bottom);
}

html,
body {
	width: 100%;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 304 304' width='304' height='304'%3E%3Cpath fill='%239C92AC' fill-opacity='0.14' d='M44.1 224a5 5 0 1 1 0 2H0v-2h44.1zm160 48a5 5 0 1 1 0 2H82v-2h122.1zm57.8-46a5 5 0 1 1 0-2H304v2h-42.1zm0 16a5 5 0 1 1 0-2H304v2h-42.1zm6.2-114a5 5 0 1 1 0 2h-86.2a5 5 0 1 1 0-2h86.2zm-256-48a5 5 0 1 1 0 2H0v-2h12.1zm185.8 34a5 5 0 1 1 0-2h86.2a5 5 0 1 1 0 2h-86.2zM258 12.1a5 5 0 1 1-2 0V0h2v12.1zm-64 208a5 5 0 1 1-2 0v-54.2a5 5 0 1 1 2 0v54.2zm48-198.2V80h62v2h-64V21.9a5 5 0 1 1 2 0zm16 16V64h46v2h-48V37.9a5 5 0 1 1 2 0zm-128 96V208h16v12.1a5 5 0 1 1-2 0V210h-16v-76.1a5 5 0 1 1 2 0zm-5.9-21.9a5 5 0 1 1 0 2H114v48H85.9a5 5 0 1 1 0-2H112v-48h12.1zm-6.2 130a5 5 0 1 1 0-2H176v-74.1a5 5 0 1 1 2 0V242h-60.1zm-16-64a5 5 0 1 1 0-2H114v48h10.1a5 5 0 1 1 0 2H112v-48h-10.1zM66 284.1a5 5 0 1 1-2 0V274H50v30h-2v-32h18v12.1zM236.1 176a5 5 0 1 1 0 2H226v94h48v32h-2v-30h-48v-98h12.1zm25.8-30a5 5 0 1 1 0-2H274v44.1a5 5 0 1 1-2 0V146h-10.1zm-64 96a5 5 0 1 1 0-2H208v-80h16v-14h-42.1a5 5 0 1 1 0-2H226v18h-16v80h-12.1zm86.2-210a5 5 0 1 1 0 2H272V0h2v32h10.1zM98 101.9V146H53.9a5 5 0 1 1 0-2H96v-42.1a5 5 0 1 1 2 0zM53.9 34a5 5 0 1 1 0-2H80V0h2v34H53.9zm60.1 3.9V66H82v64H69.9a5 5 0 1 1 0-2H80V64h32V37.9a5 5 0 1 1 2 0zM101.9 82a5 5 0 1 1 0-2H128V37.9a5 5 0 1 1 2 0V82h-28.1zm16-64a5 5 0 1 1 0-2H146v44.1a5 5 0 1 1-2 0V18h-26.1zm102.2 270a5 5 0 1 1 0 2H98v14h-2v-16h124.1zM242 149.9V160h16v34h-16v62h48v48h-2v-46h-48v-66h16v-30h-16v-12.1a5 5 0 1 1 2 0zM53.9 18a5 5 0 1 1 0-2H64V2H48V0h18v18H53.9zm112 32a5 5 0 1 1 0-2H192V0h50v2h-48v48h-28.1zm-48-48a5 5 0 0 1-9.8-2h2.07a3 3 0 1 0 5.66 0H178v34h-18V21.9a5 5 0 1 1 2 0V32h14V2h-58.1zm0 96a5 5 0 1 1 0-2H137l32-32h39V21.9a5 5 0 1 1 2 0V66h-40.17l-32 32H117.9zm28.1 90.1a5 5 0 1 1-2 0v-76.51L175.59 80H224V21.9a5 5 0 1 1 2 0V82h-49.59L146 112.41v75.69zm16 32a5 5 0 1 1-2 0v-99.51L184.59 96H300.1a5 5 0 0 1 3.9-3.9v2.07a3 3 0 0 0 0 5.66v2.07a5 5 0 0 1-3.9-3.9H185.41L162 121.41v98.69zm-144-64a5 5 0 1 1-2 0v-3.51l48-48V48h32V0h2v50H66v55.41l-48 48v2.69zM50 53.9v43.51l-48 48V208h26.1a5 5 0 1 1 0 2H0v-65.41l48-48V53.9a5 5 0 1 1 2 0zm-16 16V89.41l-34 34v-2.82l32-32V69.9a5 5 0 1 1 2 0zM12.1 32a5 5 0 1 1 0 2H9.41L0 43.41V40.6L8.59 32h3.51zm265.8 18a5 5 0 1 1 0-2h18.69l7.41-7.41v2.82L297.41 50H277.9zm-16 160a5 5 0 1 1 0-2H288v-71.41l16-16v2.82l-14 14V210h-28.1zm-208 32a5 5 0 1 1 0-2H64v-22.59L40.59 194H21.9a5 5 0 1 1 0-2H41.41L66 216.59V242H53.9zm150.2 14a5 5 0 1 1 0 2H96v-56.6L56.6 162H37.9a5 5 0 1 1 0-2h19.5L98 200.6V256h106.1zm-150.2 2a5 5 0 1 1 0-2H80v-46.59L48.59 178H21.9a5 5 0 1 1 0-2H49.41L82 208.59V258H53.9zM34 39.8v1.61L9.41 66H0v-2h8.59L32 40.59V0h2v39.8zM2 300.1a5 5 0 0 1 3.9 3.9H3.83A3 3 0 0 0 0 302.17V256h18v48h-2v-46H2v42.1zM34 241v63h-2v-62H0v-2h34v1zM17 18H0v-2h16V0h2v18h-1zm273-2h14v2h-16V0h2v16zm-32 273v15h-2v-14h-14v14h-2v-16h18v1zM0 92.1A5.02 5.02 0 0 1 6 97a5 5 0 0 1-6 4.9v-2.07a3 3 0 1 0 0-5.66V92.1zM80 272h2v32h-2v-32zm37.9 32h-2.07a3 3 0 0 0-5.66 0h-2.07a5 5 0 0 1 9.8 0zM5.9 0A5.02 5.02 0 0 1 0 5.9V3.83A3 3 0 0 0 3.83 0H5.9zm294.2 0h2.07A3 3 0 0 0 304 3.83V5.9a5 5 0 0 1-3.9-5.9zm3.9 300.1v2.07a3 3 0 0 0-1.83 1.83h-2.07a5 5 0 0 1 3.9-3.9zM97 100a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-48 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 96a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-144a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm96 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM49 36a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-32 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM33 68a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 240a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm80-176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 48a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm112 176a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm-16 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 180a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0 16a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm0-32a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM17 84a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm32 64a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm16-16a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'%3E%3C/path%3E%3C/svg%3E") repeat #DFDBE5;
	color: #333;
	background-size: auto;
	background-position: top left;
	background-attachment: scroll;
	margin: 0;
	box-sizing: border-box;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

a {
	color: rgb(0, 100, 200);
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

a:visited {
	color: rgb(0, 80, 160);
}

label {
	display: block;
}

input,
button,
select,
textarea {
	font-family: inherit;
	font-size: inherit;
	-webkit-padding: 0.4em 0;
	padding: 0.4em;
	margin: 0 0 0.5em 0;
	box-sizing: border-box;
	border: 1px solid #ccc;
	border-radius: 2px;
}

input:disabled {
	color: #ccc;
}

button {
	color: #333;
	background-color: var(--light-back);
	outline: none;
}

button:disabled {
	color: #999;
}

button:not(:disabled):active {
	background-color: #ddd;
}

:root {
	--primary: #FFCE00;
	--secondary: #FE4880;
	--danger: #E25555;
	--dark: #212121;
	--light-back: #f4f4f4;
	--green: #4dcc62;
	--orange: #FF9F1C;
	--best: #FF6B00;
	--info-light: #4b90f8;
	--info: #2563eb;
}

* {
	margin: 0;
	padding: 0;
}

.container {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	text-align: center;
}

.text-cards {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}

.big-card {
	width: 17rem;
	height: 25rem;
	margin-left: 0.5rem;
}


.small-card {
	width: 12.825rem;
	height: 8.55rem;
}

.medium-card {
	width: 12.9rem;
	height: 8.6rem;
}

.color-yellow {
	background-color: #FFD600;
}

.color-white {
	background-color: var(--light-back);
}

.card__bottom.enabled:hover,
.card__top.enabled:hover {
	cursor: pointer;
	/* opacity: 0.7; */
}

.card__top,
.card__bottom * {
	transition: opacity 0.4s ease, filter 0.4s ease, color 0.4s ease;
}

.big-card .card__text {
	line-height: 1.4;
}

.big-card .card__bottom {
	background: #F4F3F7;
}

/* 🟢 Когда выбрана верхняя часть — нижняя приглушена */
.big-card .card__content.selected-top .card__bottom.enabled {
	color: #aaaaaa;
}

/* 🟡 Когда выбрана нижняя часть — верхняя приглушена */
.big-card .card__content.selected-bottom .card__top.enabled {
	color: #7a7979;
	filter: grayscale(100%);
}

/* ✅ Выделение выбранной части */
.big-card .card__content.selected-top .card__top,
.big-card .card__content.selected-bottom .card__bottom {
	z-index: 1;
	position: relative;
}

.card__inner {
	width: 100%;
	height: 100%;
	position: relative;
	display: grid;
	text-align: left;
}

.card__inner:not(.is-flipped) {
	transition: transform 0.6s ease;
}

/* когда перевёрнуто */
.card__inner.is-flipped .card__face--front {
	transform: rotateY(180deg);
}

.card__inner.is-flipped .card__face--back {
	transform: rotateY(360deg);
}

.card__face {
	position: absolute;
	width: 100%;
	height: 100%;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	border-radius: 1rem;
	background-color: white;
	box-shadow: -6px 7px 6px 0px rgba(0, 0, 0, 0.08),
		0 -2px 4px rgba(0, 0, 0, 0.08);
	transition: transform 0.6s ease;
}

.meme-card:not(:has(.is-flipped)):not(:has(.card-selected)):not(:has(.card-best)) .card__face {
	border: solid 1px rgb(173, 162, 162);
}

.shadow {
	box-shadow: 0px 3px 18px 3px rgba(0, 0, 0, 0.2);
}

.card__face--front {
	transform: rotateY(0deg);
	z-index: 2;
}

.card__face--back {
	transform: rotateY(180deg);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	background-color: #F4F3F7;
	background-repeat: repeat;
	background-size: 48px 48px;
	backface-visibility: hidden;
	position: relative;
}

.card__face--back .back-image {
	background-image: url("/images/troll.png");
	height: 40%;
	width: 40%;
	opacity: 0.3;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	display: block;
	transform: translateZ(0);
}

.card__face--back-text {
	transform: rotateY(180deg);
	height: 100%;
	width: 100%;
	background-color: white;
	z-index: 1;
	backface-visibility: hidden;
}

.emoji-stamp {
	font-size: 50px;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
	opacity: 0.9;
}

.card__content {
	width: 100%;
	height: 100%;
	position: relative;
	border-radius: 1rem;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
	background: #F4F3F7;
	transition: background 0.3s ease;
}

.card__top {
	position: relative;
	box-sizing: border-box;
	height: 50%;
	z-index: 1;
	border-radius: 1rem 1rem 0 0;
}

.card__top:after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: var(--orange);
	z-index: -1;
	border-radius: 1rem 1rem 50% 0px;
}

.card__top.enabled:hover:after {
	background: #f09d06;
}

.card__top.enabled:not(.shadow):has(+ .card__bottom.enabled:hover) {
	background-color: #eeeded;
}

.card__bottom.enabled:not(.shadow):hover {
	background-color: #eeeded;
}

.big-card.enabled .card__top::before,
.big-card.enabled .card__bottom::before {
	content: "Выбрать";
	position: absolute;
	bottom: 8px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 0.75rem;
	padding: 4px 8px;
	border-radius: 6px;
	opacity: 0;
	transition: opacity 0.2s ease;
	pointer-events: none;
	filter: none;
}

.big-card .card__top::before {
	color: black;
	background: white;
}

.big-card .card__bottom::before {
	color: white;
	background: var(--orange);
}

.big-card .card__content:not(.selected-top) .card__top:hover::before,
.big-card .card__content:not(.selected-bottom) .card__bottom:hover::before {
	opacity: 1;
}

.card__bottom {
	box-sizing: border-box;
	height: 50%;
	position: relative;
	border-radius: 0 0 1rem 1rem;
}

.disabled button {
	background: #A0DAB2;
	cursor: default;
	pointer-events: none;
}

.card__content {
	color: var(--dark);
	line-height: 1.5;
}

.image {
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

.confirm button {
	margin: 0;
}

.new-game-btn {
	background: white;
	border: 1.5px solid var(--info);
	color: var(--info);
	cursor: pointer;
	transition: all 0.2s ease;
}

.new-game-btn:focus-visible {
	outline: none;
}

.top-actions {
	position: absolute;
	top: 24px;
	right: 24px;
}

.players-panel {
	min-width: 14rem;
	width: 100%;
	height: fit-content;
	font-family: sans-serif;
	background: var(--light-back);
	padding: 0.75rem 0.5rem 0.75rem 1rem;
}

.players-panel h3 {
	margin-bottom: 0.74rem;
	color: #333;
}

.players-list {
	list-style: none;
	line-height: 1;
	padding: 0;
	margin: 0;
	max-width: 17.5rem;
}

.players-list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.35rem 0;
}

.players-list li:not(:last-child) {
	border-bottom: 1px solid #d9d9d9;
}

.players-list .cell:not(:last-child) {
	margin-right: 0.5rem;
}

.players-list .cell.winner:not(:last-child) {
	margin-right: 0.6rem;
}

.players-list .cell {
	display: flex;
	align-items: center;
	line-height: normal;
	min-width: 1rem;
	min-height: 1rem;
	font-family: monospace;
	white-space: nowrap;
}

.status {
	display: flex;
}

.nickname {
	flex: 1;
	color: #333;
	font-weight: 500;
	/* для старых браузеров */
	word-wrap: break-word;
	/* современный стандарт */
	overflow-wrap: break-word;
	/* разрешает перенос строк */
	white-space: normal;
	min-width: 0;
	height: 1rem;
}

.status-container {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.online-status {
	display: block;
	width: 0.8rem;
	height: 0.8rem;
	right: 0.8rem;
	border-radius: 50%;
}

.online-status.online {
	background-color: #04c03f;
}

.online-status.offline {
	background-color: #bfbfbf;
}

.score {
	color: #555;
	padding-top: 1px;
	width: 1.2rem;
}

.situation-card {
	display: flex;
	justify-content: space-around;
	width: 100%;
}

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap');

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: "Poppins", sans-serif;
	/* font-family: monospace; */
}

main {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
	min-width: fit-content;
	padding: 0.1rem 1rem 0.5rem 1rem;
	width: 100%;
	min-height: 100vh;
	flex: 1;
}

.app {
	display: flex;
	flex-direction: column;
	min-width: fit-content;
	width: 100%;
	min-height: 100vh;
}

.top-nav-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 0.5rem;
	top: 0;
	left: 0;
	width: 100%;
	font-weight: normal;
}

.top-nav-bar button:not(.new-game-btn) {
	color: #222;
	border: none;
}

.left-group {
	display: flex;
}

.right-group {
	display: flex;
}

.right-group button {
	margin: 0 0 0 0.5rem;
}

.points {
	background: #FFD600;
	color: #222;
	border: none;
	border-radius: 0.75rem;
	padding: 0.5rem 1rem;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
	margin-left: 1rem;
	margin-right: 1rem;
	display: flex;
	align-items: center;
	/* height: 2.25rem; */
}

.points b {
	margin-left: 0.3em;
	font-family: monospace;
}

.cards-label {
	position: absolute;
	top: -3rem;
	left: 0.2rem;
	margin-bottom: 6px;
	background: var(--orange);
}

.label {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 2.25rem;
	padding: 0.5rem 1rem;
	border-radius: 0.75rem;
}

.button-action1 {
	width: fit-content;
	gap: 0.4rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	white-space: nowrap;
	border-width: 1px;
	justify-content: center;
	padding: 0.75rem 1.25rem;
	transition: all 0.2s ease;
}

.button-action1:hover:not(:disabled) {
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
	opacity: 0.9;
	transform: scale(1.02);
}

.button-small {
	border-radius: 0.75rem;
	padding: 0.5rem;
}

.confirm .button-small {
	padding: 0.5rem 1rem 0.5rem 0.5rem;
}

.start .button-small {
	padding: 0.5rem 1rem 0.5rem 1rem;
}

.button-big {
	border-radius: 0.75rem;
	padding: 0.8rem 1.2rem;
}

.menu-btn {
	min-width: 2.5rem;
	height: 2.25rem;
	margin: 0;
	margin-right: 0.5rem;
}

button.menu-btn {
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.menu-btn:hover {
	transform: scale(1.02);
}

.bg-green {
	background: var(--green);
}

.bg-info {
	background: var(--info-light);
}

.color-none {
	border: none;
}

.center {
	display: flex;
	justify-content: center;
	padding: 1rem 0rem;
	width: max-content;
	min-width: 100%;
}

.top-left {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-bottom: 1rem;
}

.field {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-right: 1rem;
	margin-left: 1rem;
}

.player-cards {
	position: relative;
	display: flex;
	justify-content: center;
	width: max-content;
	min-width: 100%;
}

.preview {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.zoom-button {
	position: absolute;
	top: 8px;
	right: 8px;
	height: 2rem;
	width: 2rem;
	background: rgba(255, 255, 255, 0.8);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	opacity: 0;
	z-index: 3;
}

/* Показывать кнопку при наведении (только на десктопе) */
@media (hover: hover) and (pointer: fine) {
	.card__inner:hover .zoom-button {
		opacity: 1;
	}
}

/* Показывать кнопку всегда на тач-устройствах */
@media (hover: none) and (pointer: coarse) {
	.zoom-button {
		opacity: 1;
	}
}

.vote-cards {
	display: grid;
	width: fit-content;
	height: fit-content;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	padding: 0 1rem 1.5rem;
}

.vote-label {
	position: absolute;
	top: 0.375rem;
	left: 0.375rem;
	background: rgba(255, 255, 255, 0.8);
	padding: 0.125rem 0.375rem;
	border-radius: 0.375rem;
	color: #ef6d10;
	font-weight: 500;
	pointer-events: none;
	z-index: 2;
	word-wrap: break-word;
	overflow-wrap: break-word;
	white-space: normal;
	min-width: 0;
	max-width: 12.5rem;
}

.wrapper {
	display: flex;
	justify-content: center;
	width: fit-content;
	position: relative;
	bottom: 0;
	margin-bottom: 1rem;
}

.modal i {
	top: 50%;
	height: 50px;
	width: 50px;
	cursor: pointer;
	font-size: 1.25rem;
	position: absolute;
	text-align: center;
	line-height: 50px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.23);
	transform: translateY(-50%);
	transition: transform 0.1s linear;
	z-index: 2;
}

.modal i:active {
	transform: translateY(-50%) scale(0.85);
}

#left {
	left: 0;
}

#right {
	right: 0;
}

.wrapper .carousel {
	display: grid;
	grid-auto-flow: column;
	gap: 0.5rem;
	border-radius: 8px;
}

.meme-card {
	width: fit-content;
	list-style: none;
}

.meme-card .card__inner.enabled:not(.card-selected):hover {
	opacity: 0.7;
}

.meme-card .card__inner.enabled:hover {
	transform: scale(1.03);
}

.card-selected {
	box-shadow: 0 0 0 4px var(--green);
	border-radius: 1rem;
}

.card-selected::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 1rem;
	background: rgba(255, 223, 158, 0.35);
	z-index: 2;
	pointer-events: none;
}

.card-best {
	box-shadow: 0 0 0 4px var(--best);
	border-radius: 1rem;
}

.bg-best {
	background: var(--best);
}

.card-best::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 0.75rem;
	background: rgba(205, 133, 63, 0.25);
	z-index: 2;
	pointer-events: none;
}

.card-icon {
	position: absolute;
	padding: 4px;
	border-radius: 50%;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	transition: opacity 0.2s ease;
	z-index: 2;
}

.small-icon {
	bottom: 0.5rem;
	left: 0.5rem;
	width: 1.5rem;
	height: 1.5rem;
}

.big-icon {
	bottom: 0.875rem;
	left: 0.875rem;
	width: 1.75rem;
	height: 1.75rem;
}

.selected-top .card-icon {
	background: white;
}

.selected-bottom .card-icon {
	background: var(--orange);
}

.rotate-warning {
	display: none;
	flex-direction: column;
	text-align: center;
}

.rotate-warning__text {
	margin-bottom: 3rem;
	font-size: 2rem;
}

@media screen and (orientation: portrait) {
	.app {
		display: none;
	}

	.rotate-warning {
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 1.2rem;
		height: 100vh;
		background: white;
		color: #333;
	}
}

@media (max-width: 900px) {

	html,
	body {
		font-size: 10px;
	}

	.players-panel h3 {
		font-size: 1.5rem;
	}

	.top-nav-bar {
		font-size: 1.2rem;
	}

	.top-nav-bar button {
		height: 2.5rem;
	}

	.label {
		font-size: 1.2rem;
		height: 2.5rem;
		line-height: 2.5rem;
	}

	.game-status {
		padding-right: 1rem;
		padding-bottom: 2px;
		min-height: 2.5rem;
	}


	.wrapper .carousel {
		gap: 0.45rem;
	}
}

@media (max-width: 900px) {

	.card__top,
	.card__bottom {
		padding: 0.5rem 1rem 0.5rem 1.3rem;
	}
}

@media (min-width: 901px) {

	.card__top,
	.card__bottom {
		padding: 1rem 1rem 1rem 1.3rem;
	}
}

@media (min-width: 901px) and (max-width: 1200px) {

	html,
	body {
		font-size: 13px;
	}

	.game-status {
		/* padding: 0.6rem; */
		padding-right: 0.8rem;
		min-height: 2.5rem;
	}

	.big-card .card__text {
		/* font-size: 18px; */
	}
}

@media (min-width: 1201px) {

	html,
	body {
		font-size: 16px;
	}

	.vote-label {
		font-size: 14px;
	}

	.game-status {
		/* padding: 0.6rem; */
		padding-right: 0.8rem;
		min-height: 2.25rem;
	}

	.wrapper {
		margin-top: 1.2rem;
	}

	.card__content {
		font-size: 0.9rem;
	}

	.confirm button {
		font-size: 0.9rem;
	}

	.players-panel h3 {
		font-size: 0.9rem;
	}

	.players-panel .cell {
		font-size: 0.9rem;
	}

	.top-nav-bar {
		font-size: 0.9rem;
	}

	.cards-label {
		font-size: 0.9rem;
	}

	.button-small {
		font-size: 0.9rem;
	}
}

.game-status-group {
	display: flex;
	margin-left: 0.5rem;
}

.game-status {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background: var(--light-back);
	border-radius: 0.75rem;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
	font-weight: 500;
	color: #333;
	text-align: center;
	padding-left: 2.3rem;
	/* место для кружка */
}

.game-status::before {
	content: '';
	position: absolute;
	/* top: 0.75rem; */
	left: 0.75rem;
	width: 1rem;
	height: 1rem;
	background-color: var(--status-color);
	border-radius: 50%;
}

.game-status__text {
	margin: 0;
	font-family: monospace;
	/* margin-bottom: 2px; */
}

.game-status__timer {
	/* position: absolute;
	right: 2rem; */
	font-family: monospace;
	opacity: 0.8;
	display: flex;
	align-items: center;
	margin-right: 2rem;
	font-size: 1.3rem;
}

.status-choosing-situation {
	background-color: #feb148;
}

.status-waiting-situation {
	background-color: #81aff5;
}

.status-choosing-meme {
	background-color: #f8de51;
}

.status-waiting-memes {
	background-color: #4b90f8;
}

.status-choosing-best {
	background-color: #f8de51;
}

.status-waiting-best {
	background-color: #81aff5;
}

.status-best-chosen {
	background-color: #58dd6e;
}

.status-finished {
	background-color: #04c03f;
}

.panel {
	box-shadow: -6px 7px 6px 0px rgba(0, 0, 0, 0.08);
	border-radius: 0.75rem;
}