@font-face {
	font-family: "FontAwesome";
	src: url("../fonts/fontawesome-webfont.woff2") format("woff2"),
		url("../fonts/fontawesome-webfont.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

:root {
	--bg: #f4f6fb;
	--surface: #ffffff;
	--surface-soft: #f8fafc;
	--surface-tint: #edf7f1;
	--ink: #121826;
	--text: #243044;
	--muted: #6c7789;
	--faint: #97a2b3;
	--line: #e3e8f0;
	--line-strong: #cdd6e4;
	--green: #16a34a;
	--green-dark: #0f7a38;
	--blue: #2563eb;
	--red: #ef4444;
	--amber: #f59e0b;
	--shadow: 0 18px 48px rgba(15, 23, 42, .08);
	--shadow-soft: 0 10px 28px rgba(15, 23, 42, .06);
	--radius: 8px;
}

* {box-sizing: border-box; margin: 0; padding: 0;}
html {min-width: 320px; scroll-behavior: smooth;}
body {
	min-height: 100%;
	background: var(--bg);
	color: var(--text);
	font: 14px/1.55 Inter, "Segoe UI", Roboto, Arial, sans-serif;
	letter-spacing: 0;
}
article, aside, footer, header, main, nav, section {display: block;}
ol, ul {list-style: none;}
img {display: block; max-width: 100%;}
a {color: inherit; text-decoration: none;}
a:hover {color: var(--green);}
button, input, select, textarea {font: inherit;}
button {cursor: pointer;}
h1, h2, h3, h4, h5 {color: var(--ink); font-weight: 850; line-height: 1.14; letter-spacing: 0;}
b, strong {font-weight: 850;}
code {
	padding: 2px 6px;
	border-radius: 6px;
	background: #edf2f7;
	color: #0f172a;
}

.clearfix:after {content: ""; display: table; clear: both;}
.hidden, #dofullsearch {display: none !important;}
.nowrap {white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.img-fit, .img-box {overflow: hidden; position: relative;}
.img-fit img {width: 100%; height: 100%; object-fit: cover;}
.img-box img {width: 100%; min-height: 100%; object-fit: cover;}
.fx-row {display: flex; flex-wrap: wrap; justify-content: space-between;}
.fx-col {display: flex; flex-direction: column;}
.fx-center {justify-content: center;}
.fx-middle {align-items: center;}
.fx-start {justify-content: flex-start;}
.fx-first {order: -1;}
.fx-last {order: 10;}
.fx-1 {flex: 1 1 0; min-width: 0; max-width: 100%;}
.anim-all {transition: all .2s ease;}
.fa {font-family: "FontAwesome"; font-style: normal;}

.wrap-center {
	width: min(1240px, calc(100% - 32px));
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
.market-shell {min-height: 100vh; overflow: hidden;}

input[type="text"],
input[type="password"],
select,
textarea {
	width: 100%;
	min-height: 44px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	color: var(--ink);
	box-shadow: none;
	padding: 0 14px;
	outline: none;
}
textarea {min-height: 130px; padding: 14px; resize: vertical;}
input::placeholder, textarea::placeholder {color: var(--faint);}
input:focus, select:focus, textarea:focus {border-color: rgba(22,163,74,.55); box-shadow: 0 0 0 3px rgba(22,163,74,.12);}
.button, .btn, :where(button:not(.color-btn):not([class*=fr]):not(.store-icon-btn):not(.btn-search):not(.btn-menu)),
html input[type="button"], input[type="reset"], input[type="submit"], .usp-btn a, .usp-edit a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 18px;
	border-radius: var(--radius);
	border: 1px solid var(--green);
	background: var(--green);
	color: #fff;
	font-weight: 850;
}

.store-header {
	position: sticky;
	top: 0;
	z-index: 999;
	background: rgba(255,255,255,.92);
	border-bottom: 1px solid rgba(226,232,240,.86);
	backdrop-filter: blur(18px);
}
.store-header__inner {
	display: grid;
	grid-template-columns: 170px minmax(260px, 1fr) auto auto;
	align-items: center;
	gap: 18px;
	min-height: 76px;
}
.brand-mark {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
	color: var(--ink);
	font-size: 24px;
	font-weight: 950;
	white-space: nowrap;
}
.brand-mark img {width: 40px; height: 40px; object-fit: contain;}
.brand-mark span {color: var(--ink);}
.store-nav {display: flex; align-items: center; gap: 6px;}
.store-nav a,
.mobile-tabs a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 0 12px;
	border-radius: var(--radius);
	color: var(--muted);
	font-weight: 800;
	white-space: nowrap;
}
.store-nav a:hover,
.mobile-tabs a:hover {background: var(--surface-tint); color: var(--green-dark);}
.store-actions {display: flex; align-items: center; justify-content: flex-end; gap: 10px; min-width: 0;}
button.store-icon-btn,
.store-icon-btn {
	display: none;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	min-height: 42px;
	padding: 0;
	border-radius: var(--radius);
	border: 1px solid var(--line);
	background: var(--surface);
	color: var(--ink);
	box-shadow: none;
}
.store-search {min-width: 0;}
.search-box {position: relative;}
.search-box input {
	height: 46px;
	padding: 0 58px 0 18px;
	border-radius: 999px;
	background: #f8fafc;
}
.search-box button {
	position: absolute;
	right: 4px;
	top: 50%;
	width: 40px;
	height: 38px;
	min-height: 0;
	padding: 0;
	transform: translateY(-50%);
	border: 0;
	border-radius: 999px;
	background: var(--green);
	color: #fff;
}
.search-box button:hover {background: var(--green-dark); color: #fff;}
#searchsuggestions {
	overflow: hidden !important;
	width: min(520px, calc(100vw - 24px)) !important;
	border: 1px solid var(--line) !important;
	border-radius: var(--radius) !important;
	background: var(--surface) !important;
	box-shadow: var(--shadow) !important;
	color: var(--text) !important;
}
#searchsuggestions a {display: block; color: var(--text) !important;}

.mobile-tabs {
	display: none;
	margin-top: 14px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.mobile-tabs::-webkit-scrollbar {display: none;}

.page-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 24px;
	align-items: start;
	padding: 24px 0 42px;
}
.market-content {min-width: 0;}
.market-sidebar {
	position: sticky;
	top: 96px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}

.section-block,
.content-panel,
.seo-panel,
.catalog-head,
.genre-strip,
.side-card,
.plain-page,
.pages {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	box-shadow: var(--shadow-soft);
}
.section-block,
.content-panel,
.catalog-head,
.genre-strip,
.plain-page,
.pages {padding: 20px;}
.section-block + .section-block,
.section-block + .content-panel,
.content-panel + .content-panel,
.content-panel + .section-block,
.quick-cats + .section-block,
.hero-store + .quick-cats,
.seo-panel + #dle-content,
#dle-content > * + *,
.catalog-head + *,
.genre-strip + * {margin-top: 18px;}

.section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}
.section-head h2,
.section-title {font-size: 22px;}
.section-kicker {
	margin-bottom: 5px;
	color: var(--green-dark);
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: .08em;
}
.section-link,
.primary-link,
.sect-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 40px;
	padding: 0 14px;
	border-radius: var(--radius);
	border: 1px solid var(--green);
	background: var(--green);
	color: #fff;
	font-weight: 850;
	white-space: nowrap;
}
.section-link:hover,
.primary-link:hover,
.sect-link:hover {background: var(--green-dark); border-color: var(--green-dark); color: #fff;}
.primary-link.secondary,
.section-link.secondary,
.sect-link.ghost {
	border-color: var(--line);
	background: var(--surface);
	color: var(--ink);
}
.primary-link.secondary:hover,
.section-link.secondary:hover,
.sect-link.ghost:hover {border-color: var(--green); color: var(--green);}

.hero-store {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 310px;
	gap: 22px;
	align-items: stretch;
	margin-bottom: 18px;
	padding: 28px;
	border: 1px solid #d8eadf;
	border-radius: var(--radius);
	background:
		linear-gradient(135deg, rgba(22,163,74,.11), rgba(37,99,235,.08)),
		var(--surface);
	box-shadow: var(--shadow);
}
.hero-store h1 {max-width: 720px; font-size: 42px;}
.hero-store p {max-width: 650px; margin-top: 12px; color: var(--muted); font-size: 16px;}
.hero-store__actions {display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px;}
.hero-store__panel {
	display: grid;
	gap: 10px;
	align-content: center;
}
.hero-stat {
	padding: 16px;
	border: 1px solid rgba(255,255,255,.7);
	border-radius: var(--radius);
	background: rgba(255,255,255,.72);
	box-shadow: 0 8px 20px rgba(15,23,42,.05);
}
.hero-stat span {display: block; color: var(--blue); font-size: 12px; font-weight: 900;}
.hero-stat b {display: block; margin-top: 4px; color: var(--ink); font-size: 17px;}

.drop-home {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 18px;
	align-items: stretch;
	margin-bottom: 16px;
	padding: 24px;
	border: 1px solid #ccebd7;
	border-radius: var(--radius);
	background:
		linear-gradient(135deg, rgba(22,163,74,.12), rgba(37,99,235,.06)),
		var(--surface);
	box-shadow: var(--shadow);
}
.drop-home h1 {
	max-width: 680px;
	font-size: 40px;
}
.drop-home p {
	max-width: 650px;
	margin-top: 10px;
	color: var(--muted);
	font-size: 16px;
}
.drop-home__search {
	max-width: 620px;
	margin-top: 18px;
}
.drop-home__search form {
	position: relative;
}
.drop-home__search input {
	height: 54px;
	padding: 0 64px 0 18px;
	border-radius: var(--radius);
	background: var(--surface);
	box-shadow: 0 12px 28px rgba(15,23,42,.06);
}
.drop-home__search button {
	position: absolute;
	top: 6px;
	right: 6px;
	width: 42px;
	height: 42px;
	min-height: 42px;
	padding: 0;
	border: 0;
	border-radius: var(--radius);
	background: var(--green);
	color: #fff;
}
.drop-home__quick {
	display: grid;
	gap: 10px;
}
.drop-home__quick a {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	align-content: center;
	column-gap: 10px;
	min-height: 86px;
	padding: 14px;
	border: 1px solid rgba(255,255,255,.72);
	border-radius: var(--radius);
	background: rgba(255,255,255,.75);
	box-shadow: 0 10px 24px rgba(15,23,42,.05);
}
.drop-home__quick .fa {
	grid-row: span 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: var(--radius);
	background: var(--surface-tint);
	color: var(--green);
}
.drop-home__quick b {color: var(--ink); font-size: 16px;}
.drop-home__quick small {color: var(--muted); font-size: 12px; line-height: 1.35;}
.drop-lanes {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 16px;
}
.drop-lanes a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 56px;
	padding: 12px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	box-shadow: var(--shadow-soft);
	color: var(--ink);
	font-weight: 900;
}
.drop-lanes a:hover {border-color: var(--green); background: var(--surface-tint);}
.drop-lanes .fa {color: var(--green);}
.drop-two {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 18px;
}
.drop-two .section-block {min-width: 0;}
.drop-two .section-block + .section-block {margin-top: 0;}
.drop-two .mini-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.quick-cats {
	margin-bottom: 18px;
	padding: 20px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	box-shadow: var(--shadow-soft);
}
.quick-cats__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}
.quick-cats__grid a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 58px;
	padding: 12px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface-soft);
	font-weight: 850;
}
.quick-cats__grid a:hover {border-color: rgba(22,163,74,.42); background: var(--surface-tint);}
.quick-cats__grid .fa {color: var(--green);}

.app-grid,
.short-items {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}
.compact-grid {grid-template-columns: repeat(4, minmax(0, 1fr));}
.app-card,
.short-item {
	position: relative;
	min-width: 0;
	min-height: 244px;
	padding: 14px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	box-shadow: 0 8px 22px rgba(15,23,42,.045);
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.app-card:hover {
	transform: translateY(-2px);
	border-color: rgba(22,163,74,.42);
	box-shadow: var(--shadow-soft);
}
.app-card__link,
.short-link {display: block; color: inherit;}
.app-card__icon,
.short-img {
	width: 96px;
	height: 96px;
	margin: 0 auto 12px;
	border-radius: 22px;
	background: #eef2f7;
	box-shadow: inset 0 0 0 1px rgba(15,23,42,.06);
}
.app-card__title,
.short-title {
	display: -webkit-box;
	min-height: 42px;
	overflow: hidden;
	color: var(--ink);
	font-size: 15px;
	font-weight: 900;
	line-height: 1.35;
	text-align: center;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.app-card__desc,
.short-desc {
	display: -webkit-box;
	min-height: 38px;
	margin-top: 6px;
	overflow: hidden;
	color: var(--muted);
	font-size: 12px;
	line-height: 1.45;
	text-align: center;
	overflow-wrap: anywhere;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.app-card__meta {
	display: flex;
	justify-content: center;
	gap: 6px;
	min-height: 26px;
	margin-top: 10px;
	overflow: hidden;
}
.app-pill {
	display: inline-flex;
	align-items: center;
	max-width: 50%;
	min-height: 24px;
	padding: 0 8px;
	border-radius: 999px;
	background: var(--surface-tint);
	color: var(--green-dark);
	font-size: 11px;
	font-weight: 850;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.app-pill.muted {background: #f1f5f9; color: var(--muted);}
.app-badge,
.short-label {
	position: absolute;
	top: 10px;
	right: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	min-height: 22px;
	padding: 0 8px;
	border-radius: 999px;
	color: #fff;
	font-size: 10px;
	font-weight: 900;
	text-transform: uppercase;
}
.app-badge--new,
.short-new {background: var(--green);}
.app-badge--upd,
.short-upd {background: var(--blue);}
.app-badge--hit,
.short-hit {background: var(--amber);}
.short-bottom {display: flex; justify-content: center; margin-top: 10px;}

.catalog-head h1 {font-size: 34px;}
.category-description {max-width: 760px; margin-top: 10px; color: var(--muted);}
.genre-strip__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}
.genre-chip {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 12px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: var(--surface-soft);
	color: var(--text);
	font-weight: 800;
}
.genre-chip:hover {border-color: var(--green); background: var(--surface-tint);}
.genre-chip.is-active {border-color: var(--green); background: var(--green); color: #fff;}

.side-card {padding: 16px;}
.side-title {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 12px;
	color: var(--ink);
	font-size: 16px;
	font-weight: 900;
}
.side-title .fa {color: var(--green);}
.side-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}
.side-links li {min-width: 0;}
.side-links a {
	display: block;
	padding: 8px 9px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface-soft);
	color: var(--muted);
	font-size: 12px;
	font-weight: 800;
	overflow-wrap: anywhere;
}
.side-links a:hover {border-color: var(--green); color: var(--green-dark);}
.seo-panel {margin-top: 18px; color: var(--muted);}
.seo-panel .site-desc {height: auto !important; max-height: none !important; overflow: visible !important;}
.seo-panel .slice-btn {display: none !important;}
.seo-panel h1 {font-size: 24px; margin-bottom: 10px;}
.seo-panel p {margin: 0 0 10px;}
.seo-panel p:last-child {margin-bottom: 0;}
.top-row {
	gap: 10px;
	padding: 9px 0;
	border-bottom: 1px solid var(--line);
}
.top-row:last-child {border-bottom: 0; padding-bottom: 0;}
.top-row__icon {
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	border-radius: 10px;
	background: #eef2f7;
}
.top-row__title {
	overflow: hidden;
	color: var(--ink);
	font-weight: 850;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.top-row__meta {color: var(--faint); font-size: 12px;}

.app-page > * + *,
.article-page > * + * {margin-top: 18px;}
.app-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	gap: 18px;
	padding: 24px;
	border: 1px solid #d8eadf;
	border-radius: var(--radius);
	background:
		linear-gradient(135deg, rgba(22,163,74,.10), rgba(37,99,235,.08)),
		var(--surface);
	box-shadow: var(--shadow);
}
.app-hero--download {
	grid-template-columns: minmax(0, 1fr) 320px;
	align-items: stretch;
}
.app-hero__main {display: flex; align-items: center; gap: 20px; min-width: 0;}
.app-hero__icon {
	width: 132px;
	height: 132px;
	flex: 0 0 132px;
	border-radius: 30px;
	background: #eef2f7;
	box-shadow: 0 16px 36px rgba(15,23,42,.12);
}
.app-hero__copy {min-width: 0;}
.app-hero h1 {font-size: 38px;}
.app-hero h1 b {color: var(--green-dark); font-size: .72em;}
.app-hero__subtitle {margin-top: 8px; color: var(--muted); font-size: 16px;}
.app-hero__actions {display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px;}
.app-rating {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
	align-self: center;
}
.mrating-count {color: var(--muted); font-size: 12px; text-align: center;}

.quick-download {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
	padding: 16px;
	border: 1px solid rgba(255,255,255,.72);
	border-radius: var(--radius);
	background: rgba(255,255,255,.78);
	box-shadow: 0 14px 32px rgba(15,23,42,.07);
}
.quick-download__title {
	color: var(--ink);
	font-size: 18px;
	font-weight: 950;
}
.quick-download__specs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}
.quick-download__specs div {
	min-width: 0;
	padding: 10px;
	border-radius: var(--radius);
	background: var(--surface-soft);
}
.quick-download__specs span {
	display: block;
	color: var(--muted);
	font-size: 11px;
	font-weight: 850;
}
.quick-download__specs b {
	display: block;
	margin-top: 3px;
	color: var(--ink);
	font-size: 12px;
	overflow-wrap: anywhere;
}
.quick-download__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 14px;
	border-radius: var(--radius);
	background: var(--green);
	color: #fff;
	font-weight: 950;
	text-align: center;
}
.quick-download__button:hover {background: var(--green-dark); color: #fff;}

.app-page-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 210px;
	gap: 16px;
	align-items: start;
}
.app-page-layout__main {
	display: grid;
	gap: 18px;
	min-width: 0;
}
.app-page-layout__side {
	position: sticky;
	top: 96px;
	display: grid;
	gap: 12px;
	min-width: 0;
}
.app-anchor-card,
.app-mini-card {
	padding: 14px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	box-shadow: var(--shadow-soft);
}
.app-anchor-card {
	display: grid;
	gap: 8px;
}
.app-anchor-card a {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 36px;
	padding: 0 10px;
	border-radius: var(--radius);
	background: var(--surface-soft);
	color: var(--text);
	font-weight: 850;
}
.app-anchor-card a:hover {background: var(--surface-tint); color: var(--green-dark);}
.app-anchor-card .fa {color: var(--green);}
.app-mini-card__title {
	color: var(--ink);
	font-weight: 950;
	line-height: 1.3;
}
.app-mini-card__text {
	margin-top: 6px;
	color: var(--muted);
	font-size: 12px;
	line-height: 1.45;
}
.overview-panel .full-text {
	max-width: 760px;
}
.screenshots-panel {
	padding: 14px;
}

.spec-grid,
.finfo {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
}
.spec-grid li,
.finfo li {
	min-width: 0;
	padding: 14px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	box-shadow: var(--shadow-soft);
}
.spec-grid i,
.finfo i {display: block; margin-bottom: 9px; color: var(--green); font-size: 18px;}
.spec-grid div,
.finfo div {color: var(--muted); font-size: 12px; font-weight: 800;}
.spec-grid span,
.finfo span {display: block; margin-top: 3px; color: var(--ink); font-weight: 900; overflow-wrap: anywhere;}
.spec-grid a,
.finfo a {color: var(--green-dark); font-weight: 850;}

.accent-panel {background: #f4fbf6; border-color: #ccebd7;}
.full-text {
	color: var(--text);
	font-size: 16px;
	line-height: 1.75;
	overflow-wrap: anywhere;
}
.full-text p {margin: 0 0 16px;}
.full-text h2, .full-text h3 {margin: 22px 0 12px;}
.full-text ul, .full-text ol {margin: 0 0 16px 22px;}
.full-text ul {list-style: disc;}
.full-text ol {list-style: decimal;}
.full-text li {margin-bottom: 8px;}
.full-text img {
	height: auto !important;
	margin: 14px auto;
	border-radius: var(--radius);
}

.gallery-shown {
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: #0f172a;
}
.gallery-shown .fotorama__stage {background: #0f172a;}
.gallery-shown .fotorama__nav-wrap {background: #111827;}

.download-card {
	padding: 22px;
	border: 1px solid #bbf7d0;
	border-radius: var(--radius);
	background:
		linear-gradient(135deg, rgba(22,163,74,.13), rgba(245,158,11,.08)),
		var(--surface);
	box-shadow: var(--shadow);
}
.download-card__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}
.download-card h2 {font-size: 26px;}
.download-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	gap: 16px;
	align-items: start;
}
.download-primary,
.download-buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}
.download-buttons a,
.fdl-btn {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	width: 100%;
	min-height: 66px;
	padding: 10px 12px;
	border: 1px solid rgba(22,163,74,.28);
	border-radius: var(--radius);
	background: var(--green);
	color: #fff;
	box-shadow: 0 16px 34px rgba(22,163,74,.18);
}
.download-buttons a:hover,
.fdl-btn:hover {background: var(--green-dark); color: #fff;}
.download-icon,
.fdl-btn-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: var(--radius);
	background: rgba(255,255,255,.18);
}
.download-main,
.fdl-btn-title {min-width: 0;}
.download-name {display: block; overflow: hidden; font-size: 15px; font-weight: 900; white-space: nowrap; text-overflow: ellipsis;}
.download-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 3px;
	color: rgba(255,255,255,.82);
	font-size: 12px;
}
.download-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 12px;
	border-radius: var(--radius);
	background: rgba(255,255,255,.20);
	color: #fff;
	font-weight: 900;
}
.download-buttons a.download-armed {background: var(--amber); border-color: var(--amber);}
.download-buttons a.download-waiting {background: #475569; border-color: #475569; cursor: wait;}
.fdl-btn-gp {
	border-color: var(--line);
	background: #111827;
	box-shadow: 0 14px 30px rgba(15,23,42,.16);
}
.fdl-btn-gp:hover {background: #020617;}
.fdl-btn-icon img {max-width: 26px; max-height: 26px;}
.download-note {
	padding: 16px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(255,255,255,.72);
}
.download-note-title {margin-bottom: 10px; color: var(--ink); font-weight: 900;}
.download-note ul {display: grid; gap: 8px;}
.download-note li {
	position: relative;
	padding-left: 18px;
	color: var(--muted);
	font-size: 13px;
}
.download-note li:before {
	content: "";
	position: absolute;
	left: 0;
	top: .62em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--green);
}

.faq-list {display: grid; gap: 12px;}
.faq-list .section-head {margin-bottom: 0;}
.faq-item {
	padding: 14px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface-soft);
}
.faq-item h3 {font-size: 16px;}
.faq-item p {margin-top: 6px; color: var(--muted);}

.article-hero {
	position: relative;
	min-height: 360px;
	overflow: hidden;
	border-radius: var(--radius);
	background: #0f172a;
	box-shadow: var(--shadow);
}
.article-cover-wide,
.article-cover-wide img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.article-cover-wide:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(15,23,42,.86), rgba(15,23,42,.18));
}
.article-hero-content {
	position: relative;
	z-index: 2;
	width: min(720px, 100%);
	padding: 52px 36px;
	color: #fff;
}
.article-kicker,
.article-kicker a {color: #bbf7d0; font-weight: 900;}
.article-hero h1 {margin-top: 10px; color: #fff; font-size: 42px;}
.article-meta {justify-content: flex-start; gap: 14px; margin-top: 16px; color: rgba(255,255,255,.78);}
.article-body {max-width: 880px; margin-left: auto; margin-right: auto;}
.article-content {font-size: 17px;}
.article-tags {margin-top: 18px; color: var(--muted);}
.article-rating-panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 16px;
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid var(--line);
}
.article-rating-actions {display: grid; gap: 10px;}

.rating-meter {
	--rating-percent: 0%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	max-width: 100%;
	min-height: 30px;
	padding: 0 10px;
	border-radius: 999px;
	background: #f1f5f9;
	color: var(--muted);
	font-size: 11px;
	font-weight: 850;
	white-space: nowrap;
}
.rating-track {
	position: relative;
	display: block;
	width: 48px;
	height: 6px;
	overflow: hidden;
	border-radius: 999px;
	background: #d8e0ea;
}
.rating-fill {
	position: absolute;
	left: 0;
	top: 0;
	width: var(--rating-percent);
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--green), #4ade80);
	transition: width .25s ease;
}
.rating-value {min-width: 30px; color: var(--ink); font-size: 11px; text-align: right;}
.rating-source {display: none !important;}
.rating-meter-full {
	width: 100%;
	min-height: 44px;
	justify-content: flex-start;
	padding: 0 14px;
	background: var(--surface);
	border: 1px solid var(--line);
}
.rating-meter-full .rating-track {flex: 1 1 auto; width: auto; min-width: 72px; height: 8px;}
.rating-meter-full .rating-value {color: var(--green-dark); font-weight: 900;}
.rating-vote {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 42px;
	padding: 8px 10px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
}
.rating-vote-title {color: var(--muted); font-size: 12px; font-weight: 850;}
.rating-vote-control {display: flex; align-items: center; gap: 4px;}
.rate3-short {display: grid; gap: 10px;}
.rate-actions {display: flex; gap: 8px;}
.sr-plus1,
.sr-minus1 {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 0;
	min-height: 38px;
	border-radius: var(--radius);
	color: #fff;
	font-weight: 900;
	cursor: pointer;
}
.sr-plus1 {background: var(--green);}
.sr-minus1 {background: var(--red);}
.r3-hide {display: none;}

.login-btns {display: flex; align-items: center; gap: 8px;}
.btn-fav,
.btn-login {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	color: var(--ink);
	font-weight: 850;
}
.btn-login.img-fit {width: 42px; padding: 0; overflow: hidden;}
.login-box {
	display: none;
	position: fixed;
	top: 92px;
	right: max(16px, calc((100vw - 1240px) / 2));
	z-index: 1002;
	width: min(360px, calc(100vw - 32px));
	padding: 18px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	box-shadow: var(--shadow);
}
.login-overlay {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 1001;
	background: rgba(15,23,42,.28);
}
.login-close {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius);
	background: var(--surface-soft);
	cursor: pointer;
}
.login-title {margin-bottom: 12px; color: var(--ink); font-size: 18px; font-weight: 900;}
.login-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 68px;
	height: 68px;
	margin: 0 auto 14px;
	border-radius: 50%;
	background: var(--surface-tint);
	color: var(--green);
	font-size: 24px;
	overflow: hidden;
}
.login-input + .login-input,
.login-input,
.login-check,
.login-btn {margin-top: 10px;}
.login-btm {gap: 10px; margin-top: 12px; color: var(--muted); font-size: 13px;}
.login-menu {display: grid; gap: 8px;}
.login-menu li {width: 100%;}
.login-menu a,
.login-admin a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 9px 10px;
	border-radius: var(--radius);
	background: var(--surface-soft);
	color: var(--text);
	font-weight: 800;
}
.login-soc-title {margin-top: 14px; color: var(--muted); text-align: center;}
.login-soc-btns {display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 10px;}
.login-soc-btns a {width: 34px; height: 34px;}

.add-comm-form,
.comments,
.comms {
	color: var(--text);
}
.add-comm-form {display: grid; gap: 12px;}
.ac-inputs {display: flex; flex-wrap: wrap; gap: 10px;}
.ac-inputs input {flex: 1 1 180px;}
.ac-protect {display: none;}
.comment,
.comm-item {
	padding: 14px 0;
	border-bottom: 1px solid var(--line);
}
.reply {cursor: pointer; color: var(--green); font-weight: 850;}

.bottom-nav {margin-top: 18px;}
.navigation {display: flex; flex-wrap: wrap; justify-content: center; gap: 6px;}
.navigation a,
.navigation span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	color: var(--text);
	font-weight: 850;
}
.navigation span,
.navigation a:hover {border-color: var(--green); background: var(--green); color: #fff;}

.share {display: flex; flex-wrap: wrap; gap: 8px; min-height: 36px;}
.share a {
	display: block;
	width: 34px;
	height: 34px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface) url("../images/share.png") -4px -3px no-repeat;
}
.share a:nth-child(2) {background-position: -48px -3px;}
.share a:nth-child(3) {background-position: -91px -3px;}
.share a:nth-child(4) {background-position: -134px -3px;}
.share a:nth-child(5) {background-position: -222px -3px;}
.share a:nth-child(6) {background-position: -176px -2px;}

.store-footer {
	padding: 28px 0;
	border-top: 1px solid var(--line);
	background: var(--surface);
}
.store-footer__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}
.footer-brand {color: var(--ink); font-size: 20px; font-weight: 950;}
.footer-note {margin-top: 3px; color: var(--muted);}
.ft-menu {display: flex; flex-wrap: wrap; gap: 14px;}
.ft-menu a {color: var(--muted); font-weight: 800;}

.side-panel {
	position: fixed;
	left: -330px;
	top: 0;
	z-index: 1003;
	width: 310px;
	max-width: calc(100vw - 56px);
	height: 100vh;
	overflow-y: auto;
	padding: 18px;
	background: var(--surface);
	box-shadow: var(--shadow);
	transition: left .22s ease;
}
.side-panel.active {left: 0;}
.side-panel .store-nav,
.side-panel .mobile-tabs {
	display: grid;
	gap: 8px;
	width: 100%;
	margin: 0 0 14px;
	overflow: visible;
}
.side-panel .store-nav a,
.side-panel .mobile-tabs a {justify-content: flex-start; border: 1px solid var(--line); background: var(--surface-soft);}
.side-panel .side-card {box-shadow: none; margin-bottom: 12px;}
.close-overlay {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 1000;
	background: rgba(15,23,42,.34);
}
.btn-close {
	position: fixed;
	left: 326px;
	top: 14px;
	z-index: 1004;
	display: none;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: var(--radius);
	background: var(--surface);
	box-shadow: var(--shadow-soft);
	cursor: pointer;
}
.btn-close.active {display: flex;}
#gotop {
	display: none;
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 999;
	width: 44px;
	height: 44px;
	border-radius: var(--radius);
	background: var(--green);
	color: #fff;
	text-align: center;
	line-height: 44px;
	cursor: pointer;
	box-shadow: var(--shadow);
}

.fast-search-item {
	display: flex !important;
	align-items: center;
	gap: 10px;
	padding: 10px;
	border-bottom: 1px solid var(--line);
}
.fast-search-img {width: 44px; height: 44px; flex: 0 0 44px; border-radius: 10px;}
.fast-search-title {color: var(--ink); font-weight: 900;}
.fast-search-text {color: var(--muted); font-size: 12px;}

.short-article {
	padding: 14px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
}
.short-article + .short-article {margin-top: 12px;}
.short-content {display: flex; gap: 14px;}
.short-article .short-img {width: 140px; height: 96px; flex: 0 0 140px; margin: 0; border-radius: var(--radius);}
.short-article .short-title {min-height: 0; text-align: left; font-size: 18px;}
.short-text {margin-top: 6px; color: var(--muted);}
.short-more {margin-top: 10px; color: var(--green); font-weight: 900;}

@media (max-width: 1180px) {
	.store-header__inner {grid-template-columns: 42px 150px minmax(0, 1fr) auto;}
	button.store-icon-btn.btn-menu {display: inline-flex;}
	.store-nav {display: none;}
	.mobile-tabs {display: flex;}
	.page-grid {grid-template-columns: minmax(0, 1fr);}
	.market-sidebar {position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));}
	.market-sidebar .side-nav {display: none;}
	.app-grid, .short-items {grid-template-columns: repeat(4, minmax(0, 1fr));}
}

@media (max-width: 860px) {
	.wrap-center {width: calc(100% - 22px);}
	.store-header__inner {grid-template-columns: 42px 1fr auto; min-height: 66px; gap: 10px;}
	.brand-mark {font-size: 22px;}
	.brand-mark img {width: 36px; height: 36px;}
	.store-search {
		display: none;
		grid-column: 1 / -1;
		order: 10;
	}
	.store-header.is-active .store-search {display: block;}
	button.store-icon-btn.btn-search {display: inline-flex;}
	.mobile-tabs {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 6px;
		overflow: visible;
	}
	.mobile-tabs a {
		justify-content: center;
		gap: 4px;
		min-width: 0;
		padding: 0 3px;
		font-size: 10px;
	}
	.hero-store {grid-template-columns: 1fr; padding: 22px;}
	.hero-store h1 {font-size: 32px;}
	.hero-store__panel {grid-template-columns: repeat(3, minmax(0, 1fr));}
	.drop-home {grid-template-columns: 1fr; padding: 22px;}
	.drop-home h1 {font-size: 32px;}
	.drop-home__quick {grid-template-columns: repeat(3, minmax(0, 1fr));}
	.drop-home__quick a {grid-template-columns: 1fr; min-height: 118px;}
	.drop-lanes {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.drop-two {grid-template-columns: 1fr;}
	.drop-two .section-block + .section-block {margin-top: 0;}
	.quick-cats__grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.app-grid, .short-items, .compact-grid {grid-template-columns: repeat(3, minmax(0, 1fr));}
	.app-hero,
	.app-hero--download {grid-template-columns: 1fr;}
	.app-rating {max-width: 360px;}
	.quick-download {max-width: 420px;}
	.app-page-layout {grid-template-columns: 1fr;}
	.app-page-layout__side {position: static; grid-template-columns: repeat(2, minmax(0, 1fr));}
	.app-anchor-card {grid-template-columns: repeat(3, minmax(0, 1fr));}
	.app-anchor-card a {justify-content: center; padding: 0 8px; font-size: 12px;}
	.spec-grid, .finfo {grid-template-columns: repeat(3, minmax(0, 1fr));}
	.download-layout {grid-template-columns: 1fr;}
	.article-rating-panel {grid-template-columns: 1fr;}
}

@media (max-width: 640px) {
	.page-grid {padding-top: 14px;}
	.market-sidebar {grid-template-columns: 1fr;}
	.section-block, .content-panel, .catalog-head, .genre-strip, .plain-page, .pages, .quick-cats {padding: 16px;}
	.hero-store {padding: 18px;}
	.hero-store h1 {font-size: 28px;}
	.hero-store p {font-size: 14px;}
	.hero-store__panel {grid-template-columns: 1fr;}
	.drop-home {padding: 18px;}
	.drop-home h1 {font-size: 27px;}
	.drop-home p {font-size: 14px;}
	.drop-home__quick {grid-template-columns: 1fr;}
	.drop-home__quick a {grid-template-columns: 38px minmax(0, 1fr); min-height: 78px;}
	.drop-lanes {grid-template-columns: 1fr;}
	.drop-two .mini-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.quick-cats__grid {grid-template-columns: 1fr;}
	.app-grid, .short-items, .compact-grid {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;}
	.app-card, .short-item {min-height: 230px; padding: 12px;}
	.app-card__icon, .short-img {width: 82px; height: 82px; border-radius: 19px;}
	.app-card__title, .short-title {font-size: 14px;}
	.app-card__desc, .short-desc {font-size: 11px;}
	.app-hero {padding: 18px;}
	.app-hero__main {align-items: flex-start; gap: 14px;}
	.app-hero__icon {width: 96px; height: 96px; flex-basis: 96px; border-radius: 22px;}
	.app-hero h1 {font-size: 25px;}
	.app-hero__subtitle {font-size: 14px;}
	.quick-download {max-width: none; padding: 14px; gap: 10px;}
	.quick-download__specs {grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px;}
	.quick-download__specs div {padding: 8px 7px;}
	.quick-download__specs span {font-size: 10px;}
	.quick-download__specs b {font-size: 11px;}
	.quick-download__button {min-height: 42px;}
	.app-page-layout__side {grid-template-columns: 1fr;}
	.app-anchor-card {grid-template-columns: 1fr;}
	.app-anchor-card a {justify-content: flex-start;}
	.spec-grid, .finfo {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.download-card {padding: 16px;}
	.download-card__head {display: block;}
	.download-card .share {margin-top: 12px;}
	.download-buttons a, .fdl-btn {grid-template-columns: 42px minmax(0, 1fr); min-height: 62px;}
	.download-action {grid-column: 1 / -1;}
	.article-hero {min-height: 300px;}
	.article-hero-content {padding: 34px 20px;}
	.article-hero h1 {font-size: 30px;}
	.short-content {display: block;}
	.short-article .short-img {width: 100%; height: 160px; margin-bottom: 12px;}
	.store-footer__inner {display: block;}
	.ft-menu {margin-top: 14px;}
	.btn-close {left: auto; right: 12px;}
}

@media (max-width: 420px) {
	.brand-mark {font-size: 18px;}
	.brand-mark img {width: 32px; height: 32px;}
	.login-btns .btn-fav {display: none;}
	.app-card__meta {display: none;}
	.spec-grid, .finfo {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.spec-grid li, .finfo li {padding: 12px;}
	.full-text {font-size: 15px;}
}
