/* PawYume Games. Цвета берутся из переменных: их можно переопределить в теме. */
.pyg-hub,
.pyg-player,
.pyg-tags,
.pyg-empty,
.pyg-toast {
	--pyg-accent: #8a2be2;
	--pyg-accent-soft: rgba(138, 43, 226, .12);
	--pyg-ink-on-accent: #fff;
	--pyg-stage: #120b1c;
	--pyg-muted: rgba(127, 127, 140, .95);
	--pyg-r-lg: 22px;
	--pyg-r-md: 16px;
	box-sizing: border-box;
}
.pyg-hub *, .pyg-player *, .pyg-hub *::before, .pyg-player *::before { box-sizing: border-box; }
.pyg-player svg, .pyg-hub svg { width: 1em; height: 1em; fill: currentColor; flex: none; }

/* --------------------------------------------------------------- плеер */
.pyg-player { margin: 0 0 1.5em; }

.pyg-stage {
	position: relative;
	width: min(100%, calc(78vh * var(--pyg-arn, 1.7778)));
	aspect-ratio: var(--pyg-ar, 16 / 9);
	margin: 0 auto;
	background: var(--pyg-stage);
	border: 2px solid var(--pyg-accent);
	border-radius: var(--pyg-r-lg);
	overflow: hidden;
	isolation: isolate;
}
@supports (height: 1svh) {
	.pyg-stage { width: min(100%, calc(78svh * var(--pyg-arn, 1.7778))); }
}

.pyg-poster {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background: radial-gradient(120% 90% at 50% 110%, rgba(138, 43, 226, .55), transparent 60%), var(--pyg-stage);
	background-size: cover;
	background-position: center;
}
.pyg-poster::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10, 5, 18, .05) 30%, rgba(10, 5, 18, .7));
	pointer-events: none;
}
.pyg-play {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: .55em;
	padding: .85em 1.9em .85em 1.5em;
	font: inherit;
	font-size: clamp(16px, 2.6vw, 20px);
	font-weight: 800;
	letter-spacing: .02em;
	color: var(--pyg-ink-on-accent);
	background: var(--pyg-accent);
	border: 3px solid #fff;
	border-radius: 999px;
	box-shadow: 0 10px 30px rgba(138, 43, 226, .45);
	cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease;
}
.pyg-play:hover { transform: scale(1.04); box-shadow: 0 14px 38px rgba(138, 43, 226, .6); }
.pyg-play:active { transform: scale(.98); }
.pyg-play:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.pyg-play svg { width: 1.15em; height: 1.15em; }
.pyg-weight {
	position: absolute;
	z-index: 1;
	right: 12px;
	bottom: 10px;
	font-size: 12px;
	color: rgba(255, 255, 255, .8);
}

.pyg-frame {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
	background: #000;
}
.pyg-player.is-playing .pyg-poster { display: none; }

.pyg-loader {
	position: absolute;
	inset: 0;
	display: none;
	place-items: center;
	pointer-events: none;
	z-index: 2;
}
.pyg-loader span {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: 4px solid rgba(255, 255, 255, .2);
	border-top-color: var(--pyg-accent);
	animation: pyg-spin .8s linear infinite;
}
.pyg-player.is-loading .pyg-loader { display: grid; }
@keyframes pyg-spin { to { transform: rotate(360deg); } }

/* Кнопка выхода видна только в полноэкранном режиме. */
.pyg-exit {
	position: absolute;
	z-index: 5;
	top: max(8px, env(safe-area-inset-top));
	left: 50%;
	transform: translateX(-50%);
	display: inline-flex;
	align-items: center;
	gap: .35em;
	padding: 5px 12px 5px 9px;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	color: #fff;
	background: rgba(18, 11, 28, .55);
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 999px;
	opacity: .55;
	cursor: pointer;
	transition: opacity .15s;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.pyg-exit:hover, .pyg-exit:focus-visible { opacity: 1; }
.pyg-exit svg { stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; fill: none; }
.pyg-exit[hidden] { display: none; }

.pyg-stage.is-fs:fullscreen { width: 100%; height: 100%; max-width: none; aspect-ratio: auto; border: 0; border-radius: 0; }
.pyg-stage.is-fs:-webkit-full-screen { width: 100%; height: 100%; max-width: none; aspect-ratio: auto; border: 0; border-radius: 0; }
.pyg-stage.is-pseudo {
	position: fixed;
	inset: 0;
	width: 100vw;
	height: 100vh;
	height: var(--pyg-vh, 100dvh);
	max-width: none;
	margin: 0;
	aspect-ratio: auto;
	border: 0;
	border-radius: 0;
	z-index: 2147483000;
}
html.pyg-noscroll, html.pyg-noscroll body { overflow: hidden !important; overscroll-behavior: none; }

/* Панель под игрой. */
.pyg-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	margin-top: 12px;
}
.pyg-stat {
	display: inline-flex;
	align-items: center;
	gap: .4em;
	color: var(--pyg-muted);
}
.pyg-stat b, .pyg-like b { font-weight: 700; color: inherit; }
.pyg-like, .pyg-fs, .pyg-btn {
	display: inline-flex;
	align-items: center;
	gap: .45em;
	padding: 7px 16px;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--pyg-accent);
	background: transparent;
	border: 2px solid var(--pyg-accent);
	border-radius: 999px;
	cursor: pointer;
	transition: background-color .15s, color .15s;
}
.pyg-like:hover, .pyg-fs:hover, .pyg-btn:hover { background: var(--pyg-accent-soft); }
.pyg-like:focus-visible, .pyg-fs:focus-visible, .pyg-btn:focus-visible, .pyg-stars button:focus-visible, .pyg-chip:focus-visible, .pyg-card:focus-visible {
	outline: 3px solid var(--pyg-accent);
	outline-offset: 2px;
}
.pyg-like[aria-pressed="true"] { color: var(--pyg-ink-on-accent); background: var(--pyg-accent); }
.pyg-like:disabled { opacity: .6; cursor: default; }
.pyg-like svg { width: 1.1em; height: 1.1em; }
.pyg-fs { margin-left: auto; }
.pyg-fs svg { stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; fill: none; }

.pyg-rate { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pyg-stars { display: inline-flex; }
.pyg-stars button {
	padding: 0 2px;
	font-size: 22px;
	line-height: 1;
	color: var(--pyg-accent);
	opacity: .28;
	background: none;
	border: 0;
	cursor: pointer;
	transition: opacity .1s, transform .1s;
}
.pyg-stars button.is-on { opacity: 1; }
.pyg-rate.is-preview .pyg-stars button.is-on { transform: scale(1.12); }
.pyg-avg { color: var(--pyg-muted); font-size: 13px; }

.pyg-desc { margin-top: 1.2em; }
.pyg-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 1em; }

/* ---------------------------------------------------- шапка страницы игры */
.pyg-head { margin: 0 0 16px; }
.pyg-banner {
	aspect-ratio: 8 / 3;
	background: var(--pyg-stage, #120b1c) center / cover no-repeat;
	border: 2px solid var(--pyg-accent, #8a2be2);
	border-radius: 22px;
}
.pyg-head-row { display: flex; align-items: center; gap: 16px; }
.pyg-head.has-banner .pyg-head-row { align-items: flex-end; margin-top: -44px; padding: 0 18px; }
.pyg-ava {
	flex: none;
	width: 96px;
	height: 96px;
	object-fit: cover;
	border-radius: 26px;
	border: 3px solid var(--pyg-accent, #8a2be2);
	background: #fff;
	box-shadow: 0 0 0 4px #fff;
}
.pyg-head-text { min-width: 0; padding-bottom: 4px; }
.pyg-head.has-banner .pyg-head-text { padding-top: 50px; }
.pyg-lead { margin: 0 0 8px; font-size: 1.05em; line-height: 1.45; }
.pyg-head .pyg-tags { margin: 0; }

/* ------------------------------------------------------ недавние игроки */
.pyg-people { margin: 1.5em 0 1em; }
.pyg-faces { display: flex; flex-wrap: wrap; }
.pyg-faces img {
	width: 44px;
	height: 44px;
	margin: 0 -8px 6px 0;
	object-fit: cover;
	border-radius: 50%;
	border: 2px solid var(--pyg-accent, #8a2be2);
	box-shadow: 0 0 0 2px #fff;
	background: #fff;
}
.pyg-people-total { margin: 6px 0 0; font-size: 13px; color: rgba(127, 127, 140, .95); }

/* -------------------------------------------------------------- каталог */
.pyg-hub { width: 100%; max-width: 100%; min-width: 0; margin: 0 0 1.5em; font-family: Manrope, system-ui, sans-serif; }

.pyg-tools { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 14px; }
.pyg-tools label { margin: 0; }
.pyg-search { flex: 1 1 220px; }
.pyg-search input, .pyg-sort select {
	width: 100%;
	height: 40px;
	padding: 0 16px;
	font: inherit;
	font-size: 15px;
	color: inherit;
	background: transparent;
	border: 2px solid var(--pyg-accent);
	border-radius: 999px;
}
.pyg-sort select { padding-right: 32px; cursor: pointer; }
.pyg-search input:focus, .pyg-sort select:focus { outline: 3px solid var(--pyg-accent-soft); outline-offset: 0; }
.pyg-btn { height: 40px; padding: 0 20px; }

.pyg-genres { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.pyg-chip {
	display: inline-block;
	padding: 5px 14px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--pyg-accent);
	text-decoration: none !important;
	border: 2px solid var(--pyg-accent);
	border-radius: 999px;
	transition: background-color .15s;
}
.pyg-chip:hover { background: var(--pyg-accent-soft); }
.pyg-chip.is-on { color: var(--pyg-ink-on-accent); background: var(--pyg-accent); }

.pyg-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 16px;
}
.pyg-card {
	display: flex;
	flex-direction: column;
	color: inherit;
	text-decoration: none !important;
	border: 2px solid var(--pyg-accent);
	border-radius: var(--pyg-r-md);
	overflow: hidden;
	transition: box-shadow .15s;
}
.pyg-card:hover { box-shadow: 0 0 0 3px var(--pyg-accent-soft); }
.pyg-cover {
	display: block;
	aspect-ratio: 16 / 10;
	background: var(--pyg-stage) center / cover no-repeat;
	transition: transform .25s ease;
}
.pyg-card:hover .pyg-cover { transform: scale(1.03); }
.pyg-cover.is-blank {
	display: grid;
	place-items: center;
	font-size: 44px;
	font-weight: 800;
	color: #fff;
	background: radial-gradient(120% 90% at 50% 110%, rgba(138, 43, 226, .7), transparent 65%), var(--pyg-stage);
}
.pyg-cover.is-icon {
	position: relative;
	display: grid;
	place-items: center;
	overflow: hidden;
}
.pyg-cover.is-icon::before {
	content: "";
	position: absolute;
	inset: -20px;
	background: var(--pyg-img) center / cover no-repeat;
	filter: blur(18px) saturate(1.3) brightness(.6);
}
.pyg-cover.is-icon img {
	position: relative;
	width: 42%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 22%;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .35);
}
.pyg-card-body {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px 12px;
}
.pyg-card-ava {
	flex: none;
	width: 40px;
	height: 40px;
	margin-top: -26px;
	object-fit: cover;
	border-radius: 12px;
	border: 2px solid var(--pyg-accent);
	box-shadow: 0 0 0 2px #fff;
	background: #fff;
	align-self: flex-start;
}
.pyg-card-text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pyg-card-title { font-weight: 800; font-size: 15px; line-height: 1.25; overflow-wrap: anywhere; }
.pyg-card-meta { display: flex; flex-wrap: wrap; gap: 10px; font-size: 12px; color: var(--pyg-muted); }

.pyg-pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 20px; }
.pyg-pages .page-numbers {
	min-width: 38px;
	padding: 6px 12px;
	text-align: center;
	font-weight: 700;
	color: var(--pyg-accent);
	text-decoration: none;
	border: 2px solid var(--pyg-accent);
	border-radius: 999px;
}
.pyg-pages .page-numbers.current { color: var(--pyg-ink-on-accent); background: var(--pyg-accent); }
.pyg-pages .page-numbers.dots { border-color: transparent; }

.pyg-h { margin: 1.2em 0 .6em; }
.pyg-empty {
	padding: 26px 20px;
	text-align: center;
	border: 2px dashed var(--pyg-accent);
	border-radius: var(--pyg-r-md);
}
.pyg-empty a { color: var(--pyg-accent); font-weight: 700; }

/* ---------------------------------------------------------------- тост */
.pyg-toast {
	position: fixed;
	left: 50%;
	bottom: max(20px, env(safe-area-inset-bottom));
	z-index: 2147483600;
	max-width: min(92vw, 440px);
	padding: 12px 18px;
	font-size: 14px;
	color: #fff;
	background: #1d1328;
	border: 2px solid var(--pyg-accent);
	border-radius: 999px;
	opacity: 0;
	transform: translate(-50%, 10px);
	pointer-events: none;
	transition: opacity .2s, transform .2s;
}
.pyg-toast.is-on { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.pyg-toast a { color: #d9b8ff; font-weight: 700; }

@media (max-width: 520px) {
	.pyg-ava { width: 72px; height: 72px; border-radius: 20px; }
	.pyg-head.has-banner .pyg-head-row { margin-top: -32px; padding: 0 10px; }
	.pyg-head.has-banner .pyg-head-text { padding-top: 36px; }
	.pyg-banner { border-radius: 16px; }
	.pyg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.pyg-card-title { font-size: 14px; }
	.pyg-fs { margin-left: 0; }
	.pyg-stage { border-radius: var(--pyg-r-md); }
}

@media (prefers-reduced-motion: reduce) {
	.pyg-play, .pyg-cover, .pyg-toast, .pyg-stars button { transition: none; }
	.pyg-loader span { animation-duration: 2s; }
}

/* ======================================================= плитки-аватарки */
html.pyg-noscroll-fs, html.pyg-noscroll-fs body { overflow: hidden !important; overscroll-behavior: none; }
/* Сброс оформления кнопок и полей темы внутри хаба и окна игры. */
.pyg-hub button, .pyg-modal button, .pyg-hub input, .pyg-modal input, .pyg-buy button, .pyg-buy input, .pyg-buy textarea {
	font-family: Manrope, system-ui, sans-serif;
	text-transform: none;
	letter-spacing: normal;
	text-shadow: none;
	min-height: 0;
	margin: 0;
}

.pyg-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
	gap: 22px 16px;
}
.pyg-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	min-width: 0;
	color: inherit;
	text-decoration: none !important;
	border-radius: 24px;
}
.pyg-tile[hidden] { display: none !important; }
.pyg-tile:focus-visible { outline: 3px solid #6366f1; outline-offset: 4px; }
/* Двойная рамка, как у промо-баннера. */
.pyg-tile-ava {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1;
	padding: 4px;
	border: 3px solid rgba(99, 102, 241, .35);
	border-radius: 30%;
	box-shadow: 0 10px 26px rgba(15, 23, 42, .18);
	transition: transform .3s, box-shadow .3s, border-color .3s;
}
.pyg-tile-inner {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background: #0f172a;
	border: 2px solid rgba(99, 102, 241, .6);
	border-radius: 26%;
}
.pyg-tile-img {
	display: block;
	width: 100%;
	height: 100%;
	background: #0f172a center / cover no-repeat;
	transition: transform .6s;
}
.pyg-tile-img.is-blank {
	display: grid;
	place-items: center;
	font: 400 38px var(--pyg-head-font, "Russo One", Manrope, sans-serif);
	color: #fff;
	background: radial-gradient(120% 90% at 50% 110%, rgba(99, 102, 241, .8), transparent 65%), #0f172a;
}
.pyg-tile:hover .pyg-tile-ava { transform: translateY(-5px); border-color: rgba(99, 102, 241, .6); box-shadow: 0 20px 40px rgba(15, 23, 42, .28), 0 0 26px -6px rgba(99, 102, 241, .8); }
.pyg-tile:hover .pyg-tile-img { transform: scale(1.07); }
.pyg-new {
	position: absolute;
	z-index: 1;
	left: 10px;
	top: 10px;
	padding: 3px 8px;
	font: 800 10px/1.3 Manrope, system-ui, sans-serif;
	color: #fff;
	background: linear-gradient(135deg, #6366f1, #8a2be2);
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 99px;
	box-shadow: 0 4px 12px rgba(99, 102, 241, .5);
}
.pyg-tile-title {
	width: 100%;
	font: 800 13.5px/1.25 Manrope, system-ui, sans-serif;
	color: #1e293b;
	text-align: center;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color .2s;
}
.pyg-tile:hover .pyg-tile-title { color: #4f46e5; }

/* ------------------------------------------- фильтры, как в ленте аниме */
.pyg-filter { position: relative; z-index: 20; display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; margin: 0 0 12px; }
.pyg-cs { position: relative; flex: 1 1 220px; min-width: 180px; }
.pyg-cs.is-sort { flex: 0 1 240px; }
.pyg-hub .pyg-cs-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	padding: 12px 18px 12px 20px;
	font: 700 14px/1.3 Manrope, system-ui, sans-serif;
	color: #1e293b;
	text-align: left;
	background: #fff;
	border: 2px solid #e0e7ff;
	border-radius: 50px;
	box-shadow: none;
	cursor: pointer;
	user-select: none;
	transition: border-color .2s, background-color .2s, box-shadow .2s;
}
.pyg-hub .pyg-cs-trigger:hover { border-color: #a78bfa; background: #f8fafc; }
.pyg-cs.is-open .pyg-cs-trigger { border-color: #6366f1; box-shadow: 0 0 0 3px rgba(99, 102, 241, .12); }
.pyg-cs.has-value .pyg-cs-trigger { color: #4338ca; border-color: #6366f1; background: rgba(99, 102, 241, .06); }
.pyg-cs-text { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pyg-hub .pyg-cs-arrow { flex: none; width: 16px; height: 16px; fill: #6366f1; transition: transform .3s; }
.pyg-cs.is-open .pyg-cs-arrow { transform: rotate(180deg); }
.pyg-cs-list {
	position: absolute;
	z-index: 100;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	max-height: 320px;
	overflow-y: auto;
	padding: 6px 0;
	background: #fff;
	border: 2px solid #e0e7ff;
	border-radius: 16px;
	box-shadow: 0 10px 25px rgba(0, 0, 0, .1);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: opacity .2s, transform .2s, visibility 0s linear .2s;
	scrollbar-width: thin;
	scrollbar-color: #cbd5e1 transparent;
}
.pyg-cs.is-open .pyg-cs-list { opacity: 1; visibility: visible; transform: none; transition: opacity .2s, transform .2s; }
.pyg-cs-list::-webkit-scrollbar { width: 6px; }
.pyg-cs-list::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
.pyg-cs-group { padding: 10px 18px 6px; font: 800 11px Manrope, system-ui, sans-serif; color: #94a3b8; text-transform: uppercase; letter-spacing: 1px; }
.pyg-hub .pyg-cs-item {
	display: block;
	width: 100%;
	padding: 10px 18px;
	font: 600 14px/1.3 Manrope, system-ui, sans-serif;
	color: #334155;
	text-align: left;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	cursor: pointer;
	transition: background-color .15s, color .15s;
}
.pyg-hub .pyg-cs-item:hover, .pyg-hub .pyg-cs-item:focus-visible { background: #e0e7ff; color: #4338ca; outline: none; }
.pyg-hub .pyg-cs-item.is-active { background: #6366f1; color: #fff; font-weight: 700; }
.pyg-hub .pyg-cs-item.is-active:hover { background: #4f46e5; }

.pyg-hub .pyg-search { position: relative; display: block; margin: 0 0 14px; }
.pyg-hub .pyg-search svg { position: absolute; left: 17px; top: 50%; width: 18px; height: 18px; fill: #94a3b8; transform: translateY(-50%); pointer-events: none; }
.pyg-hub .pyg-search input {
	width: 100%;
	height: auto;
	padding: 13px 18px 13px 46px;
	font: 600 14px/1.3 Manrope, system-ui, sans-serif;
	color: #1e293b;
	background: #fff;
	border: 2px solid #e0e7ff;
	border-radius: 50px;
	box-shadow: none;
	outline: none;
	transition: border-color .2s, box-shadow .2s;
	-webkit-appearance: none;
	appearance: none;
}
.pyg-hub .pyg-search input::placeholder { color: #94a3b8; }
.pyg-hub .pyg-search input:focus { border-color: #6366f1; box-shadow: 0 0 0 3px rgba(99, 102, 241, .12); }
.pyg-hub .pyg-search:focus-within svg { fill: #6366f1; }

.pyg-info { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 0 4px 16px; font: 600 12px Manrope, system-ui, sans-serif; color: #64748b; }
.pyg-info b { color: #6366f1; font-weight: 800; }
.pyg-info-active { flex: 1; color: #6366f1; font-weight: 700; }
.pyg-hub .pyg-reset {
	padding: 7px 16px;
	font: 700 11px Manrope, system-ui, sans-serif;
	letter-spacing: .3px;
	text-transform: uppercase;
	color: #fff;
	background: linear-gradient(135deg, #ef4444, #dc2626);
	border: 0;
	border-radius: 50px;
	cursor: pointer;
	transition: transform .2s, box-shadow .2s, opacity .2s;
}
.pyg-hub .pyg-reset:hover { transform: translateY(-2px); box-shadow: 0 6px 15px rgba(239, 68, 68, .3); }
.pyg-hub .pyg-reset:disabled { opacity: .4; cursor: not-allowed; transform: none; box-shadow: none; }
.pyg-hub .pyg-empty[hidden] { display: none; }
.pyg-hub .pyg-empty { color: #64748b; border-color: #c7d2fe; font: 600 14px Manrope, system-ui, sans-serif; }

@media (max-width: 480px) {
	.pyg-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 10px; }
	.pyg-tile-ava { padding: 3px; border-width: 2px; }
	.pyg-tile-title { font-size: 12.5px; }
	.pyg-new { left: 7px; top: 7px; font-size: 9px; }
	.pyg-filter { gap: 8px; }
	.pyg-cs, .pyg-cs.is-sort { flex: 1 1 0; min-width: 0; }
	.pyg-hub .pyg-cs-trigger { gap: 4px; padding: 11px 10px 11px 14px; font-size: 12.5px; }
	.pyg-hub .pyg-cs-arrow { width: 14px; height: 14px; }
}

/* ========================================================== промо-баннер */
/* Слайды лежат друг на друге и сменяются прозрачностью — баннер никогда не шире своего контейнера. */
.pyg-promo {
	--pyg-indigo: #6366f1;
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0 auto 20px;
	box-sizing: border-box;
	font-family: Manrope, system-ui, sans-serif;
}
.pyg-promo *, .pyg-promo *::before, .pyg-promo *::after { box-sizing: border-box; }
.pyg-promo svg.is-stroke { fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.pyg-promo-outer {
	position: relative;
	padding: 4px;
	border: 3px solid rgba(99, 102, 241, .35);
	border-radius: 28px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .3);
}
.pyg-promo-inner {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #0f172a;
	border: 2px solid rgba(99, 102, 241, .6);
	border-radius: 22px;
	touch-action: pan-y;
}
.pyg-slide {
	position: absolute;
	inset: 0;
	overflow: hidden;
	color: #fff;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transition: opacity .9s ease, visibility 0s linear .9s;
}
.pyg-slide.is-active { opacity: 1; visibility: visible; transition: opacity .9s ease; }
.pyg-slide-bg { position: absolute; inset: 0; background: var(--pyg-img, none) center / cover no-repeat; transition: transform 6s ease; }
.pyg-slide.is-active .pyg-slide-bg { transform: scale(1.04); }
.pyg-slide:not(.has-banner) .pyg-slide-bg { inset: -30px; filter: blur(26px) saturate(1.3) brightness(.55); }
.pyg-slide::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(15, 23, 42, .35) 0%, transparent 38%, transparent 58%, rgba(15, 23, 42, .95) 100%);
}

.pyg-slide-label {
	position: absolute;
	z-index: 3;
	top: 20px;
	left: 20px;
	padding: 7px 14px;
	font: 800 12px/1.2 Manrope, system-ui, sans-serif;
	color: #fff;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 50px;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}
.pyg-slide-cap {
	position: absolute;
	z-index: 3;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: 56%;
	padding: 6px 22px 6px 6px;
	background: rgba(15, 23, 42, .75);
	border: 1px solid rgba(255, 255, 255, .15);
	border-radius: 50px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, .4);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}
.pyg-slide-cap:not(:has(.pyg-slide-ava)) { padding-left: 22px; }
.pyg-slide-ava { flex: none; display: block; width: 34px; height: 34px; background: #0f172a center / cover no-repeat; border-radius: 50%; border: 2px solid rgba(99, 102, 241, .8); box-shadow: 0 0 0 2px rgba(255, 255, 255, .5); }
.pyg-slide-title {
	min-width: 0;
	margin: 0;
	padding: 0;
	font-family: var(--pyg-head-font, "Russo One", Manrope, sans-serif);
	font-size: clamp(16px, 2.8vw, 26px);
	font-weight: 400;
	line-height: 1.2;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	text-shadow: 0 2px 10px rgba(0, 0, 0, .9), 0 0 20px rgba(99, 102, 241, .6);
}

.pyg-slide-actions {
	position: absolute;
	z-index: 3;
	right: 20px;
	bottom: 20px;
	display: flex;
	gap: 12px;
	flex-wrap: nowrap;
}
.pyg-act {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 20px;
	font: 700 13px Manrope, system-ui, sans-serif;
	white-space: nowrap;
	color: #fff !important;
	text-decoration: none !important;
	background: rgba(255, 255, 255, .15);
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 50px;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	transition: transform .25s, background-color .25s, box-shadow .25s;
}
.pyg-act:hover { background: rgba(255, 255, 255, .25); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(255, 255, 255, .2); }
.pyg-act.is-play {
	font-weight: 800;
	background: linear-gradient(135deg, var(--pyg-indigo), var(--pyg-accent, #8a2be2));
	border-color: transparent;
	box-shadow: 0 6px 20px rgba(99, 102, 241, .45);
}
.pyg-act.is-play:hover { box-shadow: 0 10px 28px rgba(99, 102, 241, .6); }
.pyg-act svg { width: 16px; height: 16px; }
.pyg-act:focus-visible, .pyg-arrow:focus-visible, .pyg-promo .pyg-dot:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

.pyg-promo-dots {
	position: absolute;
	z-index: 4;
	top: 20px;
	right: 20px;
	display: flex;
	gap: 8px;
	padding: 8px 12px;
	background: rgba(15, 23, 42, .4);
	border: 1px solid rgba(255, 255, 255, .15);
	border-radius: 50px;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.pyg-promo .pyg-dot {
	width: 10px;
	height: 10px;
	padding: 0;
	background: rgba(255, 255, 255, .3);
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	transition: all .3s;
}
.pyg-promo .pyg-dot:hover { background: rgba(255, 255, 255, .6); }
.pyg-promo .pyg-dot.is-on { width: 28px; border-radius: 5px; background: var(--pyg-indigo); }

.pyg-promo-arrows {
	position: absolute;
	z-index: 4;
	left: 20px;
	bottom: 20px;
	display: flex;
	gap: 10px;
}
.pyg-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	color: #fff;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 50%;
	cursor: pointer;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	transition: all .25s;
}
.pyg-arrow:hover { background: rgba(255, 255, 255, .25); transform: scale(1.1); box-shadow: 0 6px 18px rgba(255, 255, 255, .15); }
.pyg-arrow svg { width: 20px; height: 20px; }

@media (max-width: 768px) {
	.pyg-promo-outer { padding: 3px; border-radius: 20px; }
	.pyg-promo-inner { border-radius: 16px; }
	.pyg-slide-label { top: 12px; left: 12px; padding: 6px 11px; font-size: 11px; }
	.pyg-slide-cap { top: 12px; max-width: 58%; padding: 4px 16px 4px 4px; }
	.pyg-slide-ava { width: 28px; height: 28px; }
	.pyg-slide-title { font-size: 16px; }
	.pyg-promo-dots { top: 12px; right: 12px; padding: 6px 10px; gap: 6px; }
	.pyg-promo .pyg-dot { width: 8px; height: 8px; }
	.pyg-promo .pyg-dot.is-on { width: 22px; }
	.pyg-slide-actions { right: 12px; bottom: 12px; gap: 8px; }
	.pyg-act { padding: 9px 14px; font-size: 12px; }
	.pyg-promo-arrows { left: 12px; bottom: 12px; gap: 8px; }
	.pyg-arrow { width: 38px; height: 38px; }
	.pyg-arrow svg { width: 18px; height: 18px; }
}
@media (max-width: 480px) {
	.pyg-slide-label { display: none; }
	.pyg-slide-cap { top: 10px; max-width: 58%; }
	.pyg-slide-title { font-size: 13px; }
	.pyg-slide-ava { width: 24px; height: 24px; }
	.pyg-promo-dots { top: 10px; right: 10px; padding: 5px 8px; gap: 5px; }
	.pyg-promo .pyg-dot { width: 6px; height: 6px; }
	.pyg-promo .pyg-dot.is-on { width: 16px; }
	.pyg-promo-arrows { left: 10px; bottom: 10px; gap: 6px; }
	.pyg-arrow { width: 32px; height: 32px; }
	.pyg-arrow svg { width: 16px; height: 16px; }
	.pyg-slide-actions { right: 10px; bottom: 10px; gap: 6px; }
	.pyg-act { height: 32px; padding: 0 12px; }
	.pyg-act:not(.is-play) { width: 32px; padding: 0; justify-content: center; border-radius: 50%; }
	.pyg-act:not(.is-play) span { display: none; }
}
/* Если в каталоге только одна игра — капсулу не прижимаем к точкам. */
.pyg-promo-inner:not(:has(.pyg-promo-dots)) .pyg-slide-cap { max-width: 70%; }
@media (prefers-reduced-motion: reduce) {
	.pyg-slide, .pyg-slide.is-active { transition: none; }
	.pyg-slide-bg, .pyg-slide.is-active .pyg-slide-bg { transition: none; transform: none; }
}

/* ============================================================= окно игры */
/* Тёмное «жидкое стекло» в духе промо-баннера: фон — размытый баннер игры. */
html.pyg-noscroll, html.pyg-noscroll body { overflow: hidden !important; }
.pyg-modal {
	--pyg-accent: #8a2be2;
	--pyg-indigo: #6366f1;
	--pyg-grad: linear-gradient(135deg, #6366f1, #8a2be2);
	--pyg-bg: #0f172a;
	--pyg-text: #f1f5f9;
	--pyg-dim: rgba(226, 232, 240, .72);
	--pyg-muted: rgba(203, 213, 225, .55);
	--pyg-glass: linear-gradient(180deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .06));
	--pyg-glass-line: rgba(255, 255, 255, .25);
	--pyg-stage: #0b1020;
	position: fixed;
	inset: 0;
	z-index: 2147482000;
	display: grid;
	place-items: center;
	padding: 24px 16px;
	font-family: Manrope, system-ui, sans-serif;
	color: var(--pyg-text);
}
.pyg-modal *, .pyg-modal *::before, .pyg-modal *::after { box-sizing: border-box; }
.pyg-modal [hidden] { display: none !important; }
.pyg-modal svg { width: 1em; height: 1em; fill: currentColor; flex: none; }
.pyg-modal svg.is-stroke { fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

.pyg-m-backdrop {
	position: absolute;
	inset: 0;
	background: radial-gradient(120% 80% at 50% 0%, rgba(99, 102, 241, .3), transparent 60%), rgba(6, 8, 20, .78);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	opacity: 0;
	transition: opacity .25s;
}

/* Окно: двойная рамка, как у баннера (внешняя полупрозрачная, внутренняя ярче). */
.pyg-m-sheet {
	position: relative;
	width: min(780px, 100%);
	max-height: calc(100vh - 48px);
	max-height: calc(100dvh - 48px);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--pyg-bg);
	border: 2px solid rgba(99, 102, 241, .6);
	border-radius: 28px;
	box-shadow: 0 0 0 4px rgba(15, 23, 42, .65), 0 0 0 7px rgba(99, 102, 241, .35), 0 30px 80px rgba(0, 0, 0, .55);
	opacity: 0;
	transform: translateY(16px) scale(.985);
	transition: opacity .25s, transform .25s, width .35s ease;
	outline: none;
}
.pyg-modal.is-open .pyg-m-backdrop { opacity: 1; }
.pyg-modal.is-open .pyg-m-sheet { opacity: 1; transform: none; }
.pyg-modal.is-game .pyg-m-sheet { width: min(1120px, 100%); }
/* Размытый баннер за всем содержимым. */
.pyg-m-glow {
	position: absolute;
	inset: -60px;
	z-index: 0;
	background: var(--pyg-img, none) center top / cover no-repeat;
	filter: blur(60px) saturate(1.4);
	opacity: .38;
	pointer-events: none;
}
.pyg-m-glow::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 0%, rgba(15, 23, 42, .55) 45%, var(--pyg-bg) 85%);
}

.pyg-m-scroll {
	position: relative;
	z-index: 1;
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: contain;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.pyg-m-scroll::-webkit-scrollbar { display: none; width: 0; height: 0; }
.pyg-m-rail {
	position: absolute;
	z-index: 6;
	top: 18px;
	bottom: 18px;
	right: 5px;
	width: 10px;
	border-radius: 10px;
	cursor: pointer;
	opacity: .4;
	transition: opacity .25s, background-color .25s;
}
.pyg-m-sheet:hover .pyg-m-rail, .pyg-modal.is-scrolling .pyg-m-rail, .pyg-modal.is-dragging .pyg-m-rail { opacity: 1; }
.pyg-m-rail:hover, .pyg-modal.is-dragging .pyg-m-rail { background: rgba(255, 255, 255, .08); }
.pyg-m-thumb {
	position: absolute;
	top: 0;
	left: 2px;
	right: 2px;
	border-radius: 10px;
	background: var(--pyg-grad);
	box-shadow: 0 0 10px rgba(99, 102, 241, .6), inset 0 1px 0 rgba(255, 255, 255, .35);
	cursor: grab;
	touch-action: none;
	transition: left .15s, right .15s;
}
.pyg-m-rail:hover .pyg-m-thumb, .pyg-modal.is-dragging .pyg-m-thumb { left: 1px; right: 1px; }
.pyg-modal.is-dragging .pyg-m-thumb { cursor: grabbing; }

/* ------------------------------------------------------------ верх: баннер */
/* Баннер растворяется в размытом фоне окна — без резкой границы. */
.pyg-m-top { position: relative; background: transparent; }
.pyg-modal.is-game .pyg-m-top { background: var(--pyg-stage); }
.pyg-m-hero { position: relative; aspect-ratio: 16 / 6.2; min-height: 180px; overflow: hidden; background: transparent; }
.pyg-m-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--pyg-img, none) center / cover no-repeat;
	-webkit-mask-image: linear-gradient(180deg, #000 45%, rgba(0, 0, 0, .55) 72%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 45%, rgba(0, 0, 0, .55) 72%, transparent 100%);
}
.pyg-m-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15, 23, 42, .4) 0%, transparent 32%); }
.pyg-m-hero.is-icon::before { inset: -30px; filter: blur(26px) saturate(1.3) brightness(.6); }
.pyg-m-hero.is-loading::before { background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, .08) 50%, transparent 70%) 0 0 / 200% 100%; animation: pyg-shine 1.2s linear infinite; }
@keyframes pyg-shine { to { background-position: -200% 0; } }
.pyg-m-hero-tags { position: absolute; z-index: 2; top: 18px; left: 18px; right: 18px; display: flex; flex-wrap: wrap; gap: 8px; }

/* «Жидкое стекло» — метки, кнопки, карточки. */
.pyg-m-glass, .pyg-modal .pyg-m-btn, .pyg-m-stat, .pyg-m-mine, .pyg-m-shots-nav, .pyg-lb-close, .pyg-lb-prev, .pyg-lb-next, .pyg-lb-count {
	background: var(--pyg-glass);
	border: 1px solid var(--pyg-glass-line);
	-webkit-backdrop-filter: blur(12px) saturate(160%);
	backdrop-filter: blur(12px) saturate(160%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), inset 0 -1px 0 rgba(255, 255, 255, .04), 0 6px 18px rgba(0, 0, 0, .25);
}
.pyg-m-glass {
	display: inline-block;
	padding: 6px 14px;
	font: 700 12px/1.2 Manrope, system-ui, sans-serif;
	color: #fff !important;
	text-decoration: none !important;
	border-radius: 50px;
	transition: background-color .25s, transform .25s;
}
a.pyg-m-glass:hover { background: rgba(255, 255, 255, .25); transform: translateY(-1px); }
.pyg-m-glass.is-new { background: var(--pyg-grad); border-color: rgba(255, 255, 255, .3); box-shadow: 0 4px 14px rgba(99, 102, 241, .55), inset 0 1px 0 rgba(255, 255, 255, .35); }

/* ------------------------------------------------------------- режим игры */
.pyg-modal .pyg-m-player { margin: 0; }
.pyg-m-player .pyg-stage { width: min(100%, calc(72vh * var(--pyg-arn, 1.7778))); border: 0; border-radius: 0; }
.pyg-m-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 16px;
	padding: 12px 18px;
	background: rgba(15, 23, 42, .75);
	border-top: 1px solid rgba(99, 102, 241, .35);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}
.pyg-m-bar-info { display: flex; align-items: center; gap: 12px; min-width: 0; }
.pyg-m-bar-ava { flex: none; display: block; width: 42px; height: 42px; background: #0f172a center / cover no-repeat; border: 2px solid rgba(99, 102, 241, .8); border-radius: 12px; box-shadow: 0 0 0 2px rgba(99, 102, 241, .25); }
.pyg-m-bar-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pyg-m-bar-title { font: 400 17px/1.2 var(--pyg-head-font, "Russo One", Manrope, sans-serif); color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-shadow: 0 0 16px rgba(99, 102, 241, .6); }
.pyg-m-timer { display: inline-flex; align-items: center; gap: 7px; font: 600 12px Manrope, system-ui, sans-serif; color: var(--pyg-dim); font-variant-numeric: tabular-nums; }
.pyg-m-timer i { width: 8px; height: 8px; border-radius: 50%; background: rgba(255, 255, 255, .35); }
.pyg-m-timer.is-live i { background: #22c55e; animation: pyg-pulse 1.8s infinite; }
@keyframes pyg-pulse { 0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, .6); } 70% { box-shadow: 0 0 0 7px rgba(34, 197, 94, 0); } 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); } }
.pyg-m-bar-slot .pyg-m-actions { margin: 0; }
.pyg-modal.is-game .pyg-m-body > .pyg-m-head { display: none; }
.pyg-modal.is-game .pyg-m-body { padding-top: 22px; }

/* ------------------------------------------------------------------ тело */
.pyg-m-body { position: relative; padding: 0 28px 30px; }
.pyg-m-head { position: relative; z-index: 1; display: flex; align-items: flex-end; gap: 18px; margin-top: -58px; }
/* Аватарка в двойной рамке, как у баннера. */
.pyg-m-ava-ring {
	flex: none;
	padding: 4px;
	background: rgba(15, 23, 42, .55);
	border: 3px solid rgba(99, 102, 241, .35);
	border-radius: 34px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, .45), 0 0 30px -6px rgba(99, 102, 241, .7);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.pyg-m-ava {
	display: block;
	width: 112px;
	height: 112px;
	background: #0f172a center / cover no-repeat;
	border: 2px solid rgba(99, 102, 241, .6);
	border-radius: 28px;
}
.pyg-m-ava.is-blank { display: grid; place-items: center; font: 400 46px var(--pyg-head-font, "Russo One", sans-serif); color: #fff; background: radial-gradient(120% 90% at 50% 110%, rgba(99, 102, 241, .8), transparent 65%), #0f172a; }
.pyg-m-headtext { min-width: 0; padding: 64px 0 6px; }
.pyg-m-title {
	margin: 0 0 8px;
	font: 400 clamp(24px, 4.2vw, 34px)/1.1 var(--pyg-head-font, "Russo One", Manrope, sans-serif);
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	text-shadow: 0 2px 10px rgba(0, 0, 0, .8), 0 0 22px rgba(99, 102, 241, .55);
	overflow-wrap: anywhere;
}
.pyg-m-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font: 700 13px Manrope, system-ui, sans-serif; color: var(--pyg-dim); }
.pyg-m-sub-rate { display: inline-flex; align-items: center; gap: 4px; color: #fbbf24; font-weight: 800; }

.pyg-m-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 22px 0 18px; }
.pyg-modal .pyg-m-play {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55em;
	min-width: 190px;
	height: 52px;
	padding: 0 34px 0 28px;
	font: 800 18px Manrope, system-ui, sans-serif;
	color: #fff;
	background: var(--pyg-grad);
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 999px;
	box-shadow: 0 10px 30px rgba(99, 102, 241, .55), inset 0 1px 0 rgba(255, 255, 255, .35);
	cursor: pointer;
	transition: transform .25s, box-shadow .25s;
}
.pyg-modal .pyg-m-play:hover { transform: translateY(-2px); box-shadow: 0 14px 36px rgba(99, 102, 241, .7), inset 0 1px 0 rgba(255, 255, 255, .35); }
.pyg-m-play svg { width: 1.1em; height: 1.1em; }
.pyg-modal .pyg-m-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 46px;
	padding: 0 20px;
	font: 700 13px Manrope, system-ui, sans-serif;
	white-space: nowrap;
	color: #fff;
	border-radius: 50px;
	cursor: pointer;
	transition: background-color .25s, transform .25s, box-shadow .25s, border-color .25s;
}
.pyg-modal .pyg-m-btn:hover {
	background: rgba(255, 255, 255, .24);
	border-color: rgba(255, 255, 255, .4);
	transform: translateY(-2px);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), 0 8px 20px rgba(255, 255, 255, .15);
}
.pyg-modal .pyg-m-btn svg { width: 16px; height: 16px; }
.pyg-modal .pyg-like[aria-pressed="true"] { color: #1e293b; background: rgba(251, 191, 36, .92); border-color: transparent; box-shadow: 0 6px 18px rgba(245, 158, 11, .45); }
.pyg-modal .pyg-m-fs { background: var(--pyg-grad); border-color: rgba(255, 255, 255, .3); box-shadow: 0 6px 20px rgba(99, 102, 241, .5), inset 0 1px 0 rgba(255, 255, 255, .35); }
.pyg-modal .pyg-m-close { margin-left: auto; }
.pyg-modal .pyg-m-close:hover { background: rgba(239, 68, 68, .55); border-color: rgba(255, 255, 255, .3); box-shadow: 0 8px 20px rgba(239, 68, 68, .35); }
.pyg-m-play:focus-visible, .pyg-m-btn:focus-visible, .pyg-m-glass:focus-visible, .pyg-m-shot:focus-visible, .pyg-m-shots-nav:focus-visible, .pyg-modal .pyg-stars button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.pyg-m-soon { color: var(--pyg-dim); font-weight: 700; }

.pyg-m-lead { margin: 0 0 18px; font: 500 16px/1.6 Manrope, system-ui, sans-serif; color: var(--pyg-dim); }

.pyg-m-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 14px; }
.pyg-m-stat { display: flex; align-items: center; gap: 11px; padding: 12px; border-radius: 18px; }
.pyg-m-stat-ic { display: grid; place-items: center; flex: none; width: 38px; height: 38px; font-size: 17px; color: #fff; background: var(--pyg-grad); border-radius: 12px; box-shadow: 0 4px 14px rgba(99, 102, 241, .5), inset 0 1px 0 rgba(255, 255, 255, .3); }
.pyg-m-stat-text { display: flex; flex-direction: column; min-width: 0; }
.pyg-m-stat-text b { font: 800 19px/1.2 Manrope, system-ui, sans-serif; color: #fff; white-space: nowrap; }
.pyg-m-stat-text span { font: 600 12px/1.25 Manrope, system-ui, sans-serif; color: var(--pyg-muted); }

.pyg-m-mine { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 6px; padding: 12px 18px; border-radius: 18px; }
.pyg-m-label { font: 800 13px Manrope, system-ui, sans-serif; color: #fff; }
.pyg-m-mine .pyg-rate { display: flex; align-items: center; gap: 12px; }
.pyg-modal .pyg-stars { display: inline-flex; }
.pyg-modal .pyg-stars button { padding: 0 2px; font-size: 26px; line-height: 1; color: #fbbf24; opacity: .3; background: none; border: 0; box-shadow: none; cursor: pointer; transition: opacity .15s, transform .15s; }
.pyg-modal .pyg-stars button.is-on { opacity: 1; text-shadow: 0 0 12px rgba(251, 191, 36, .6); }
.pyg-modal .pyg-rate.is-preview .pyg-stars button.is-on { transform: scale(1.15); }
.pyg-m-you { font: 600 13px Manrope, system-ui, sans-serif; color: var(--pyg-dim); }

.pyg-m-section { margin-top: 26px; }
.pyg-m-h { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; font: 400 16px var(--pyg-head-font, "Russo One", Manrope, sans-serif); color: #fff; letter-spacing: .3px; }
.pyg-m-h::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(99, 102, 241, .6), transparent); }

.pyg-m-shots-wrap { position: relative; }
.pyg-m-shots { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none; border-radius: 18px; }
.pyg-m-shots::-webkit-scrollbar { display: none; }
.pyg-modal .pyg-m-shot { flex: 0 0 auto; width: min(300px, 78%); aspect-ratio: 16 / 10; padding: 0; overflow: hidden; background: var(--pyg-stage); border: 2px solid rgba(99, 102, 241, .45); border-radius: 18px; box-shadow: 0 10px 26px rgba(0, 0, 0, .35); cursor: zoom-in; scroll-snap-align: start; transition: border-color .25s; }
.pyg-modal .pyg-m-shot:hover { border-color: rgba(99, 102, 241, .9); }
.pyg-m-shot img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.pyg-m-shot:hover img { transform: scale(1.05); }
.pyg-modal .pyg-m-shots-nav { position: absolute; top: 50%; z-index: 2; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; font-size: 18px; color: #fff; border-radius: 50%; transform: translateY(-50%); cursor: pointer; transition: opacity .2s, background-color .2s, transform .2s; }
.pyg-modal .pyg-m-shots-nav:hover { background: rgba(255, 255, 255, .25); transform: translateY(-50%) scale(1.1); }
.pyg-m-shots-nav.is-prev { left: 10px; }
.pyg-m-shots-nav.is-next { right: 10px; }
.pyg-m-shots-wrap.at-start .is-prev, .pyg-m-shots-wrap.at-end .is-next { opacity: 0; pointer-events: none; }

.pyg-m-desc { font: 500 15px/1.7 Manrope, system-ui, sans-serif; color: var(--pyg-dim); }
.pyg-m-desc > :first-child { margin-top: 0; }
.pyg-m-desc > :last-child { margin-bottom: 0; }
.pyg-m-desc img { max-width: 100%; height: auto; border-radius: 14px; }
.pyg-m-desc a { color: #a5b4fc; }
.pyg-m-desc strong, .pyg-m-desc b, .pyg-m-desc h2, .pyg-m-desc h3, .pyg-m-desc h4 { color: #fff; }
/* Аватарки игроков — фоном, а не картинкой: круг не сплющится, даже если аватарка прямоугольная. */
.pyg-modal .pyg-faces { display: flex; flex-wrap: nowrap; align-items: center; padding: 4px 0 4px 4px; }
.pyg-face, .pyg-face-more {
	position: relative;
	flex: none;
	width: 48px;
	height: 48px;
	margin-left: -10px;
	border: 2px solid rgba(99, 102, 241, .85);
	border-radius: 50%;
	box-shadow: 0 0 0 3px var(--pyg-bg), 0 6px 14px rgba(0, 0, 0, .35);
	transition: transform .2s, border-color .2s;
}
.pyg-faces > :first-child { margin-left: 0; }
.pyg-face { display: block; background: #1e293b center / cover no-repeat; text-decoration: none; }
a.pyg-face:hover, a.pyg-face:focus-visible { z-index: 2; border-color: #fff; transform: translateY(-4px) scale(1.06); outline: none; }
span.pyg-face:hover { z-index: 2; transform: translateY(-3px); }
.pyg-face-more {
	display: grid;
	place-items: center;
	width: auto;
	min-width: 48px;
	padding: 0 10px;
	font: 800 13px Manrope, system-ui, sans-serif;
	color: #fff;
	background: var(--pyg-grad);
	border-color: rgba(255, 255, 255, .35);
	border-radius: 24px;
	cursor: default;
}
@media (max-width: 600px) {
	.pyg-face, .pyg-face-more { width: 44px; height: 44px; margin-left: -9px; }
	.pyg-face-more { width: auto; min-width: 44px; }
}
.pyg-m-muted { font: 600 13px Manrope, system-ui, sans-serif; color: var(--pyg-muted); }

.pyg-m-error { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 36px 0 10px; text-align: center; font-weight: 600; color: var(--pyg-dim); }
.pyg-modal .pyg-m-error .pyg-m-close { margin: 0; }
.pyg-m-skeleton { position: relative; padding: 60px 0 10px; }
.pyg-m-skeleton span { display: block; height: 14px; margin-bottom: 12px; border-radius: 8px; background: rgba(255, 255, 255, .08); }
.pyg-m-skeleton span:nth-child(1) { width: 45%; height: 28px; }
.pyg-m-skeleton span:nth-child(3) { width: 70%; }
.pyg-modal .pyg-m-skeleton .pyg-m-close { position: absolute; top: 14px; right: 0; display: inline-flex; width: auto; height: 46px; margin: 0; }

/* Скриншот крупно */
.pyg-m-lightbox { position: fixed; inset: 0; z-index: 8; display: grid; place-items: center; padding: 24px 76px; background: rgba(6, 8, 20, .94); }
.pyg-m-lightbox img { max-width: 100%; max-height: 100%; border: 2px solid rgba(99, 102, 241, .6); border-radius: 18px; box-shadow: 0 0 0 5px rgba(15, 23, 42, .6), 0 0 0 8px rgba(99, 102, 241, .3), 0 20px 60px rgba(0, 0, 0, .5); }
.pyg-modal .pyg-lb-close, .pyg-modal .pyg-lb-prev, .pyg-modal .pyg-lb-next { position: absolute; display: grid; place-items: center; width: 46px; height: 46px; padding: 0; font-size: 20px; color: #fff; border-radius: 50%; cursor: pointer; transition: background-color .2s, transform .2s; }
.pyg-modal .pyg-lb-close:hover, .pyg-modal .pyg-lb-prev:hover, .pyg-modal .pyg-lb-next:hover { background: rgba(255, 255, 255, .25); }
.pyg-lb-close { top: 18px; right: 18px; }
.pyg-lb-prev { left: 16px; top: 50%; transform: translateY(-50%); }
.pyg-lb-next { right: 16px; top: 50%; transform: translateY(-50%); }
.pyg-lb-count { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); padding: 7px 16px; font: 700 13px Manrope, sans-serif; color: #fff; border-radius: 50px; }
.pyg-m-lightbox.is-single .pyg-lb-prev, .pyg-m-lightbox.is-single .pyg-lb-next, .pyg-m-lightbox.is-single .pyg-lb-count { display: none; }

/* ---------------------------------------------------------------- телефон */
@media (max-width: 600px) {
	.pyg-modal { padding: 0; place-items: end stretch; }
	.pyg-m-sheet { width: 100%; max-height: calc(100vh - 20px); max-height: calc(100dvh - 20px); border-width: 2px 0 0; border-radius: 24px 24px 0 0; box-shadow: 0 -6px 0 0 rgba(99, 102, 241, .25), 0 -20px 50px rgba(0, 0, 0, .5); }
	.pyg-modal.is-game .pyg-m-sheet { width: 100%; }
	.pyg-m-rail { right: 3px; width: 6px; top: 24px; }
	.pyg-m-body { padding: 0 16px calc(24px + env(safe-area-inset-bottom)); }
	.pyg-m-head { gap: 14px; margin-top: -46px; }
	.pyg-m-ava-ring { padding: 3px; border-width: 2px; border-radius: 28px; }
	.pyg-m-ava { width: 86px; height: 86px; border-radius: 23px; }
	.pyg-m-headtext { padding-top: 50px; }
	.pyg-m-hero-tags { top: 14px; left: 14px; right: 14px; }
	.pyg-m-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.pyg-m-actions { gap: 8px; }
	.pyg-modal .pyg-m-play { flex: 1 1 100%; }
	.pyg-modal .pyg-m-btn { height: 42px; padding: 0 15px; }
	.pyg-m-bar { flex-wrap: nowrap; gap: 10px; padding: 10px 12px; }
	.pyg-m-bar-info { flex: 1 1 auto; gap: 10px; }
	.pyg-m-bar-ava { width: 36px; height: 36px; border-radius: 10px; }
	.pyg-m-bar-title { font-size: 15px; }
	.pyg-m-bar .pyg-m-actions { flex-wrap: nowrap; gap: 6px; }
	.pyg-modal .pyg-m-bar .pyg-m-btn { width: 38px; height: 38px; padding: 0; justify-content: center; }
	.pyg-m-bar .pyg-m-btn span, .pyg-m-bar .pyg-like b { display: none; }
	.pyg-modal .pyg-m-bar .pyg-m-close { margin-left: 0; }
	.pyg-m-bar-slot { flex: none; }
	.pyg-m-player .pyg-stage { width: 100%; }
	.pyg-m-lightbox { padding: 20px 12px 76px; }
	.pyg-modal .pyg-lb-prev, .pyg-modal .pyg-lb-next { top: auto; bottom: 14px; transform: none; }
	.pyg-lb-count { bottom: 24px; }
}
@media (prefers-reduced-motion: reduce) {
	.pyg-m-sheet, .pyg-m-backdrop, .pyg-tile-ava, .pyg-tile-img, .pyg-m-play, .pyg-m-btn, .pyg-m-shot img { transition: none; }
	.pyg-m-hero.is-loading::before, .pyg-m-timer.is-live i { animation: none; }
}


/* ========================================== поворот горизонтальных игр */
/* Если телефон держат вертикально, а игра горизонтальная — поворачиваем саму игру на 90°. */
.pyg-stage.is-rotated { background: #000; }
.pyg-stage.is-rotated .pyg-frame { position: absolute; top: 0; left: 0; max-width: none; max-height: none; }
.pyg-stage.is-rotated .pyg-exit { top: 50%; left: auto; right: max(10px, env(safe-area-inset-right)); transform: translate(50%, -50%) rotate(90deg); transform-origin: center; margin-right: 12px; }
.pyg-stage.is-ccw .pyg-exit { right: auto; left: max(10px, env(safe-area-inset-left)); transform: translate(-50%, -50%) rotate(-90deg); margin: 0 0 0 12px; }

/* ================================ окно игры: компактная шапка при прокрутке */
.pyg-m-sticky {
	position: absolute;
	z-index: 7;
	top: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	background: rgba(15, 23, 42, .82);
	border-bottom: 1px solid rgba(99, 102, 241, .35);
	-webkit-backdrop-filter: blur(14px) saturate(160%);
	backdrop-filter: blur(14px) saturate(160%);
	transform: translateY(-110%);
	transition: transform .25s ease;
	pointer-events: none;
}
.pyg-m-sticky.is-on { transform: none; pointer-events: auto; }
.pyg-m-sticky-ava { flex: none; width: 34px; height: 34px; background: #0f172a center / cover no-repeat; border: 2px solid rgba(99, 102, 241, .8); border-radius: 10px; }
.pyg-m-sticky-title { flex: 1; min-width: 0; font: 400 15px/1.2 var(--pyg-head-font, "Russo One", Manrope, sans-serif); color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pyg-modal .pyg-m-sticky .pyg-m-close { flex: none; height: 36px; margin: 0; padding: 0 14px; }

/* ================================================== окно игры на телефоне */
@media (max-width: 600px) {
	/* Точная высота видимой области: окно не уходит под панели браузера и всегда листается. */
	.pyg-m-sheet,
	.pyg-modal.is-game .pyg-m-sheet {
		height: calc(var(--pyg-vh, 100dvh) - 8px);
		max-height: calc(var(--pyg-vh, 100dvh) - 8px);
	}
	.pyg-m-scroll { -webkit-overflow-scrolling: touch; touch-action: pan-y; }
	.pyg-m-shots { touch-action: pan-x pan-y; }
	.pyg-m-rail { display: none; }
	.pyg-modal .pyg-m-sticky .pyg-m-close span { display: inline; }
	.pyg-m-hero { min-height: 150px; }
}


/* ============================================ окно подтверждения покупки */
.pyg-buy {
	position: absolute;
	inset: 0;
	z-index: 20;
	display: grid;
	place-items: center;
	padding: 16px;
	font-family: Manrope, system-ui, sans-serif;
	background: rgba(6, 8, 20, .62);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	opacity: 0;
	transition: opacity .18s;
}
.pyg-buy.is-on { opacity: 1; }
.pyg-buy.is-fixed { position: fixed; z-index: 2147483100; height: var(--pyg-vh, 100vh); bottom: auto; }
.pyg-buy *, .pyg-buy *::before { box-sizing: border-box; }
.pyg-buy-box {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	width: min(360px, 100%);
	max-height: 100%;
	overflow: auto;
	padding: 22px 22px 18px;
	text-align: center;
	color: #f1f5f9;
	background: linear-gradient(180deg, rgba(30, 27, 75, .96), rgba(15, 23, 42, .97));
	border: 2px solid rgba(99, 102, 241, .6);
	border-radius: 24px;
	box-shadow: 0 0 0 4px rgba(15, 23, 42, .6), 0 0 0 7px rgba(99, 102, 241, .3), 0 24px 60px rgba(0, 0, 0, .6);
	transform: translateY(10px) scale(.97);
	transition: transform .2s;
}
.pyg-buy.is-on .pyg-buy-box { transform: none; }
/* Повёрнутая игра — окно поворачивается вместе с ней. */
.pyg-stage.is-cw .pyg-buy-box { width: min(360px, calc(var(--pyg-vh, 100vh) - 32px)); transform: rotate(90deg); }
.pyg-stage.is-ccw .pyg-buy-box { width: min(360px, calc(var(--pyg-vh, 100vh) - 32px)); transform: rotate(-90deg); }
.pyg-buy-ic {
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	margin-bottom: 4px;
	font-size: 32px;
	background: #0f172a center / cover no-repeat;
	border: 2px solid rgba(99, 102, 241, .7);
	border-radius: 20px;
	box-shadow: 0 0 0 4px rgba(99, 102, 241, .18), 0 10px 24px rgba(0, 0, 0, .4);
}
.pyg-buy-game { font-size: 12px; font-weight: 700; color: rgba(203, 213, 225, .7); }
.pyg-buy-name { font: 400 20px/1.2 var(--pyg-head-font, "Russo One", Manrope, sans-serif); color: #fff; overflow-wrap: anywhere; }
.pyg-buy-kind { font-size: 12px; font-weight: 700; color: #a5b4fc; }
.pyg-buy-price {
	margin: 6px 0 2px;
	padding: 6px 16px;
	font: 800 18px Manrope, sans-serif;
	color: #1e293b;
	background: linear-gradient(135deg, #fde68a, #fbbf24);
	border-radius: 50px;
	box-shadow: 0 6px 18px rgba(245, 158, 11, .4);
}
.pyg-buy-text { margin: 6px 0 0; font-size: 14px; font-weight: 600; line-height: 1.5; color: rgba(226, 232, 240, .85); }
.pyg-buy-note { margin: 6px 0 0; font-size: 11.5px; color: rgba(203, 213, 225, .55); }
.pyg-buy-actions { display: flex; gap: 10px; width: 100%; margin-top: 12px; }
.pyg-buy .pyg-buy-btn {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 46px;
	margin: 0;
	padding: 0 14px;
	font: 800 14px Manrope, sans-serif;
	text-transform: none;
	letter-spacing: normal;
	color: #fff;
	text-decoration: none;
	background: linear-gradient(180deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .06));
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: 50px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28);
	cursor: pointer;
	transition: transform .2s, background-color .2s, opacity .2s;
}
.pyg-buy .pyg-buy-btn:hover { transform: translateY(-2px); background: rgba(255, 255, 255, .22); }
.pyg-buy .pyg-buy-btn.is-main { background: linear-gradient(135deg, #6366f1, #8a2be2); border-color: rgba(255, 255, 255, .3); box-shadow: 0 8px 22px rgba(99, 102, 241, .55), inset 0 1px 0 rgba(255, 255, 255, .35); }
.pyg-buy .pyg-buy-btn:disabled { opacity: .5; cursor: default; transform: none; }
.pyg-buy .pyg-buy-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.pyg-buy-box.is-done { border-color: rgba(34, 197, 94, .7); }
.pyg-buy-box.is-done .pyg-buy-text { color: #86efac; font-weight: 800; }
.pyg-buy-box.is-funds .pyg-buy-text, .pyg-buy-box.is-error .pyg-buy-text { color: #fca5a5; }
.pyg-buy-spin { width: 40px; height: 40px; margin: 8px 0; border: 4px solid rgba(255, 255, 255, .15); border-top-color: #818cf8; border-radius: 50%; animation: pyg-spin .8s linear infinite; }

/* =================================== раздел «Покупки в игре» в окне игры */
.pyg-m-shop { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.pyg-m-item {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 10px 12px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .04));
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 16px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2);
}
.pyg-m-item-ic { flex: none; display: grid; place-items: center; width: 42px; height: 42px; font-size: 20px; background: #0f172a center / cover no-repeat; border: 2px solid rgba(99, 102, 241, .7); border-radius: 12px; }
.pyg-m-item-text { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.pyg-m-item-text b { font-size: 14px; font-weight: 800; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pyg-m-item-text span { font-size: 11.5px; font-weight: 600; color: rgba(203, 213, 225, .6); }
.pyg-m-item-price { flex: none; padding: 4px 10px; font-size: 12.5px; font-weight: 800; color: #1e293b; background: linear-gradient(135deg, #fde68a, #fbbf24); border-radius: 50px; }
.pyg-m-item.is-owned .pyg-m-item-price { color: #fff; background: linear-gradient(135deg, #22c55e, #16a34a); }
.pyg-m-shop-note { margin: 10px 0 0; }


/* ============================== история покупок в Paw Play ([pawplay_purchases]) */
.pyg-ph { --ph-line: #e0e7ff; }
.pyg-ph-head {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 16px;
	padding: 20px 22px;
	overflow: hidden;
	color: #fff;
	background: linear-gradient(135deg, #6366f1, #8a2be2);
	border-radius: 22px;
	box-shadow: 0 0 0 4px #fff, 0 0 0 7px rgba(99, 102, 241, .3), 0 14px 32px -12px rgba(99, 102, 241, .6);
}
.pyg-ph-head::before { content: ""; position: absolute; top: -70px; right: -40px; width: 220px; height: 220px; border-radius: 50%; background: rgba(255, 255, 255, .1); }
.pyg-ph-title { position: relative; display: flex; align-items: center; gap: 14px; }
.pyg-ph-logo { display: grid; place-items: center; width: 52px; height: 52px; font-size: 26px; background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .3); border-radius: 16px; }
.pyg-ph-title h3 { margin: 0; padding: 0; font: 400 22px/1.15 var(--pyg-head-font, "Russo One", Manrope, sans-serif); color: #fff; }
.pyg-ph-title p { margin: 4px 0 0; font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, .85); }
.pyg-ph-stats { position: relative; display: flex; gap: 8px; }
.pyg-ph-stats > div { display: flex; flex-direction: column; min-width: 84px; padding: 8px 14px; background: rgba(255, 255, 255, .15); border: 1px solid rgba(255, 255, 255, .25); border-radius: 14px; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.pyg-ph-stats b { font: 800 18px/1.2 Manrope, sans-serif; white-space: nowrap; }
.pyg-ph-stats span { font-size: 11.5px; font-weight: 600; opacity: .85; }
.pyg-ph-games { margin-bottom: 14px; }
.pyg-hub .pyg-ph-games .pyg-chip { font-family: Manrope, system-ui, sans-serif; background: #fff; cursor: pointer; }
.pyg-hub .pyg-ph-games .pyg-chip.is-on { background: #6366f1; border-color: #6366f1; color: #fff; }

.pyg-ph-list { display: flex; flex-direction: column; gap: 10px; }
.pyg-ph.is-loading .pyg-ph-list { opacity: .5; transition: opacity .2s; }
.pyg-ph-row {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 16px 12px 12px;
	background: #fff;
	border: 2px solid var(--ph-line);
	border-left: 4px solid #6366f1;
	border-radius: 16px;
	transition: border-color .2s, box-shadow .2s;
}
.pyg-ph-row:hover { box-shadow: 0 8px 20px -10px rgba(99, 102, 241, .45); }
.pyg-ph-row.is-refunded { border-left-color: #10b981; }
.pyg-ph-row.is-waiting { border-left-color: #f59e0b; }
.pyg-ph-ic {
	flex: none;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	font-size: 22px;
	background: #0f172a center / cover no-repeat;
	border: 2px solid rgba(99, 102, 241, .6);
	border-radius: 14px;
	box-shadow: 0 0 0 3px rgba(99, 102, 241, .12);
}
.pyg-ph-main { flex: 1; min-width: 0; }
.pyg-ph-name { display: block; font: 800 15px/1.3 Manrope, sans-serif; color: #1e293b; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pyg-ph-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-top: 4px; font: 600 12.5px Manrope, sans-serif; color: #64748b; }
.pyg-ph-game { display: inline-flex; align-items: center; gap: 6px; font-weight: 800; color: #4f46e5 !important; text-decoration: none !important; }
a.pyg-ph-game:hover { color: #8a2be2 !important; }
.pyg-ph-game-ic { flex: none; display: inline-block; width: 20px; height: 20px; background: #0f172a center / cover no-repeat; border: 1.5px solid rgba(99, 102, 241, .6); border-radius: 6px; }
.pyg-ph-tag { padding: 1px 8px; font-size: 11px; font-weight: 700; color: #6366f1; background: #eef2ff; border-radius: 10px; }
.pyg-ph-side { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; text-align: right; }
.pyg-ph-price { font: 800 15px Manrope, sans-serif; color: #c62828; white-space: nowrap; }
.pyg-ph-row.is-refunded .pyg-ph-price { color: #94a3b8; text-decoration: line-through; }
.pyg-ph-status { font: 700 11.5px Manrope, sans-serif; color: #059669; }
.pyg-ph-row.is-refunded .pyg-ph-status { color: #10b981; }
.pyg-ph-row.is-waiting .pyg-ph-status { color: #d97706; }
.pyg-hub .pyg-ph-more {
	display: block;
	margin: 16px auto 0;
	padding: 11px 26px;
	font: 800 14px Manrope, sans-serif;
	color: #4f46e5;
	background: #fff;
	border: 2px solid var(--ph-line);
	border-radius: 50px;
	cursor: pointer;
	transition: border-color .2s, transform .2s;
}
.pyg-hub .pyg-ph-more:hover { border-color: #6366f1; transform: translateY(-1px); }
.pyg-hub .pyg-ph-more[hidden] { display: none; }
.pyg-hub .pyg-ph-more:disabled { opacity: .6; cursor: default; }
@media (max-width: 520px) {
	.pyg-ph-head { padding: 16px; }
	.pyg-ph-stats { width: 100%; }
	.pyg-ph-stats > div { flex: 1; min-width: 0; padding: 8px 10px; }
	.pyg-ph-stats b { font-size: 16px; }
	.pyg-ph-row { flex-wrap: wrap; gap: 10px 12px; }
	.pyg-ph-side { flex-direction: row; align-items: center; justify-content: space-between; width: 100%; padding-left: 60px; }
}


/* ============================== окно игры на телефоне: надёжная прокрутка */
.pyg-modal.is-closing { pointer-events: none; }
.pyg-modal.is-closing .pyg-m-sheet, .pyg-modal.is-closing .pyg-m-backdrop { transition-duration: .15s; }
.pyg-m-debug {
	position: fixed;
	z-index: 2147483600;
	left: 8px;
	right: 8px;
	bottom: 8px;
	padding: 8px 10px;
	font: 600 11px/1.4 ui-monospace, Menlo, monospace;
	white-space: pre-wrap;
	color: #bef264;
	background: rgba(0, 0, 0, .85);
	border-radius: 10px;
	pointer-events: none;
}

@media (max-width: 600px) {
	/* Прокручивается весь слой окна — без flex и вычисленных высот. */
	.pyg-modal.is-mob {
		display: block;
		padding: 0;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		touch-action: pan-y;
	}
	.pyg-modal.is-mob .pyg-m-backdrop { position: fixed; }
	.pyg-modal.is-mob .pyg-m-sheet,
	.pyg-modal.is-mob.is-game .pyg-m-sheet {
		display: block;
		width: 100%;
		height: auto;
		max-height: none;
		min-height: calc(100% - 10px);
		margin: 10px 0 0;
		transform: translateY(24px);
	}
	.pyg-modal.is-mob.is-open .pyg-m-sheet { transform: none; }
	.pyg-modal.is-mob .pyg-m-scroll { display: block; height: auto; min-height: 0; overflow: visible; touch-action: auto; }
	.pyg-modal.is-mob .pyg-m-sticky { position: fixed; border-radius: 0; }
	.pyg-modal.is-mob .pyg-m-rail { display: none; }

	/* Размытия на телефоне заметно тормозят прокрутку — заменяем плотными фонами той же палитры. */
	.pyg-modal .pyg-m-glow { display: none; }
	.pyg-modal .pyg-m-sheet { background: radial-gradient(120% 60% at 50% 0%, #1e1b4b 0%, #0f172a 60%); }
	.pyg-modal .pyg-m-backdrop,
	.pyg-modal .pyg-m-glass,
	.pyg-modal .pyg-m-btn,
	.pyg-modal .pyg-m-stat,
	.pyg-modal .pyg-m-mine,
	.pyg-modal .pyg-m-bar,
	.pyg-modal .pyg-m-sticky,
	.pyg-modal .pyg-m-ava-ring,
	.pyg-modal .pyg-m-shots-nav,
	.pyg-modal .pyg-exit,
	.pyg-m-item,
	.pyg-buy {
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
	.pyg-modal .pyg-m-backdrop { background: rgba(6, 8, 20, .82); }
	.pyg-modal .pyg-m-glass, .pyg-modal .pyg-m-btn { background: rgba(255, 255, 255, .12); }
	.pyg-modal .pyg-m-stat, .pyg-modal .pyg-m-mine, .pyg-m-item { background: rgba(255, 255, 255, .07); }
	.pyg-modal .pyg-m-bar, .pyg-modal .pyg-m-sticky { background: #141a36; }
	.pyg-buy { background: rgba(6, 8, 20, .8); }
}

/* ======================= окно на телефоне — карточка со скруглением снизу */
@media (max-width: 600px) {
	/* Короткое окно прижато к низу экрана, длинное листается, и в конце видно скруглённый край. */
	.pyg-modal.is-mob {
		display: flex;
		flex-direction: column;
		padding: 10px 8px calc(12px + env(safe-area-inset-bottom));
	}
	.pyg-modal.is-mob .pyg-m-sheet,
	.pyg-modal.is-mob.is-game .pyg-m-sheet {
		flex: none;
		width: 100%;
		min-height: 0;
		margin: auto 0 0;
		border: 2px solid rgba(99, 102, 241, .6);
		border-radius: 24px;
		box-shadow: 0 0 0 4px rgba(15, 23, 42, .7), 0 0 0 7px rgba(99, 102, 241, .35), 0 20px 50px rgba(0, 0, 0, .5);
	}
	.pyg-modal.is-mob .pyg-m-body { padding-bottom: 24px; }
	.pyg-modal.is-mob .pyg-m-sticky { left: 8px; right: 8px; border-radius: 0 0 18px 18px; }
}

/* ============================================ ряды каталога: заголовки */
.pyg-row-h { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; font: 400 18px/1.2 var(--pyg-head-font, "Russo One", Manrope, sans-serif); color: #1e293b; }
.pyg-row-h::after { content: ""; flex: 1; height: 2px; background: linear-gradient(90deg, rgba(99, 102, 241, .35), transparent); border-radius: 2px; }

/* ================================================= «Продолжить играть» */
.pyg-row { margin: 0 0 22px; }
.pyg-row[hidden] { display: none; }
.pyg-row-scroll {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 96px;
	gap: 14px;
	overflow-x: auto;
	padding: 12px 12px 18px;
	margin: -12px -12px -8px;
	scroll-padding: 0 12px;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
}
.pyg-row-scroll::-webkit-scrollbar { display: none; }
.pyg-row-scroll .pyg-tile { scroll-snap-align: start; }
.pyg-row-scroll .pyg-tile-title { font-size: 12.5px; }
.pyg-row-scroll .pyg-new { display: none; }

/* ============================================================ события */
.pyg-events { margin: 0 0 24px; }
.pyg-events-row {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(290px, 86%);
	gap: 16px;
	overflow-x: auto;
	/* Запас по краям: прокрутка обрезает всё за краем блока, а у карточек двойная рамка-тень и подъём при наведении. */
	padding: 14px 14px 26px;
	margin: -14px -14px -14px;
	scroll-padding: 0 14px;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.pyg-events-row::-webkit-scrollbar { display: none; }
.pyg-events-row:has(> .pyg-ev:only-child) { grid-auto-columns: 100%; }
.pyg-events-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.pyg-ev {
	--pyg-indigo: #6366f1;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 250px;
	overflow: hidden;
	color: #fff;
	cursor: pointer;
	background: #0f172a;
	border: 2px solid rgba(99, 102, 241, .6);
	border-radius: 22px;
	box-shadow: 0 0 0 4px #fff, 0 0 0 7px rgba(99, 102, 241, .25), 0 14px 30px -12px rgba(15, 23, 42, .6);
	scroll-snap-align: start;
	font-family: Manrope, system-ui, sans-serif;
	transition: transform .25s;
}
.pyg-ev:hover { transform: translateY(-3px); }
.pyg-ev-bg { position: absolute; inset: 0; background: var(--pyg-img, none) center / cover no-repeat; transition: transform 6s ease; }
.pyg-ev:hover .pyg-ev-bg { transform: scale(1.05); }
.pyg-ev:not(.has-banner) .pyg-ev-bg { inset: -30px; filter: blur(24px) saturate(1.3) brightness(.55); }
.pyg-ev::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(15, 23, 42, .45) 0%, transparent 35%, transparent 45%, rgba(15, 23, 42, .95) 100%); }
.pyg-ev.is-ended { filter: grayscale(.7); }
.pyg-ev-top { position: relative; z-index: 2; display: flex; flex-wrap: wrap; gap: 6px; padding: 14px 14px 0; }
.pyg-ev-label, .pyg-ev-time {
	padding: 5px 12px;
	font-size: 11.5px;
	font-weight: 800;
	border-radius: 50px;
	background: rgba(255, 255, 255, .15);
	border: 1px solid rgba(255, 255, 255, .3);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
.pyg-ev-label { background: linear-gradient(135deg, #6366f1, #8a2be2); border-color: rgba(255, 255, 255, .35); }
.pyg-ev-time:empty { display: none; }
.pyg-ev-time[data-state="live"]::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 8px #22c55e; vertical-align: 1px; }
.pyg-ev-bottom { position: relative; z-index: 2; display: flex; align-items: flex-end; gap: 12px; padding: 40px 14px 0; margin-top: auto; }
.pyg-ev-ava { flex: none; width: 50px; height: 50px; background: #0f172a center / cover no-repeat; border: 2px solid rgba(255, 255, 255, .8); border-radius: 15px; box-shadow: 0 6px 16px rgba(0, 0, 0, .4); }
.pyg-ev-text { min-width: 0; }
.pyg-hub .pyg-ev-title { margin: 0; padding: 0; font: 400 clamp(16px, 2.6vw, 21px)/1.15 var(--pyg-head-font, "Russo One", Manrope, sans-serif); color: #fff !important; text-shadow: 0 2px 10px rgba(0, 0, 0, .8); }
.pyg-ev-lead { margin: 3px 0 0; font-size: 12.5px; font-weight: 600; line-height: 1.35; color: rgba(255, 255, 255, .85); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pyg-ev-actions { position: relative; z-index: 2; display: flex; gap: 8px; padding: 10px 14px 14px; }
.pyg-ev-actions .pyg-act { padding: 9px 16px; font-size: 12.5px; }

/* ================================================ окно игры: плашка события */
.pyg-modal .pyg-m-evstrip, .pyg-modal .pyg-m-evgame {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 18px 0 0;
	padding: 12px 16px;
	font: inherit;
	text-align: left;
	color: #fff;
	cursor: pointer;
	background: linear-gradient(135deg, rgba(99, 102, 241, .35), rgba(138, 43, 226, .3));
	border: 1px solid rgba(165, 180, 252, .45);
	border-radius: 18px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 8px 22px -8px rgba(99, 102, 241, .6);
	transition: transform .2s, border-color .2s;
}
.pyg-modal .pyg-m-evstrip:hover, .pyg-modal .pyg-m-evgame:hover { transform: translateY(-2px); border-color: rgba(199, 210, 254, .8); }
.pyg-m-evstrip-ic { font-size: 22px; }
.pyg-m-evstrip-text, .pyg-m-evgame-text { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.pyg-m-evstrip-text b, .pyg-m-evgame-text b { font-size: 14.5px; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pyg-m-evstrip-text span, .pyg-m-evgame-text span { font-size: 12px; font-weight: 700; color: #c7d2fe; }
.pyg-m-evstrip-more { flex: none; font-size: 13px; font-weight: 800; color: #e0e7ff; white-space: nowrap; }
.pyg-modal .pyg-m-evgame { margin: 0; background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .15); }
.pyg-m-evtime:empty { display: none; }
.pyg-m-evdates { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pyg-m-evdates .pyg-m-stat-text b { font-size: 14px; white-space: normal; }
@media (max-width: 600px) {
	.pyg-m-evdates { grid-template-columns: 1fr; }
	.pyg-modal .pyg-m-evstrip, .pyg-modal .pyg-m-evgame { background: rgba(99, 102, 241, .22); }
	.pyg-ev-label, .pyg-ev-time { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(15, 23, 42, .6); }
	.pyg-ev-label { background: linear-gradient(135deg, #6366f1, #8a2be2); }
	.pyg-ev-lead { -webkit-line-clamp: 1; }
}


/* ============================================ «Мой Paw Play» ([pawplay_profile]) */
.pyg-me-ava { flex: none; width: 56px; height: 56px; background: rgba(255, 255, 255, .15) center / cover no-repeat; border: 3px solid rgba(255, 255, 255, .7); border-radius: 50%; box-shadow: 0 6px 16px rgba(0, 0, 0, .25); }
.pyg-me-ava.is-hidden { display: grid; place-items: center; }
.pyg-me-head .pyg-ph-title p b { color: #fff; }
.pyg-me-card { margin: 0 0 14px; padding: 18px 18px 16px; background: #fff; border: 2px solid #e0e7ff; border-radius: 20px; }
.pyg-me-card h4 { margin: 0 0 12px; font: 400 17px/1.2 var(--pyg-head-font, "Russo One", Manrope, sans-serif); color: #1e293b; }
.pyg-me-hint { margin: -4px 0 12px; font-size: 13px; font-weight: 600; color: #64748b; }
.pyg-me-modes { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; }
.pyg-me-mode { position: relative; display: block; cursor: pointer; margin: 0; }
.pyg-me-mode input { position: absolute; opacity: 0; pointer-events: none; }
.pyg-me-mode-box { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 14px; border: 2px solid #e0e7ff; border-radius: 16px; transition: border-color .2s, background-color .2s, box-shadow .2s; }
.pyg-me-mode-box b { font: 800 15px Manrope, sans-serif; color: #1e293b; }
.pyg-me-mode-box small { font: 600 12.5px/1.45 Manrope, sans-serif; color: #64748b; }
.pyg-me-mode:hover .pyg-me-mode-box { border-color: #a78bfa; }
.pyg-me-mode input:checked + .pyg-me-mode-box { background: rgba(99, 102, 241, .06); border-color: #6366f1; box-shadow: 0 0 0 3px rgba(99, 102, 241, .14); }
.pyg-me-mode input:focus-visible + .pyg-me-mode-box { outline: 3px solid #6366f1; outline-offset: 2px; }
.pyg-me-alias { margin-top: 14px; }
.pyg-me-alias[hidden] { display: none; }
.pyg-me-alias label { display: block; margin-bottom: 6px; font: 800 13px Manrope, sans-serif; color: #1e293b; }
.pyg-me-alias-row { display: flex; gap: 8px; }
.pyg-hub .pyg-me-alias input { flex: 1; min-width: 0; height: auto; padding: 11px 16px; font: 700 15px Manrope, sans-serif; color: #1e293b; background: #fff; border: 2px solid #e0e7ff; border-radius: 50px; box-shadow: none; outline: none; }
.pyg-hub .pyg-me-alias input:focus { border-color: #6366f1; box-shadow: 0 0 0 3px rgba(99, 102, 241, .12); }
.pyg-hub .pyg-me-dice { flex: none; width: 46px; height: 46px; padding: 0; font-size: 20px; background: #eef2ff; border: 2px solid #e0e7ff; border-radius: 50%; cursor: pointer; transition: transform .2s; }
.pyg-hub .pyg-me-dice:hover { transform: rotate(20deg) scale(1.05); }
.pyg-me-alias small { display: block; margin-top: 6px; font-size: 12px; font-weight: 600; color: #94a3b8; }
.pyg-me-switch { display: flex; align-items: flex-start; gap: 12px; margin: 0; cursor: pointer; }
.pyg-me-switch input { position: absolute; opacity: 0; pointer-events: none; }
.pyg-me-toggle { position: relative; flex: none; width: 46px; height: 26px; margin-top: 2px; background: #cbd5e1; border-radius: 13px; transition: background-color .2s; }
.pyg-me-toggle::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; background: #fff; border-radius: 50%; box-shadow: 0 2px 6px rgba(0, 0, 0, .2); transition: transform .2s; }
.pyg-me-switch input:checked + .pyg-me-toggle { background: linear-gradient(135deg, #6366f1, #8a2be2); }
.pyg-me-switch input:checked + .pyg-me-toggle::after { transform: translateX(20px); }
.pyg-me-switch input:focus-visible + .pyg-me-toggle { outline: 3px solid #6366f1; outline-offset: 2px; }
.pyg-me-switch b { display: block; font: 800 14.5px Manrope, sans-serif; color: #1e293b; }
.pyg-me-switch small { display: block; margin-top: 3px; font: 600 12.5px/1.45 Manrope, sans-serif; color: #64748b; }
.pyg-me-games { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; }
.pyg-me-game { display: flex; align-items: center; gap: 10px; margin: 0; padding: 8px 12px 8px 8px; cursor: pointer; border: 2px solid #e0e7ff; border-radius: 14px; transition: border-color .2s, background-color .2s; }
.pyg-me-game input { width: 18px; height: 18px; margin: 0; accent-color: #6366f1; }
.pyg-me-game-ic { flex: none; width: 34px; height: 34px; background: #0f172a center / cover no-repeat; border: 2px solid rgba(99, 102, 241, .6); border-radius: 10px; }
.pyg-me-game-name { flex: 1; min-width: 0; font: 800 13.5px Manrope, sans-serif; color: #1e293b; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pyg-me-game-state { font: 700 11.5px Manrope, sans-serif; color: #059669; }
.pyg-me-game.is-hidden { background: #f8fafc; }
.pyg-me-game.is-hidden .pyg-me-game-state { color: #94a3b8; }
.pyg-me-game.is-hidden .pyg-me-game-ic { filter: grayscale(1); opacity: .6; }
.pyg-me-save { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 18px 0 8px; }
.pyg-hub .pyg-me-btn { padding: 13px 34px; font: 800 15px Manrope, sans-serif; color: #fff; background: linear-gradient(135deg, #6366f1, #8a2be2); border: 0; border-radius: 50px; box-shadow: 0 8px 22px rgba(99, 102, 241, .4); cursor: pointer; transition: transform .2s; }
.pyg-hub .pyg-me-btn:hover { transform: translateY(-2px); }
.pyg-hub .pyg-me-btn:disabled { opacity: .6; transform: none; }
.pyg-me-status { font: 700 13.5px Manrope, sans-serif; color: #64748b; }
.pyg-me-status.is-ok { color: #059669; }
.pyg-me-status.is-err { color: #dc2626; }
.pyg-me-note { margin: 0; font-size: 12px; font-weight: 600; color: #94a3b8; }
.pyg-hub .pyg-me-link { padding: 5px 12px; font-size: 12px; font-weight: 800; color: #4f46e5; text-decoration: none; background: #eef2ff; border-radius: 50px; }
.pyg-hub .pyg-me-link:hover { background: #e0e7ff; }

/* окно игры: «как вас видят» */
.pyg-modal .pyg-m-privacy { display: flex; align-items: center; gap: 10px; margin-top: 18px; padding: 10px 14px; font: 600 13px Manrope, sans-serif; color: var(--pyg-dim); text-decoration: none; background: rgba(255, 255, 255, .05); border: 1px dashed rgba(255, 255, 255, .18); border-radius: 14px; }
.pyg-modal .pyg-m-privacy span:nth-child(2) { flex: 1; }
.pyg-modal .pyg-m-privacy b { color: #a5b4fc; font-weight: 800; }
.pyg-modal .pyg-m-privacy:hover { border-color: rgba(165, 180, 252, .5); }

/* ======================================== верхняя панель каталога */
.pyg-topbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 14px; }
.pyg-topbar-left { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pyg-online-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 48px;
	padding: 0 16px 0 14px;
	font-family: Manrope, system-ui, sans-serif;
	color: #1e293b;
	background: #fff;
	border: 2px solid #e0e7ff;
	border-radius: 50px;
}
.pyg-online-chip i { flex: none; width: 10px; height: 10px; border-radius: 50%; background: #cbd5e1; }
.pyg-online-chip.is-on i { background: #22c55e; box-shadow: 0 0 0 0 rgba(34, 197, 94, .6); animation: pyg-pulse 1.8s infinite; }
.pyg-online-chip b { font-size: 15px; font-weight: 800; }
.pyg-online-chip small { font-size: 12.5px; font-weight: 700; color: #64748b; }
.pyg-hub .pyg-rand-btn {
	height: 48px;
	padding: 0 20px;
	font: 800 13.5px Manrope, system-ui, sans-serif;
	color: #4f46e5;
	background: #eef2ff;
	border: 2px solid #e0e7ff;
	border-radius: 50px;
	cursor: pointer;
	transition: border-color .2s, background-color .2s, transform .2s;
}
.pyg-hub .pyg-rand-btn:hover { background: #e0e7ff; border-color: #a5b4fc; transform: translateY(-1px); }
.pyg-hub .pyg-me-chip { height: 52px; }
/* Раскладка зависит от ширины самого каталога (сайдбары сужают колонку), а не экрана. */
.pyg-hub[data-catalog] { container-type: inline-size; container-name: pyghub; }
@container pyghub (max-width: 600px) {
	.pyg-topbar { display: grid; grid-template-columns: 1fr 1fr; }
	.pyg-topbar-left { display: contents; }
	.pyg-hub .pyg-me-chip { grid-column: 1 / -1; grid-row: 1; justify-content: flex-start; width: 100%; }
	.pyg-online-chip, .pyg-hub .pyg-rand-btn { justify-content: center; height: 44px; padding: 0 10px; }
	.pyg-online-chip small { font-size: 11.5px; }
	.pyg-me-chip-text small { max-width: none; }
}
@supports not (container-type: inline-size) {
	@media (max-width: 600px) {
		.pyg-topbar { display: grid; grid-template-columns: 1fr 1fr; }
		.pyg-topbar-left { display: contents; }
		.pyg-hub .pyg-me-chip { grid-column: 1 / -1; grid-row: 1; width: 100%; }
		.pyg-online-chip, .pyg-hub .pyg-rand-btn { justify-content: center; height: 44px; padding: 0 10px; }
	}
}
.pyg-hub .pyg-me-chip {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 5px 16px 5px 5px;
	color: #1e293b;
	text-decoration: none;
	background: #fff;
	border: 2px solid #e0e7ff;
	border-radius: 50px;
	box-shadow: 0 6px 16px -8px rgba(99, 102, 241, .45);
	transition: border-color .2s, transform .2s;
}
.pyg-hub .pyg-me-chip:hover { border-color: #6366f1; transform: translateY(-1px); color: #1e293b; }
.pyg-me-chip-ava { flex: none; width: 38px; height: 38px; background: linear-gradient(135deg, #6366f1, #8a2be2) center / cover no-repeat; border: 2px solid rgba(99, 102, 241, .7); border-radius: 50%; }
.pyg-me-chip-text { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.pyg-me-chip-text b { font: 800 13.5px Manrope, system-ui, sans-serif; }
.pyg-me-chip-text small { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 600 11.5px Manrope, system-ui, sans-serif; color: #64748b; }
.pyg-me-chip-badge { position: absolute; top: -4px; left: 30px; min-width: 20px; height: 20px; padding: 0 6px; font: 800 11px/20px Manrope, sans-serif; color: #fff; text-align: center; background: #ef4444; border: 2px solid #fff; border-radius: 10px; }
.pyg-me-chip-badge[hidden] { display: none; }

/* ============================================================ подарки */
.pyg-store { margin: 0 0 24px; }
.pyg-store-lead { margin: -4px 0 12px; font: 600 13px Manrope, system-ui, sans-serif; color: #64748b; }
.pyg-store-row { display: grid; grid-auto-flow: column; grid-auto-columns: 150px; gap: 12px; overflow-x: auto; padding: 4px 4px 12px; scrollbar-width: none; }
.pyg-store-row::-webkit-scrollbar { display: none; }
.pyg-gift-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 14px 10px 12px;
	text-align: center;
	background: #fff;
	border: 2px solid #e0e7ff;
	border-radius: 18px;
	transition: border-color .2s, transform .2s, box-shadow .2s;
	font-family: Manrope, system-ui, sans-serif;
}
.pyg-gift-card:hover { border-color: #a78bfa; transform: translateY(-3px); box-shadow: 0 12px 24px -12px rgba(99, 102, 241, .5); }
.pyg-gift-ic { width: 64px; height: 64px; margin-bottom: 4px; background: #0f172a center / cover no-repeat; border: 2px solid rgba(99, 102, 241, .6); border-radius: 18px; box-shadow: 0 0 0 3px rgba(99, 102, 241, .12); }
.pyg-gift-name { font-size: 13.5px; font-weight: 800; color: #1e293b; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pyg-gift-game { font-size: 11.5px; font-weight: 600; color: #64748b; }
.pyg-gift-price { margin: 4px 0 6px; padding: 2px 10px; font-size: 12.5px; font-weight: 800; color: #1e293b; background: linear-gradient(135deg, #fde68a, #fbbf24); border-radius: 50px; }
.pyg-hub .pyg-gift-btn { margin-top: auto; padding: 8px 18px; font: 800 12.5px Manrope, sans-serif; color: #fff; background: linear-gradient(135deg, #6366f1, #8a2be2); border: 0; border-radius: 50px; cursor: pointer; transition: transform .2s; }
.pyg-hub .pyg-gift-btn:hover { transform: translateY(-1px); }

/* ============================================ окно «Мой Paw Play» */
.pyg-m-hero.is-profile-hero { aspect-ratio: auto; min-height: 150px; background: radial-gradient(120% 120% at 20% 0%, #8a2be2 0%, #4338ca 45%, #0f172a 100%); }
.pyg-m-hero.is-profile-hero::before { display: none; }
.pyg-modal .pyg-pf-code { margin: 0; padding: 3px 12px; font: 700 12px Manrope, sans-serif; color: #e0e7ff; background: rgba(255, 255, 255, .1); border: 1px dashed rgba(165, 180, 252, .6); border-radius: 50px; cursor: pointer; }
.pyg-modal .pyg-pf-code:hover { background: rgba(255, 255, 255, .18); }
.pyg-pf-tabs { display: flex; gap: 6px; margin: 20px 0 0; padding: 4px; overflow-x: auto; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); border-radius: 50px; scrollbar-width: none; }
.pyg-pf-tabs::-webkit-scrollbar { display: none; }
.pyg-modal .pyg-pf-tab { position: relative; flex: none; padding: 9px 16px; font: 800 13px Manrope, sans-serif; color: var(--pyg-dim); white-space: nowrap; background: none; border: 0; border-radius: 50px; cursor: pointer; transition: background-color .2s, color .2s; }
.pyg-modal .pyg-pf-tab:hover { color: #fff; }
.pyg-modal .pyg-pf-tab.is-on { color: #fff; background: linear-gradient(135deg, #6366f1, #8a2be2); box-shadow: 0 6px 16px -6px rgba(99, 102, 241, .8); }
.pyg-pf-dot { display: inline-block; min-width: 18px; margin-left: 6px; padding: 0 5px; font: 800 11px/18px Manrope, sans-serif; font-style: normal; color: #fff; text-align: center; background: #ef4444; border-radius: 9px; }
.pyg-pf-body { padding-top: 16px; min-height: 160px; }
.pyg-pf-loading, .pyg-pf-empty { padding: 30px 10px; text-align: center; font: 600 14px Manrope, sans-serif; color: var(--pyg-muted); }
.pyg-pf-section { margin: 0 0 20px; }
.pyg-pf-section h4 { margin: 0 0 10px; font: 400 15px var(--pyg-head-font, "Russo One", Manrope, sans-serif); color: #fff; }
.pyg-pf-list { display: flex; flex-direction: column; gap: 8px; }
.pyg-pf-row { display: flex; align-items: center; gap: 12px; padding: 10px 12px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); border-radius: 16px; }
.pyg-pf-row.is-new { border-color: rgba(165, 180, 252, .6); background: rgba(99, 102, 241, .14); }
.pyg-pf-row.is-refunded { opacity: .6; }
.pyg-pf-ava { flex: none; width: 44px; height: 44px; background: #1e293b center / cover no-repeat; border: 2px solid rgba(99, 102, 241, .8); border-radius: 50%; }
.pyg-pf-ava.is-square { border-radius: 13px; }
.pyg-pf-ava.is-small { width: 30px; height: 30px; border-radius: 9px; }
.pyg-pf-row-text { display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; }
.pyg-pf-row-text b { font: 800 14px Manrope, sans-serif; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pyg-pf-row-text small { font: 600 12px Manrope, sans-serif; color: var(--pyg-muted); }
.pyg-pf-note { display: block; margin-top: 4px; font: italic 600 12.5px Manrope, sans-serif; color: #c7d2fe; }
.pyg-pf-row-act { display: flex; flex: none; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.pyg-pf-row-act.is-price { flex-direction: column; align-items: flex-end; gap: 2px; }
.pyg-pf-row-act.is-price b { font: 800 14px Manrope, sans-serif; color: #fca5a5; white-space: nowrap; }
.pyg-pf-row-act.is-price small { font: 700 11.5px Manrope, sans-serif; color: #86efac; }
.pyg-pf-new { flex: none; padding: 2px 9px; font: 800 11px Manrope, sans-serif; color: #fff; background: #ef4444; border-radius: 10px; }
.pyg-modal .pyg-pf-btn { padding: 8px 14px; font: 800 12.5px Manrope, sans-serif; color: #fff; white-space: nowrap; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .22); border-radius: 50px; cursor: pointer; transition: background-color .2s, transform .2s; }
.pyg-modal .pyg-pf-btn:hover { background: rgba(255, 255, 255, .2); transform: translateY(-1px); }
.pyg-modal .pyg-pf-btn.is-main { background: linear-gradient(135deg, #6366f1, #8a2be2); border-color: rgba(255, 255, 255, .25); }
.pyg-modal .pyg-pf-btn.is-quiet { color: var(--pyg-muted); background: none; border-color: transparent; }
.pyg-modal .pyg-pf-btn.is-quiet:hover { color: #fca5a5; }
.pyg-modal .pyg-pf-btn:disabled { opacity: .5; cursor: default; transform: none; }
.pyg-modal .pyg-pf-more { display: block; margin: 12px auto 0; }
.pyg-pf-top { display: flex; justify-content: flex-end; margin: 0 0 12px; }
.pyg-pf-hint { margin: 8px 0 0; font: 600 12.5px/1.5 Manrope, sans-serif; color: var(--pyg-muted); }
.pyg-pf-search { display: flex; gap: 8px; }
.pyg-modal .pyg-pf-search input, .pyg-modal .pyg-pf-alias input, .pyg-gift-box textarea, .pyg-gift-box .pyg-pf-search input {
	flex: 1;
	min-width: 0;
	height: auto;
	padding: 10px 16px;
	font: 700 14px Manrope, sans-serif;
	color: #fff;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 50px;
	outline: none;
	box-shadow: none;
}
.pyg-gift-box textarea { width: 100%; border-radius: 14px; resize: vertical; }
.pyg-modal .pyg-pf-search input:focus, .pyg-modal .pyg-pf-alias input:focus, .pyg-gift-box textarea:focus, .pyg-gift-box .pyg-pf-search input:focus { border-color: #a5b4fc; box-shadow: 0 0 0 3px rgba(99, 102, 241, .25); }
.pyg-pf-search input::placeholder, .pyg-gift-box textarea::placeholder { color: rgba(203, 213, 225, .5); }
.pyg-pf-modes { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px; }
.pyg-pf-mode { position: relative; margin: 0; cursor: pointer; }
.pyg-pf-mode input { position: absolute; opacity: 0; pointer-events: none; }
.pyg-pf-mode-box { display: flex; flex-direction: column; gap: 5px; height: 100%; padding: 12px 14px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .15); border-radius: 16px; transition: border-color .2s, background-color .2s; }
.pyg-pf-mode-box b { font: 800 14px Manrope, sans-serif; color: #fff; }
.pyg-pf-mode-box small { font: 600 12px/1.45 Manrope, sans-serif; color: var(--pyg-muted); }
.pyg-pf-mode input:checked + .pyg-pf-mode-box { background: rgba(99, 102, 241, .2); border-color: #a5b4fc; }
.pyg-pf-mode input:focus-visible + .pyg-pf-mode-box { outline: 2px solid #fff; outline-offset: 2px; }
.pyg-pf-alias { margin-top: 12px; }
.pyg-pf-alias[hidden] { display: none; }
.pyg-pf-alias > label { display: block; margin-bottom: 6px; font: 800 13px Manrope, sans-serif; color: #fff; }
.pyg-pf-switch { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 14px; cursor: pointer; }
.pyg-pf-switch input { position: absolute; opacity: 0; pointer-events: none; }
.pyg-pf-toggle { position: relative; flex: none; width: 44px; height: 24px; margin-top: 2px; background: rgba(255, 255, 255, .2); border-radius: 12px; transition: background-color .2s; }
.pyg-pf-toggle::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; background: #fff; border-radius: 50%; transition: transform .2s; }
.pyg-pf-switch input:checked + .pyg-pf-toggle { background: linear-gradient(135deg, #6366f1, #8a2be2); }
.pyg-pf-switch input:checked + .pyg-pf-toggle::after { transform: translateX(20px); }
.pyg-pf-switch input:focus-visible + .pyg-pf-toggle { outline: 2px solid #fff; outline-offset: 2px; }
.pyg-pf-switch b { display: block; font: 800 14px Manrope, sans-serif; color: #fff; }
.pyg-pf-switch small { display: block; margin-top: 2px; font: 600 12px/1.45 Manrope, sans-serif; color: var(--pyg-muted); }
.pyg-pf-select { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 10px; }
.pyg-pf-select b { font: 800 14px Manrope, sans-serif; color: #fff; }

.pyg-pf-games { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.pyg-pf-game { display: flex; align-items: center; gap: 10px; margin: 0; padding: 8px 10px; font: 700 13px Manrope, sans-serif; color: #fff; cursor: pointer; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); border-radius: 14px; }
.pyg-pf-game input { width: 17px; height: 17px; margin: 0; accent-color: #818cf8; }
.pyg-pf-game span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pyg-pf-save { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 6px 0 4px; }
.pyg-modal .pyg-pf-savebtn { min-width: 170px; height: 46px; font-size: 15px; }
.pyg-pf-status { font: 700 13.5px Manrope, sans-serif; color: var(--pyg-muted); }
.pyg-pf-status.is-ok { color: #86efac; }
.pyg-pf-status.is-err { color: #fca5a5; }
@media (max-width: 600px) {
	.pyg-pf-row { flex-wrap: wrap; }
	.pyg-pf-row-act { width: 100%; justify-content: flex-start; padding-left: 56px; }
	.pyg-pf-row-act.is-price { width: auto; padding-left: 0; }
	.pyg-pf-select { flex-direction: column; align-items: stretch; }
	.pyg-modal .pyg-pf-select .pyg-cs { flex: 1 1 auto; width: 100%; }
}

/* ============================== карточка игрока и окно подарка */
.pyg-buy-ic.is-round { border-radius: 50%; }
.pyg-buy-actions.is-col { flex-direction: column; }
.pyg-buy .pyg-buy-btn:disabled { opacity: .55; cursor: default; }
.pyg-buy-box.pyg-gift-box { width: min(460px, 100%); max-height: calc(var(--pyg-vh, 100vh) - 32px); align-items: stretch; text-align: left; }
.pyg-gift-box .pyg-buy-game, .pyg-gift-box .pyg-buy-name { text-align: center; }
.pyg-gift-step { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
.pyg-gift-step-h { font: 800 12.5px Manrope, sans-serif; color: #a5b4fc; }
.pyg-gift-chip { display: flex; align-items: center; gap: 10px; padding: 8px 10px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .15); border-radius: 14px; }
.pyg-gift-chip-ic { flex: none; width: 40px; height: 40px; background: #0f172a center / cover no-repeat; border: 2px solid rgba(99, 102, 241, .7); border-radius: 12px; }
.pyg-gift-chip-ic.is-round { border-radius: 50%; }
.pyg-gift-chip-text { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.pyg-gift-chip-text b { font: 800 14px Manrope, sans-serif; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pyg-gift-chip-text small { font: 600 11.5px Manrope, sans-serif; color: rgba(203, 213, 225, .65); }
.pyg-gift-chip-price { flex: none; padding: 2px 9px; font: 800 12px Manrope, sans-serif; color: #1e293b; background: linear-gradient(135deg, #fde68a, #fbbf24); border-radius: 50px; }
.pyg-buy .pyg-gift-change { flex: none; margin: 0; padding: 4px 10px; font: 700 12px Manrope, sans-serif; color: #c7d2fe; background: none; border: 1px solid rgba(165, 180, 252, .4); border-radius: 50px; cursor: pointer; }
.pyg-gift-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 8px; max-height: 260px; overflow-y: auto; }
.pyg-buy .pyg-gift-pick { display: flex; flex-direction: column; align-items: center; gap: 3px; margin: 0; padding: 10px 6px; text-align: center; color: #fff; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); border-radius: 14px; cursor: pointer; }
.pyg-buy .pyg-gift-pick:hover { border-color: #a5b4fc; }
.pyg-gift-pick b { font: 800 12.5px Manrope, sans-serif; }
.pyg-gift-pick small { font: 600 11px Manrope, sans-serif; color: rgba(203, 213, 225, .65); }
.pyg-gift-people { display: flex; flex-wrap: wrap; gap: 6px; }
.pyg-buy .pyg-gift-person { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 4px 12px 4px 4px; font: 700 13px Manrope, sans-serif; color: #fff; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); border-radius: 50px; cursor: pointer; }
.pyg-buy .pyg-gift-person:hover { border-color: #a5b4fc; }
.pyg-gift-person .pyg-gift-chip-ic { width: 30px; height: 30px; }
.pyg-gift-anon { display: flex; align-items: center; gap: 8px; margin: 0; font: 600 12.5px Manrope, sans-serif; color: rgba(226, 232, 240, .85); cursor: pointer; }
.pyg-gift-anon input { width: 16px; height: 16px; margin: 0; accent-color: #818cf8; }
.pyg-gift-msg { min-height: 1.2em; }
.pyg-gift-msg.is-err { color: #fca5a5 !important; }
.pyg-gift-topup { color: #a5b4fc; font-weight: 800; }
.pyg-gift-box .pyg-pf-btn { padding: 8px 14px; font: 800 12.5px Manrope, sans-serif; color: #fff; background: linear-gradient(135deg, #6366f1, #8a2be2); border: 0; border-radius: 50px; cursor: pointer; }


/* ======================================= «Похожие игры» в окне игры */
.pyg-m-similar { display: grid; grid-auto-flow: column; grid-auto-columns: 92px; gap: 12px; overflow-x: auto; padding: 4px 2px 8px; scrollbar-width: none; }
.pyg-m-similar::-webkit-scrollbar { display: none; }
.pyg-modal .pyg-m-sim { display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 0; padding: 0; color: #fff; background: none; border: 0; cursor: pointer; }
.pyg-m-sim-ic { display: grid; place-items: center; width: 84px; height: 84px; font: 400 30px var(--pyg-head-font, "Russo One", sans-serif); background: #0f172a center / cover no-repeat; border: 2px solid rgba(99, 102, 241, .7); border-radius: 24px; box-shadow: 0 0 0 4px rgba(15, 23, 42, .6), 0 0 0 6px rgba(99, 102, 241, .3); transition: transform .2s; }
.pyg-modal .pyg-m-sim:hover .pyg-m-sim-ic { transform: translateY(-3px); }
.pyg-m-sim-title { width: 100%; font: 700 12px/1.25 Manrope, sans-serif; text-align: center; color: var(--pyg-dim); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ====================================================== пустые места */
.pyg-promo.is-placeholder .pyg-slide-bg, .pyg-slide.is-empty .pyg-slide-bg { background: repeating-linear-gradient(135deg, #1e1b4b 0 18px, #221f55 18px 36px); }
.pyg-slide.is-empty .pyg-slide-label { background: rgba(255, 255, 255, .15); }
.pyg-slide-hint { position: absolute; z-index: 3; left: 50%; bottom: 16%; width: min(90%, 460px); margin: 0; padding: 10px 14px; font: 600 13px/1.5 Manrope, sans-serif; color: #e0e7ff; text-align: center; background: rgba(15, 23, 42, .6); border: 1px dashed rgba(165, 180, 252, .6); border-radius: 14px; transform: translateX(-50%); }
.pyg-slide-missing { position: absolute; z-index: 3; right: 14px; bottom: 14px; padding: 4px 10px; font: 700 11px Manrope, sans-serif; color: #fde68a; background: rgba(15, 23, 42, .7); border: 1px dashed rgba(253, 230, 138, .6); border-radius: 10px; }
.pyg-ev.is-empty { cursor: default; background: repeating-linear-gradient(135deg, #1e1b4b 0 18px, #221f55 18px 36px); }
.pyg-ev.is-empty .pyg-ev-label { background: rgba(255, 255, 255, .15); }
.pyg-gift-card.is-empty { border-style: dashed; opacity: .75; }
.pyg-gift-card.is-empty .pyg-gift-ic { background: repeating-linear-gradient(135deg, #e0e7ff 0 8px, #eef2ff 8px 16px); border-style: dashed; }
.pyg-m-glass.is-missing { color: #fde68a !important; border-style: dashed; border-color: rgba(253, 230, 138, .6); }

/* Промо в узкой колонке каталога: метку убираем, чтобы не наезжала на название. */
@container pyghub (max-width: 600px) {
	.pyg-slide-label { display: none; }
	.pyg-slide-cap { top: 12px; max-width: 60%; }
	.pyg-promo-dots { top: 12px; right: 12px; }
	.pyg-slide-hint { bottom: 12%; font-size: 12px; }
}


/* ================================================ окно «Подарки» */
.pyg-hub a.pyg-rand-btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.pyg-hub .pyg-rand-btn.is-gifts { color: #fff; background: linear-gradient(135deg, #6366f1, #8a2be2); border-color: transparent; box-shadow: 0 8px 20px -8px rgba(99, 102, 241, .7); }
.pyg-hub .pyg-rand-btn.is-gifts:hover { color: #fff; background: linear-gradient(135deg, #4f46e5, #7c1fd6); }
.pyg-m-hero.is-store-hero { min-height: 120px; background: radial-gradient(120% 140% at 80% 0%, #db2777 0%, #8a2be2 40%, #312e81 75%, #0f172a 100%); }
.pyg-st-head { position: relative; z-index: 1; margin-top: -40px; }
.pyg-st-head .pyg-m-title { margin-bottom: 6px; }
.pyg-st-lead { max-width: 560px; margin: 0; font: 600 14px/1.55 Manrope, sans-serif; color: var(--pyg-dim); }
.pyg-st-head .pyg-m-actions { margin: 16px 0 6px; }
.pyg-st-note { margin: 0 0 12px; padding: 10px 14px; font: 600 12.5px Manrope, sans-serif; color: #fde68a; border: 1px dashed rgba(253, 230, 138, .5); border-radius: 12px; }
.pyg-st-chips { display: flex; gap: 6px; margin: 6px 0 16px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
.pyg-st-chips::-webkit-scrollbar { display: none; }
.pyg-modal .pyg-st-chip { flex: none; padding: 8px 16px; font: 800 12.5px Manrope, sans-serif; color: var(--pyg-dim); white-space: nowrap; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .14); border-radius: 50px; cursor: pointer; }
.pyg-modal .pyg-st-chip:hover { color: #fff; }
.pyg-modal .pyg-st-chip.is-on { color: #fff; background: linear-gradient(135deg, #6366f1, #8a2be2); border-color: transparent; }
.pyg-st-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 14px; padding-bottom: 6px; }
.pyg-st-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 18px 14px 14px;
	text-align: center;
	overflow: hidden;
	background: linear-gradient(180deg, rgba(99, 102, 241, .16), rgba(255, 255, 255, .04) 55%);
	border: 1px solid rgba(165, 180, 252, .22);
	border-radius: 22px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14);
	transition: transform .25s, border-color .25s, box-shadow .25s;
}
.pyg-st-card[hidden] { display: none; }
.pyg-st-card:hover { transform: translateY(-3px); border-color: rgba(199, 210, 254, .55); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 16px 30px -14px rgba(99, 102, 241, .8); }
.pyg-st-card::before { content: ""; position: absolute; top: -40px; left: 50%; width: 160px; height: 120px; background: radial-gradient(closest-side, rgba(168, 85, 247, .45), transparent); transform: translateX(-50%); pointer-events: none; }
.pyg-st-ring { position: relative; padding: 4px; margin-bottom: 4px; border: 3px solid rgba(99, 102, 241, .35); border-radius: 30px; }
.pyg-st-ic { display: block; width: 88px; height: 88px; background: #0f172a center / cover no-repeat; border: 2px solid rgba(165, 180, 252, .75); border-radius: 24px; box-shadow: 0 10px 22px rgba(0, 0, 0, .45); }
.pyg-st-name { position: relative; font: 400 15px/1.2 var(--pyg-head-font, "Russo One", Manrope, sans-serif); color: #fff; overflow-wrap: anywhere; }
.pyg-st-game { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; font: 700 12px Manrope, sans-serif; color: var(--pyg-dim); }
.pyg-st-game span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pyg-st-game-ic { flex: none; width: 18px; height: 18px; background: #1e293b center / cover no-repeat; border: 1px solid rgba(165, 180, 252, .6); border-radius: 6px; }
.pyg-st-kind { padding: 2px 10px; font: 700 11px Manrope, sans-serif; color: #c7d2fe; background: rgba(99, 102, 241, .22); border-radius: 10px; }
.pyg-st-price { margin: 4px 0 8px; padding: 4px 14px; font: 800 14px Manrope, sans-serif; color: #1e293b; background: linear-gradient(135deg, #fde68a, #fbbf24); border-radius: 50px; box-shadow: 0 6px 16px -6px rgba(245, 158, 11, .7); }
.pyg-modal .pyg-st-btn { width: 100%; margin-top: auto; padding: 10px 14px; font: 800 13.5px Manrope, sans-serif; color: #fff; background: linear-gradient(135deg, #6366f1, #8a2be2); border: 1px solid rgba(255, 255, 255, .25); border-radius: 50px; box-shadow: 0 8px 20px -8px rgba(99, 102, 241, .8), inset 0 1px 0 rgba(255, 255, 255, .3); cursor: pointer; transition: transform .2s; }
.pyg-modal .pyg-st-btn:hover { transform: translateY(-1px); }
.pyg-modal .pyg-st-btn:disabled { opacity: .45; cursor: default; transform: none; }
.pyg-st-card.is-empty .pyg-st-ic { background: repeating-linear-gradient(135deg, #1e1b4b 0 10px, #25225c 10px 20px); border-style: dashed; }
.pyg-st-card.is-empty { border-style: dashed; }
@media (max-width: 600px) {
	.pyg-st-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.pyg-st-card { padding: 14px 10px 12px; }
	.pyg-st-ic { width: 72px; height: 72px; border-radius: 20px; }
	.pyg-st-card::before { display: none; }
}
/* Шапка профиля и подарков плавно уходит в фон окна. */
.pyg-m-hero.is-profile-hero::after { background: linear-gradient(180deg, transparent 35%, rgba(15, 23, 42, .7) 75%, var(--pyg-bg) 100%); }


/* ================= выпадающие списки в окне (тёмный вариант списков каталога) */
.pyg-cs.is-up .pyg-cs-list { top: auto; bottom: calc(100% + 6px); transform: translateY(10px); }
.pyg-cs.is-up.is-open .pyg-cs-list { transform: none; }
.pyg-modal .pyg-cs { position: relative; flex: 0 0 230px; min-width: 0; }
.pyg-modal .pyg-cs-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	padding: 10px 14px 10px 16px;
	font: 700 13.5px/1.3 Manrope, system-ui, sans-serif;
	color: #fff;
	text-align: left;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 50px;
	cursor: pointer;
	transition: border-color .2s, background-color .2s, box-shadow .2s;
}
.pyg-modal .pyg-cs-trigger:hover { border-color: rgba(165, 180, 252, .7); background: rgba(255, 255, 255, .12); }
.pyg-modal .pyg-cs.is-open .pyg-cs-trigger { border-color: #a5b4fc; box-shadow: 0 0 0 3px rgba(99, 102, 241, .28); }
.pyg-modal .pyg-cs-trigger:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.pyg-modal .pyg-cs-arrow { flex: none; width: 16px; height: 16px; fill: #a5b4fc; transition: transform .3s; }
.pyg-modal .pyg-cs.is-open .pyg-cs-arrow { transform: rotate(180deg); }
.pyg-modal .pyg-cs-list {
	position: absolute;
	z-index: 30;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	max-height: 260px;
	overflow-y: auto;
	padding: 6px;
	background: #1e1b4b;
	border: 1px solid rgba(165, 180, 252, .35);
	border-radius: 16px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, .55);
	scrollbar-width: thin;
	scrollbar-color: rgba(165, 180, 252, .4) transparent;
}
.pyg-modal .pyg-cs-item {
	display: block;
	width: 100%;
	margin: 0;
	padding: 9px 12px;
	font: 600 13.5px/1.3 Manrope, system-ui, sans-serif;
	color: #e2e8f0;
	text-align: left;
	background: none;
	border: 0;
	border-radius: 10px;
	cursor: pointer;
	transition: background-color .15s, color .15s;
}
.pyg-modal .pyg-cs-item:hover, .pyg-modal .pyg-cs-item:focus-visible { color: #fff; background: rgba(255, 255, 255, .09); outline: none; }
.pyg-modal .pyg-cs-item.is-active { color: #fff; font-weight: 800; background: linear-gradient(135deg, #6366f1, #8a2be2); }


/* ================================================== метки контента */
.pyg-lbl {
	position: absolute;
	z-index: 1;
	right: 8px;
	bottom: 8px;
	max-width: calc(100% - 16px);
	padding: 2px 8px;
	overflow: hidden;
	font: 800 10px/1.4 Manrope, system-ui, sans-serif;
	color: #fde68a;
	white-space: nowrap;
	text-overflow: ellipsis;
	background: rgba(15, 23, 42, .82);
	border: 1px solid rgba(253, 230, 138, .55);
	border-radius: 99px;
}
.pyg-row-scroll .pyg-lbl { display: none; }
.pyg-m-glass.is-label { background: rgba(15, 23, 42, .55); }
.pyg-m-glass.is-label.is-warn { color: #fde68a !important; border-color: rgba(253, 230, 138, .6); }
.pyg-gate-list { display: flex; flex-direction: column; gap: 8px; width: 100%; margin: 6px 0 4px; text-align: left; }
.pyg-gate-item { display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; background: rgba(253, 230, 138, .08); border: 1px solid rgba(253, 230, 138, .35); border-radius: 14px; }
.pyg-gate-item b { font: 800 14px Manrope, sans-serif; color: #fde68a; }
.pyg-gate-item span { font: 600 12.5px/1.45 Manrope, sans-serif; color: rgba(226, 232, 240, .8); }
.pyg-gate-pop .pyg-gift-anon { align-self: flex-start; margin-top: 8px; }
.pyg-pf-label { margin: 0 0 10px; padding: 12px 14px 2px; background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .12); border-radius: 16px; }
.pyg-pf-label-head { display: flex; flex-direction: column; gap: 2px; margin-bottom: 10px; }
.pyg-pf-label-head b { font: 800 14px Manrope, sans-serif; color: #fde68a; }
.pyg-pf-label-head small { font: 600 12px Manrope, sans-serif; color: var(--pyg-muted); }
.pyg-pf-label .pyg-pf-switch { margin-bottom: 10px; }
.pyg-pf-label .pyg-pf-switch small:empty { display: none; }

.pyg-modal a.pyg-pf-btn { display: inline-block; text-decoration: none; }

/* ============================================================ ДОСТИЖЕНИЯ */
.pyg-ach-bar { display: block; width: 100%; height: 6px; overflow: hidden; background: rgba(255, 255, 255, .1); border-radius: 99px; }
.pyg-ach-bar i { display: block; height: 100%; background: linear-gradient(90deg, #6366f1, #a855f7); border-radius: inherit; transition: width .5s ease; }

/* раздел в окне игры */
.pyg-ach-head { display: flex; flex-direction: column; gap: 8px; margin: 0 0 14px; }
.pyg-ach-sum { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font: 600 13px Manrope, sans-serif; color: var(--pyg-muted); }
.pyg-ach-sum b { font: 800 15px Manrope, sans-serif; color: #fff; }
.pyg-ach-hint { margin: 0 0 12px; font: 600 13px Manrope, sans-serif; color: var(--pyg-muted); }
.pyg-ach-hint a { color: #a5b4fc; font-weight: 800; }
.pyg-ach-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.pyg-ach-tile { display: flex; align-items: flex-start; gap: 12px; padding: 12px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .1); border-radius: 16px; }
.pyg-ach-tile[hidden] { display: none; }
.pyg-ach-tile.is-done { background: linear-gradient(135deg, rgba(99, 102, 241, .16), rgba(168, 85, 247, .1)); border-color: rgba(168, 85, 247, .45); }
.pyg-ach-ic { display: grid; flex: none; place-items: center; width: 46px; height: 46px; font-size: 24px; line-height: 1; background: rgba(255, 255, 255, .08) center / cover no-repeat; border-radius: 13px; }
.pyg-ach-tile:not(.is-done) .pyg-ach-ic { filter: grayscale(1); opacity: .55; }
.pyg-ach-tile.is-done .pyg-ach-ic { box-shadow: 0 0 0 2px rgba(168, 85, 247, .7), 0 6px 18px -6px rgba(168, 85, 247, .9); }
.pyg-ach-text { display: flex; flex: 1; flex-direction: column; gap: 4px; min-width: 0; }
.pyg-ach-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.pyg-ach-top b { font: 800 14px/1.3 Manrope, sans-serif; color: #fff; overflow-wrap: anywhere; }
.pyg-ach-pts { flex: none; padding: 2px 8px; font: 800 11px Manrope, sans-serif; color: #e9d5ff; background: rgba(168, 85, 247, .22); border-radius: 99px; }
.pyg-ach-text p { margin: 0; font: 500 12.5px/1.45 Manrope, sans-serif; color: var(--pyg-dim, rgba(226, 232, 240, .8)); }
.pyg-ach-tile.is-secret .pyg-ach-text p { font-style: italic; }
.pyg-ach-prog { display: flex; align-items: center; gap: 8px; margin-top: 2px; }
.pyg-ach-prog small { flex: none; font: 700 11px Manrope, sans-serif; color: var(--pyg-muted); }
.pyg-ach-meta, .pyg-ach-reward { font: 600 11.5px Manrope, sans-serif; color: var(--pyg-muted); }
.pyg-ach-reward { color: #fcd34d; }
.pyg-modal .pyg-ach-more { display: block; margin: 12px auto 0; padding: 9px 18px; font: 800 13px Manrope, sans-serif; color: #fff; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); border-radius: 50px; cursor: pointer; }
.pyg-modal .pyg-ach-more:hover { background: rgba(255, 255, 255, .14); }

/* плашка «Достижение получено» поверх игры */
.pyg-ach-pop {
	position: absolute;
	z-index: 30;
	top: 14px;
	left: 50%;
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: calc(100% - 28px);
	padding: 10px 18px 10px 10px;
	color: #fff;
	background: rgba(17, 12, 32, .92);
	border: 1px solid rgba(168, 85, 247, .6);
	border-radius: 18px;
	box-shadow: 0 14px 34px -10px rgba(0, 0, 0, .7), 0 0 0 4px rgba(168, 85, 247, .14);
	opacity: 0;
	transform: translate(-50%, -16px) scale(.96);
	transition: opacity .35s ease, transform .35s cubic-bezier(.2, 1.4, .4, 1);
	pointer-events: none;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.pyg-ach-pop.is-on { opacity: 1; transform: translate(-50%, 0) scale(1); }
.pyg-ach-pop-ic { display: grid; flex: none; place-items: center; width: 44px; height: 44px; font-size: 24px; line-height: 1; background: rgba(168, 85, 247, .25) center / cover no-repeat; border-radius: 12px; }
.pyg-ach-pop-text { display: flex; flex-direction: column; gap: 1px; min-width: 0; font-family: Manrope, sans-serif; }
.pyg-ach-pop-text small { font-size: 10.5px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; color: #c4b5fd; }
.pyg-ach-pop-text b { font-size: 14.5px; font-weight: 800; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pyg-ach-pop-text span { font-size: 12px; font-weight: 600; color: #fcd34d; }

/* вкладка «Достижения» в «Мой Paw Play» */
.pyg-ach-total { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 20px; }
.pyg-ach-total-it { display: flex; flex-direction: column; gap: 2px; padding: 12px; text-align: center; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); border-radius: 16px; }
.pyg-ach-total-it b { font: 400 22px var(--pyg-head-font, "Russo One", Manrope, sans-serif); color: #fff; }
.pyg-ach-total-it span { font: 600 12px Manrope, sans-serif; color: var(--pyg-muted); }
.pyg-ach-strip { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.pyg-modal .pyg-ach-chip { display: flex; flex: none; align-items: center; gap: 10px; max-width: 240px; padding: 8px 14px 8px 8px; text-align: left; color: #fff; background: rgba(255, 255, 255, .06); border: 1px solid rgba(168, 85, 247, .35); border-radius: 16px; cursor: pointer; }
.pyg-modal .pyg-ach-chip:hover { background: rgba(255, 255, 255, .1); }
.pyg-ach-chip .pyg-ach-ic { width: 38px; height: 38px; font-size: 20px; }
.pyg-ach-chip-text { display: flex; flex-direction: column; min-width: 0; }
.pyg-ach-chip-text b { font: 800 13px Manrope, sans-serif; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pyg-ach-chip-text small { font: 600 11.5px Manrope, sans-serif; color: var(--pyg-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pyg-pf-row-text .pyg-ach-bar { margin-top: 6px; max-width: 260px; }

@media (max-width: 520px) {
	.pyg-ach-grid { grid-template-columns: 1fr; }
	.pyg-ach-pop { top: 10px; padding-right: 14px; }
	.pyg-ach-total-it b { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
	.pyg-ach-pop, .pyg-ach-bar i { transition: none; }
}

/* ============================================================ РЕКЛАМА */
.pyg-ad { margin: 22px 0 0; padding: 10px; background: rgba(255, 255, 255, .04); border: 1px dashed rgba(255, 255, 255, .14); border-radius: 16px; }
.pyg-ad-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 2px 8px; }
.pyg-ad-label { font: 700 10.5px Manrope, sans-serif; letter-spacing: .6px; text-transform: uppercase; color: var(--pyg-muted); }
.pyg-modal .pyg-ad-off { padding: 4px 10px; font: 800 11.5px Manrope, sans-serif; color: #c4b5fd; background: rgba(168, 85, 247, .14); border: 1px solid rgba(168, 85, 247, .35); border-radius: 50px; cursor: pointer; }
.pyg-modal .pyg-ad-off:hover { color: #fff; background: rgba(168, 85, 247, .3); }
.pyg-ad-body { min-height: 50px; overflow: hidden; text-align: center; }
.pyg-ad-body img, .pyg-ad-body iframe { max-width: 100%; }
.pyg-ad-frame { display: block; width: 100%; height: 90px; border: 0; }

/* окно «Без рекламы» — на общих стилях окна покупки */
.pyg-adfree-ic { display: grid; place-items: center; font-size: 30px; line-height: 1; }
.pyg-adfree-old { margin-right: 4px; font-size: .7em; opacity: .55; }
.pyg-adfree-wrap { margin: 0 0 14px; }
.pyg-adfree-ava { display: grid; place-items: center; font-size: 20px; }
.pyg-buy .pyg-adfree-main { margin-top: 2px; font: 800 13px Manrope, sans-serif; color: #c4b5fd; text-decoration: underline; text-underline-offset: 3px; }
.pyg-pf-feed { margin: 6px 0 0; }
.pyg-pf-feed a { color: #a5b4fc; font-weight: 800; }

/* плашка «Без рекламы» под ником в «Мой Paw Play» */
.pyg-modal .pyg-adfree-pill { display: inline-flex; align-items: center; gap: 9px; margin-top: 10px; padding: 7px 14px 7px 8px; text-align: left; color: #fff; background: linear-gradient(135deg, rgba(99, 102, 241, .35), rgba(168, 85, 247, .3)); border: 1px solid rgba(196, 181, 253, .55); border-radius: 50px; box-shadow: 0 8px 20px -10px rgba(139, 92, 246, .9); cursor: pointer; transition: transform .15s, background-color .2s; }
.pyg-modal .pyg-adfree-pill:hover:not(:disabled) { transform: translateY(-1px); background: linear-gradient(135deg, rgba(99, 102, 241, .5), rgba(168, 85, 247, .45)); }
.pyg-modal .pyg-adfree-pill:disabled { cursor: default; }
.pyg-modal .pyg-adfree-pill.is-on { background: rgba(34, 197, 94, .14); border-color: rgba(134, 239, 172, .5); box-shadow: none; }
.pyg-adfree-pill-ic { display: grid; place-items: center; width: 28px; height: 28px; font-size: 15px; background: rgba(255, 255, 255, .14); border-radius: 50%; }
.pyg-adfree-pill-text { display: flex; flex-direction: column; line-height: 1.2; }
.pyg-adfree-pill-text b { font: 800 13px Manrope, sans-serif; }
.pyg-adfree-pill-text small { font: 600 11.5px Manrope, sans-serif; color: rgba(226, 232, 240, .8); }

/* реклама в шапке окна: полосой под аватаркой и названием — на любом экране */
.pyg-m-head { flex-wrap: wrap; }
.pyg-m-head > .pyg-ad.is-head { flex: 1 1 100%; align-self: stretch; min-width: 0; margin: 12px 0 0; padding: 8px; }
.pyg-ad.is-head .pyg-ad-head { margin-bottom: 6px; }
.pyg-ad.is-head .pyg-ad-body { display: flex; justify-content: center; }
.pyg-ad.is-head .pyg-ad-body > * { max-width: 100%; }
.pyg-ad .pyg-ad-body video, .pyg-ad .pyg-ad-body img { max-width: 100%; height: auto; }
.pyg-ad-unmute { display: block; margin: 8px auto 0; padding: 8px 14px; font: 800 13px Manrope, sans-serif; color: #fff; background: linear-gradient(135deg, #6366f1, #a855f7); border: 0; border-radius: 999px; cursor: pointer; }

/* реклама во время игры */
.pyg-m-player > .pyg-ad.is-play { margin: 0; padding: 8px 10px; border-radius: 0; border-width: 0; background: rgba(255, 255, 255, .03); }
.pyg-m-player > .pyg-ad.is-top { border-bottom: 1px solid rgba(255, 255, 255, .1); }
.pyg-m-player > .pyg-ad.is-bottom { border-top: 1px solid rgba(255, 255, 255, .1); }
.pyg-m-player.has-ad-left { display: flex; align-items: stretch; }
.pyg-m-player.has-ad-left > .pyg-ad.is-left { flex: 0 0 var(--pyg-ad-w, 300px); max-width: 40%; border-right: 1px solid rgba(255, 255, 255, .1); overflow: auto; }
.pyg-m-player.has-ad-left > .pyg-stage { flex: 1 1 0; width: auto; min-width: 0; max-width: calc(72vh * var(--pyg-arn, 1.7778)); margin: 0 auto; }

/* заставка с рекламой поверх игры */
.pyg-adov { position: absolute; inset: 0; z-index: 40; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 14px; background: rgba(9, 6, 18, .94); opacity: 0; transition: opacity .25s ease; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.pyg-adov.is-on { opacity: 1; }
.pyg-adov-bar { position: absolute; top: 10px; left: 12px; right: 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pyg-adov-count { padding: 5px 12px; font: 800 12.5px Manrope, sans-serif; color: #fff; background: rgba(255, 255, 255, .12); border-radius: 50px; font-variant-numeric: tabular-nums; }
.pyg-adov-box { width: min(100%, 728px); max-height: calc(100% - 100px); overflow: auto; }
.pyg-adov-box > .pyg-ad { margin: 0; padding: 0; background: none; border: 0; }
.pyg-adov .pyg-adov-off { position: absolute; bottom: 12px; padding: 6px 14px; font: 800 12px Manrope, sans-serif; color: #e9d5ff; background: rgba(168, 85, 247, .2); border: 1px solid rgba(168, 85, 247, .45); border-radius: 50px; cursor: pointer; }
.pyg-adov .pyg-adov-off:hover { color: #fff; background: rgba(168, 85, 247, .38); }
@media (prefers-reduced-motion: reduce) { .pyg-adov { transition: none; } }
.pyg-m-sub .pyg-m-test { padding: 2px 9px; font-weight: 800; color: #fde68a; background: rgba(245, 158, 11, .2); border: 1px solid rgba(245, 158, 11, .45); border-radius: 50px; }

/* ============================================================ СВОЙ АВАТАР И ШАПКА */
.pyg-m-hero.is-profile-hero.has-cover { min-height: 190px; aspect-ratio: 3 / 1; max-height: 300px; }
.pyg-m-hero.is-profile-hero.has-cover::before { display: block; -webkit-mask-image: none; mask-image: none; }
.pyg-modal .pyg-look-cover-btn { position: absolute; z-index: 3; top: 14px; right: 64px; padding: 7px 14px; font: 800 12px Manrope, sans-serif; color: #fff; background: rgba(15, 23, 42, .55); border: 1px solid rgba(255, 255, 255, .25); border-radius: 50px; cursor: pointer; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.pyg-modal .pyg-look-cover-btn:hover { background: rgba(15, 23, 42, .78); }
.pyg-m-ava-ring { position: relative; }
.pyg-modal .pyg-look-ava-btn { position: absolute; right: -6px; bottom: -6px; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; color: #fff; background: linear-gradient(135deg, #6366f1, #8a2be2); border: 3px solid var(--pyg-bg, #0f172a); border-radius: 50%; cursor: pointer; box-shadow: 0 6px 14px -4px rgba(0, 0, 0, .6); }
.pyg-modal .pyg-look-ava-btn:hover { transform: scale(1.06); }
.pyg-look-menu { position: absolute; z-index: 50; display: flex; flex-direction: column; min-width: 220px; padding: 6px; background: #1e1b2e; border: 1px solid rgba(255, 255, 255, .14); border-radius: 14px; box-shadow: 0 18px 40px -12px rgba(0, 0, 0, .7); }
.pyg-look-menu button { padding: 10px 12px; text-align: left; font: 700 13px Manrope, sans-serif; color: #fff; background: none; border: 0; border-radius: 10px; cursor: pointer; }
.pyg-look-menu button:hover { background: rgba(255, 255, 255, .08); }
.pyg-look-menu button.is-danger { color: #fca5a5; }
/* шапка в карточке игрока */
.pyg-card-pop .pyg-buy-box.has-cover { padding-top: 0; overflow: hidden; }
.pyg-card-cover { align-self: stretch; flex: none; height: 110px; margin: 0 -22px -42px; background: #312e81 center / cover no-repeat; }
.pyg-card-pop .has-cover .pyg-buy-ic { position: relative; border: 4px solid #1a1530; }
@media (max-width: 600px) { .pyg-modal .pyg-look-cover-btn { top: auto; bottom: 12px; right: 12px; } }

/* оценка доступна после времени в игре */
.pyg-rate.is-locked .pyg-stars button { opacity: .35; cursor: help; }
.pyg-rate-wait { display: block; margin-top: 4px; font: 600 11.5px Manrope, sans-serif; color: var(--pyg-muted); }

/* ============================================================ ОКНО ПОКУПКИ: ЧЕК */
.pyg-buy-head { margin-bottom: 2px; font: 400 13px/1 var(--pyg-head-font, "Russo One", Manrope, sans-serif); letter-spacing: .08em; text-transform: uppercase; color: #c7d2fe; }
.pyg-buy-check { width: 100%; margin-top: 8px; padding: 6px 12px; text-align: left; background: rgba(255, 255, 255, .05); border: 1px dashed rgba(165, 180, 252, .35); border-radius: 14px; }
.pyg-buy-line { display: flex; align-items: baseline; gap: 10px; padding: 6px 0; font-size: 13px; color: rgba(226, 232, 240, .78); }
.pyg-buy-line + .pyg-buy-line { border-top: 1px solid rgba(255, 255, 255, .08); }
.pyg-buy-line span { flex: 1; min-width: 0; }
.pyg-buy-line b { font-weight: 800; color: #fff; text-align: right; overflow-wrap: anywhere; }
.pyg-buy-line.is-price b { font-size: 16px; color: #fde68a; }
.pyg-buy-line.is-bad b { color: #fca5a5; }

/* ============================================================ ОКНО ПОКУПКИ В СТИЛЕ «ОСТРОВА ПЫШЕК» */
@font-face { font-family: "PYG Junegull"; src: url("fonts/junegull.ttf") format("truetype"); font-weight: 100 900; font-display: swap; }
.pyg-buy.pyg-look-island { font-family: Rubik, Manrope, system-ui, sans-serif; background: radial-gradient(ellipse at center, rgba(40, 20, 8, .45), rgba(14, 6, 2, .74)); }
.pyg-look-island .pyg-buy-box {
	width: min(380px, 100%);
	padding: 0 22px 20px;
	overflow: visible;
	color: #5a3417;
	background:
		radial-gradient(120% 60% at 50% 0%, rgba(255, 250, 230, .9), rgba(255, 250, 230, 0) 70%),
		linear-gradient(180deg, #fbe8c2, #f3d9a8 55%, #e9c58a);
	border: 0;
	border-radius: 26px;
	box-shadow: inset 0 0 0 3px #fff3d6, inset 0 -6px 0 rgba(160, 100, 40, .25), 0 0 0 4px #7a4a26, 0 0 0 7px #3a2112, 0 18px 44px rgba(0, 0, 0, .55);
}
.pyg-look-island .pyg-buy-box::after { content: ""; position: absolute; inset: 10px; border: 2px dashed rgba(122, 74, 38, .22); border-radius: 18px; pointer-events: none; }
.pyg-look-island .pyg-buy-box > * { position: relative; z-index: 1; }
.pyg-look-island .pyg-buy-head {
	align-self: center;
	margin: -20px 0 8px;
	padding: 11px 30px 10px;
	font: 900 17px/1 "PYG Junegull", Rubik, sans-serif;
	letter-spacing: .05em;
	color: #ffe7b0;
	text-shadow: 0 2px 0 #3a1c0a;
	background: linear-gradient(180deg, #a0643a, #6a3a1c 55%, #4a260e);
	border-radius: 12px;
	box-shadow: inset 0 2px 0 rgba(255, 220, 160, .35), 0 0 0 2.5px #3a2112, 0 5px 10px rgba(0, 0, 0, .35);
}
.pyg-look-island .pyg-buy-box:not(:has(.pyg-buy-head)) { padding-top: 22px; }
.pyg-look-island .pyg-buy-ic { width: 84px; height: 84px; background-color: #fff6df; border: 0; border-radius: 22px; box-shadow: 0 0 0 3px #e2b065, 0 0 0 5px #7a4a26, 0 6px 14px rgba(90, 50, 20, .35); }
.pyg-look-island .pyg-buy-game { color: rgba(90, 52, 23, .65); }
.pyg-look-island .pyg-buy-name { font: 900 22px/1.15 "PYG Junegull", Rubik, sans-serif; color: #5a2e10; text-shadow: 0 1px 0 #fff6dc; }
.pyg-look-island .pyg-buy-kind { color: #9a5a22; }
.pyg-look-island .pyg-buy-price { font-family: "PYG Junegull", Rubik, sans-serif; color: #4a2610; background: linear-gradient(#ffe7a0, #f2b84a); box-shadow: 0 0 0 2px #7a4a26, 0 4px 0 #5a3417; }
.pyg-look-island .pyg-buy-check { background: rgba(255, 255, 255, .5); border: 2px dashed rgba(122, 74, 38, .35); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .6); }
.pyg-look-island .pyg-buy-line { color: rgba(90, 52, 23, .8); font-weight: 600; }
.pyg-look-island .pyg-buy-line + .pyg-buy-line { border-top: 1px solid rgba(122, 74, 38, .18); }
.pyg-look-island .pyg-buy-line b { color: #4a2610; }
.pyg-look-island .pyg-buy-line.is-price b { font: 900 18px "PYG Junegull", Rubik, sans-serif; color: #c0561a; }
.pyg-look-island .pyg-buy-line.is-bad b { color: #c0281a; }
.pyg-look-island .pyg-buy-text { color: #5a3417; }
.pyg-look-island .pyg-buy-note { color: rgba(90, 52, 23, .62); }
.pyg-look-island .pyg-buy-actions { margin-top: 14px; }
.pyg-buy.pyg-look-island .pyg-buy-btn {
	height: 48px;
	font: 900 15px "PYG Junegull", Rubik, sans-serif;
	letter-spacing: .02em;
	color: #4a2610;
	text-shadow: 0 1px 0 rgba(255, 255, 255, .6);
	background: linear-gradient(180deg, #fff3c4 0%, #ffd46a 40%, #f7a53a 78%, #e98a28 100%);
	border: 0;
	border-radius: 16px;
	box-shadow: inset 0 2px 0 #fff8dc, inset 0 -3px 0 rgba(160, 80, 20, .35), 0 0 0 2px #7a4a26, 0 4px 0 #5a3417;
}
.pyg-buy.pyg-look-island .pyg-buy-btn:hover { transform: translateY(-2px); background: linear-gradient(180deg, #fff6d4 0%, #ffdc80 40%, #f9b04a 78%, #ee9434 100%); }
.pyg-buy.pyg-look-island .pyg-buy-btn.is-ghost { color: #ffe7b0; text-shadow: 0 1px 0 #3a1c0a; background: linear-gradient(180deg, #a0643a, #6a3a1c 60%, #4a260e); box-shadow: inset 0 2px 0 rgba(255, 220, 160, .3), 0 0 0 2px #3a2112, 0 4px 0 #2a160a; }
.pyg-buy.pyg-look-island .pyg-buy-btn.is-main { background: linear-gradient(180deg, #b6f08a 0%, #6ad08a 45%, #2ab36a 100%); color: #0f3a1c; box-shadow: inset 0 2px 0 #e6ffd0, inset 0 -3px 0 rgba(10, 80, 30, .3), 0 0 0 2px #1d5a2a, 0 4px 0 #123a1a; }
.pyg-buy.pyg-look-island .pyg-buy-btn:focus-visible { outline: 3px solid #fff3c4; }
.pyg-look-island .pyg-buy-spin { border-color: rgba(122, 74, 38, .2); border-top-color: #e98a28; }
.pyg-look-island .pyg-buy-box.is-done .pyg-buy-head { background: linear-gradient(180deg, #4ab86a, #24804a 55%, #145a30); box-shadow: inset 0 2px 0 rgba(200, 255, 200, .35), 0 0 0 2.5px #0e3a1c, 0 5px 10px rgba(0, 0, 0, .35); }
.pyg-look-island .pyg-buy-box.is-done .pyg-buy-text { color: #1d6a34; }
.pyg-look-island .pyg-buy-box.is-funds .pyg-buy-text, .pyg-look-island .pyg-buy-box.is-error .pyg-buy-text { color: #b0281a; }
.pyg-buy-actions .pyg-buy-btn.is-main { flex: 1.5; white-space: nowrap; }
.pyg-look-island .pyg-buy-ic:not([style*="url"]) { background: #fff6df url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'><path d='M22 24v-4a10 10 0 0 1 20 0v4' fill='none' stroke='%237a4a26' stroke-width='4' stroke-linecap='round'/><path d='M12 22h40l-3 32a4 4 0 0 1-4 4H19a4 4 0 0 1-4-4z' fill='%23f2b84a' stroke='%237a4a26' stroke-width='3' stroke-linejoin='round'/><path d='M15 30h34' stroke='%23fff3c4' stroke-width='3' opacity='.7'/><circle cx='22' cy='30' r='2.6' fill='%237a4a26'/><circle cx='42' cy='30' r='2.6' fill='%237a4a26'/><path d='M27 42q5 5 10 0' fill='none' stroke='%237a4a26' stroke-width='3' stroke-linecap='round'/></svg>") center / 62% no-repeat; }

/* ============================================================ реклама за награду */
.pyg-adrw .pyg-adov-box { display: grid; place-items: center; min-height: 120px; }
.pyg-adrw-ya { width: 100%; min-height: 250px; }
.pyg-adrw-foot { position: absolute; bottom: 14px; left: 0; right: 0; display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.pyg-adov .pyg-adrw-close { padding: 8px 16px; font: 800 12.5px Manrope, sans-serif; color: rgba(255, 255, 255, .8); background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .25); border-radius: 50px; cursor: pointer; }
.pyg-adov .pyg-adrw-claim { padding: 10px 22px; font: 800 14px Manrope, sans-serif; color: #fff; background: linear-gradient(135deg, #22c55e, #16a34a); border: 0; border-radius: 50px; box-shadow: 0 8px 22px rgba(34, 197, 94, .45); cursor: pointer; animation: pyg-rw-pulse 1.4s ease-in-out infinite; }
@keyframes pyg-rw-pulse { 50% { transform: scale(1.05); } }

/* ======================================================== профиль игрока (1.27) */
.pyg-pf-who { display: flex; flex: 1; align-items: center; gap: 12px; min-width: 0; padding: 0; margin: 0; font: inherit; color: inherit; text-align: left; background: none; border: 0; border-radius: 12px; }
button.pyg-pf-who { cursor: pointer; }
button.pyg-pf-who:hover .pyg-pf-row-text b { color: #c7d2fe; text-decoration: underline; text-underline-offset: 3px; }
button.pyg-pf-who:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.pyg-face-link { display: inline-flex; border-radius: 50%; }
.pyg-face-link:focus-visible { outline: 2px solid var(--pyg-accent, #8a2be2); outline-offset: 2px; }

.pyg-pl-note { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; margin: 0 0 14px; padding: 10px 14px; font: 600 13px Manrope, system-ui, sans-serif; color: var(--pyg-dim); background: rgba(99, 102, 241, .14); border: 1px solid rgba(165, 180, 252, .3); border-radius: 14px; }

.pyg-m-ava-ring.is-online { border-color: rgba(52, 211, 153, .55); box-shadow: 0 16px 40px rgba(0, 0, 0, .45), 0 0 30px -6px rgba(52, 211, 153, .75); }
.pyg-pl-dot { position: absolute; right: 2px; bottom: 2px; width: 18px; height: 18px; background: #34d399; border: 3px solid #0f172a; border-radius: 50%; box-shadow: 0 0 0 0 rgba(52, 211, 153, .6); animation: pyg-pl-pulse 2s infinite; }
@keyframes pyg-pl-pulse { 0% { box-shadow: 0 0 0 0 rgba(52, 211, 153, .55); } 70% { box-shadow: 0 0 0 10px rgba(52, 211, 153, 0); } 100% { box-shadow: 0 0 0 0 rgba(52, 211, 153, 0); } }

.pyg-pl-now { display: inline-flex; align-items: center; gap: 10px; margin-top: 10px; padding: 6px 14px 6px 6px; font: inherit; color: #fff; text-align: left; background: rgba(16, 185, 129, .16); border: 1px solid rgba(52, 211, 153, .45); border-radius: 50px; cursor: pointer; transition: background-color .2s, transform .2s; }
.pyg-pl-now:hover { background: rgba(16, 185, 129, .28); transform: translateY(-1px); }
.pyg-pl-now-ic { flex: none; display: grid; place-items: center; width: 34px; height: 34px; font: 800 14px Manrope, sans-serif; background: #1e293b center / cover no-repeat; border-radius: 10px; }
.pyg-pl-now-text { display: flex; flex-direction: column; line-height: 1.2; }
.pyg-pl-now-text small { font: 700 11px Manrope, sans-serif; color: #6ee7b7; }
.pyg-pl-now-text b { font: 800 14px Manrope, sans-serif; }

.pyg-modal .pyg-pl-actions { flex-wrap: wrap; }
.pyg-modal .pyg-pl-actions .pyg-m-btn.is-main { background: linear-gradient(135deg, #6366f1, #8a2be2); border-color: rgba(255, 255, 255, .3); box-shadow: 0 8px 22px rgba(99, 102, 241, .5), inset 0 1px 0 rgba(255, 255, 255, .35); }
.pyg-modal .pyg-pl-actions .pyg-m-btn.is-quiet { color: var(--pyg-muted); background: none; border-color: transparent; box-shadow: none; }
.pyg-modal .pyg-pl-actions .pyg-m-btn.is-quiet:hover { color: #fca5a5; }
.pyg-modal .pyg-pl-actions .pyg-m-btn[disabled] { opacity: .65; cursor: default; transform: none; }
.pyg-modal .pyg-pl-actions a.pyg-m-btn { text-decoration: none; }

.pyg-pl-game { width: 100%; font: inherit; color: inherit; text-align: left; cursor: pointer; transition: background-color .2s, border-color .2s, transform .2s; }
.pyg-pl-game:hover { background: rgba(255, 255, 255, .1); border-color: rgba(165, 180, 252, .45); transform: translateY(-1px); }
.pyg-pl-game:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.pyg-pl-game .pyg-pf-row-text small { color: var(--pyg-dim); }
.pyg-pl-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; flex: none; max-width: 46%; }
.pyg-pl-badge { padding: 3px 9px; font: 800 11.5px Manrope, sans-serif; font-style: normal; color: #e0e7ff; white-space: nowrap; background: rgba(255, 255, 255, .1); border-radius: 50px; }
.pyg-pl-badge.is-like { color: #fda4af; background: rgba(244, 63, 94, .16); }
.pyg-pl-badge.is-full { color: #fde68a; background: rgba(245, 158, 11, .2); }
.pyg-pl-badge.is-common { color: #a7f3d0; background: rgba(16, 185, 129, .18); }

.pyg-pl-mutual { margin: -4px 0 10px; font: 700 12.5px Manrope, sans-serif; color: #6ee7b7; }
.pyg-pl-friends { display: grid; grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); gap: 10px; }
.pyg-pl-friend { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 6px; font: inherit; color: inherit; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .1); border-radius: 16px; cursor: pointer; transition: background-color .2s, transform .2s; }
.pyg-pl-friend:hover { background: rgba(255, 255, 255, .1); transform: translateY(-2px); }
.pyg-pl-friend:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.pyg-pl-friend-ava { width: 54px; height: 54px; background: #1e293b center / cover no-repeat; border: 2px solid rgba(99, 102, 241, .8); border-radius: 50%; }
.pyg-pl-friend.is-mutual .pyg-pl-friend-ava { border-color: #34d399; }
.pyg-pl-friend-name { max-width: 100%; overflow: hidden; font: 700 12px Manrope, sans-serif; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 600px) {
	.pyg-pl-badges { max-width: 100%; justify-content: flex-start; }
	.pyg-pl-game { flex-wrap: wrap; }
	.pyg-pl-game .pyg-pl-badges { flex-basis: 100%; padding-left: 56px; }
	.pyg-modal .pyg-pl-actions .pyg-m-btn { flex: 1 1 auto; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .pyg-pl-dot { animation: none; } }
.pyg-pf-code.is-view { border-style: solid; }

/* Баннер в игре (PawYume.adBanner): лежит поверх фрейма в месте, которое отвела игра. */
.pyg-ingame { position: absolute; z-index: 30; overflow: hidden; border-radius: 14px; background: rgba(255, 252, 245, .96); box-shadow: 0 6px 18px rgba(20, 8, 0, .35), inset 0 0 0 2px rgba(201, 146, 82, .55); animation: pygInAd .3s ease both; }
@keyframes pygInAd { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }
.pyg-ingame .pyg-ad { margin: 0 !important; padding: 0 !important; width: 100%; height: 100%; display: flex; flex-direction: column; background: none !important; border: 0 !important; box-shadow: none !important; }
.pyg-ingame .pyg-ad-head { flex: none; display: flex; align-items: center; justify-content: space-between; gap: 4px; padding: 3px 7px; font-size: 10px; line-height: 1.2; }
.pyg-ingame .pyg-ad-head .pyg-ad-off { font-size: 10px; padding: 1px 6px; }
.pyg-ingame .pyg-ad-body { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.pyg-ingame .pyg-ad-body > * { max-width: 100%; max-height: 100%; }
.pyg-ingame img, .pyg-ingame video { max-width: 100%; max-height: 100%; object-fit: contain; }
.pyg-ingame .pyg-ad-frame, .pyg-ingame .pyg-ad-url { width: 100% !important; height: 100% !important; }
.pyg-ingame .paw-ad-box { margin: 0 !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; background: none !important; height: 100%; }
.pyg-ingame .paw-ad-box::before { display: none; }
.pyg-ingame .paw-ad-inner { padding: 4px !important; height: 100%; box-sizing: border-box; justify-content: center; }
.pyg-ingame .paw-ad-vertical { flex-direction: column !important; gap: 6px !important; align-items: center !important; height: 100%; }
.pyg-ingame .paw-ad-v-img { width: auto !important; flex: 1 1 auto; min-height: 0; display: flex; justify-content: center; }
.pyg-ingame .paw-ad-v-img img { aspect-ratio: auto !important; height: 100%; width: auto; }
.pyg-ingame .paw-ad-v-text { flex: none; text-align: center; }
.pyg-ingame .paw-ad-v-text h3 { font-size: 13px !important; margin: 0 0 3px !important; }
.pyg-ingame .paw-ad-v-text p { display: none; }
.pyg-ingame .paw-ad-btn { align-self: center !important; padding: 5px 12px !important; font-size: 11px !important; }

/* Телефон держат вертикально, а игра горизонтальная: сайт поворачивает фрейм — и окно рекламы поверх него тоже
   (окно покупки поворачивается само, см. .pyg-stage.is-cw .pyg-buy-box). */
.pyg-stage.is-rotated > .pyg-adov { inset: auto; top: 0; left: 0; width: var(--pyg-rw); height: var(--pyg-rh); transform-origin: 0 0; }
.pyg-stage.is-rotated.is-cw > .pyg-adov { transform: rotate(90deg) translateY(-100%); }
.pyg-stage.is-rotated.is-ccw > .pyg-adov { transform: rotate(-90deg) translateX(-100%); }

/* Окно ввода текста (PawYume.prompt). */
.pyg-prompt-in { width: 100%; box-sizing: border-box; margin: 10px 0 4px; padding: 12px 14px; border-radius: 14px; border: 2px solid rgba(99, 102, 241, .55); background: rgba(255, 255, 255, .96); color: #1e1b4b; font: 800 18px/1.2 inherit; letter-spacing: .08em; text-align: center; text-transform: uppercase; outline: none; }
.pyg-prompt-in:focus { border-color: #8b5cf6; box-shadow: 0 0 0 4px rgba(139, 92, 246, .25); }
.pyg-look-island .pyg-prompt-in { border-color: rgba(201, 146, 82, .8); background: #fffaf0; color: #5a3618; }


/* ------------------------------------------------------------------ 1.28.25
   Игра, развёрнутая «своим» окном (is-pseudo), должна занимать весь экран при любой ориентации.
   Раньше правило для окна игры внутри карточки — width: min(100%, 72vh × пропорции) — стояло в файле ниже
   и перебивало ширину 100vw. В портрете это незаметно (72vh больше ширины экрана), а когда экран реально
   поворачивался в альбом (приложение соцсети поворачивает его через мост), 72vh становилось маленьким
   и игра занимала только левую часть экрана. Теперь размеры развёрнутого окна ничем не перебиваются. */
.pyg-stage.is-pseudo,
.pyg-m-player .pyg-stage.is-pseudo,
.pyg-m-player.has-ad-left > .pyg-stage.is-pseudo,
.pyg-modal .pyg-stage.is-pseudo {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: auto !important;
	width: 100vw !important;
	min-width: 100vw !important;
	max-width: none !important;
	height: 100vh !important;
	height: var(--pyg-vh, 100dvh) !important;
	max-height: none !important;
	margin: 0 !important;
	flex: none !important;
	aspect-ratio: auto !important;
	border: 0 !important;
	border-radius: 0 !important;
	z-index: 2147483000 !important;
}
/* фрейм игры в развёрнутом окне без поворота — ровно во всё окно */
.pyg-stage.is-pseudo:not(.is-rotated) > .pyg-frame { width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; }

/* очередь скачивания больших игр */
.pyg-dlq{position:absolute;inset:0;z-index:30;display:grid;place-items:center;padding:16px;background:radial-gradient(ellipse at 50% 40%,rgba(30,22,60,.82),rgba(8,6,20,.94));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:pygDlqIn .25s ease}
@keyframes pygDlqIn{from{opacity:0}to{opacity:1}}
.pyg-dlq-box{width:min(420px,100%);text-align:center;color:#fff;font-family:Manrope,system-ui,sans-serif}
.pyg-dlq-ic{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;position:relative;background:conic-gradient(from 0deg,#8a5cff,#ff6ad5,#8a5cff);animation:pygDlqSpin 1.4s linear infinite}
.pyg-dlq-ic span{position:absolute;inset:6px;border-radius:50%;background:#140e2c}
.pyg-dlq-ic::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:18px;margin:-11px 0 0 -7px;background:#fff;clip-path:polygon(35% 0,65% 0,65% 55%,100% 55%,50% 100%,0 55%,35% 55%);animation:pygDlqSpin 1.4s linear infinite reverse}
@keyframes pygDlqSpin{to{transform:rotate(360deg)}}
.pyg-dlq-t{display:block;font-size:20px;font-weight:800;margin-bottom:10px}
.pyg-dlq-pos{display:flex;flex-direction:column;align-items:center;gap:2px;margin:6px 0 8px}.pyg-dlq-pos span{font-size:13px;opacity:.8}
.pyg-dlq-pos strong{font-family:"Russo One",Manrope,sans-serif;font-size:54px;line-height:1;background:linear-gradient(180deg,#fff,#c9b8ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.pyg-dlq-sub{font-size:14px;font-weight:700;opacity:.9;margin-bottom:12px}
.pyg-dlq-note{font-size:12.5px;line-height:1.45;opacity:.7;margin-bottom:16px}
.pyg-dlq-x{border:0;cursor:pointer;padding:10px 22px;border-radius:999px;font:800 14px Manrope,system-ui,sans-serif;color:#fff;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3)}
.pyg-dlq-x:hover{background:rgba(255,255,255,.22)}

/* ============================================================= Paw Play (лаунчер для ПК)
   Страница открыта в окне лаунчера: сайт не показываем — только игра, окна покупок/предупреждений и уведомления. */
html.pyg-in-launcher, html.pyg-in-launcher body { background: #0f0919 !important; overflow: hidden !important; }
html.pyg-in-launcher body > *:not(.pyg-modal):not(.pyg-buy):not(.pyg-toast) { visibility: hidden !important; }
html.pyg-in-launcher .pyg-modal .pyg-m-backdrop { background: #0f0919 !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
html.pyg-in-launcher .pyg-stage.is-pseudo { background: #0f0919 !important; }
/* кнопка «Выйти» — неприметная, проявляется при наведении */
html.pyg-in-launcher .pyg-stage.is-pseudo .pyg-exit { opacity: .35; transition: opacity .2s; }
html.pyg-in-launcher .pyg-stage.is-pseudo .pyg-exit:hover, html.pyg-in-launcher .pyg-stage.is-pseudo .pyg-exit:focus-visible { opacity: 1; }
/* В лаунчере окно игры открывается в скрытом окне программы, где анимация появления может не успеть отработать
   (окно остаётся прозрачным и сдвинутым — виден «чёрный экран»). Анимация тут не нужна: показываем сразу,
   и ни один родитель игры не должен быть «рамкой» для развёрнутого на всё окно плеера (transform/filter/contain). */
html.pyg-in-launcher .pyg-modal .pyg-m-sheet,
html.pyg-in-launcher .pyg-modal .pyg-m-backdrop { opacity: 1 !important; transition: none !important; }
html.pyg-in-launcher .pyg-modal,
html.pyg-in-launcher .pyg-modal .pyg-m-sheet,
html.pyg-in-launcher .pyg-modal .pyg-m-scroll,
html.pyg-in-launcher .pyg-modal .pyg-m-top,
html.pyg-in-launcher .pyg-modal .pyg-m-player { transform: none !important; filter: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; contain: none !important; will-change: auto !important; }
