.akv2-download-home,
.akv2-download-archive,
.akv2-download-single {
	--akv2-download-ink: #20233b;
	--akv2-download-muted: #73778b;
	--akv2-download-accent: #5853c7;
	--akv2-download-border: #e8eaf1;
	color: var(--akv2-download-ink);
}

.akv2-download-home {
	padding: clamp(2.5rem, 5vw, 4.5rem) 0;
}

.akv2-download-page-inner {
	width: min(100%, 1180px);
	margin-inline: auto;
}

.akv2-download-section-heading,
.akv2-download-archive-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.akv2-download-section-heading > div > span,
.akv2-download-archive-heading > span,
.akv2-download-section-title > div > span {
	color: var(--akv2-download-accent);
	font-size: .82rem;
	font-weight: 800;
}

.akv2-download-section-heading h2,
.akv2-download-archive-heading h1,
.akv2-download-section-title h2 {
	margin: .3rem 0 0;
	font-size: clamp(1.5rem, 3.2vw, 2.15rem);
	font-weight: 850;
	line-height: 1.4;
}

.akv2-download-section-heading > a {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	flex: 0 0 auto;
	padding: .7rem 1rem;
	border: 1px solid #dfe1f7;
	border-radius: 999px;
	background: #fff;
	color: var(--akv2-download-accent);
	font-weight: 750;
	text-decoration: none;
}

.akv2-download-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.akv2-download-card {
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--akv2-download-border);
	border-radius: 1rem;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 8px 24px rgba(31, 39, 74, .055);
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.akv2-download-card:hover,
.akv2-download-card:focus-within {
	transform: translateY(-3px);
	border-color: #cfd2f5;
	box-shadow: 0 15px 35px rgba(31, 39, 74, .1);
}

.akv2-download-card-main {
	display: flex;
	align-items: center;
	gap: .9rem;
	min-width: 0;
	padding: 1rem;
	color: inherit;
	text-decoration: none;
}

.akv2-download-card-logo,
.akv2-download-logo {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	overflow: hidden;
	border: 1px solid #edf0f4;
	background: linear-gradient(145deg, #f1f4ff, #fff);
	color: var(--akv2-download-accent);
}

.akv2-download-card-logo {
	width: 58px;
	height: 58px;
	border-radius: 16px;
}

.akv2-download-card-logo img,
.akv2-download-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.akv2-download-card-logo svg,
.akv2-download-logo svg {
	width: 30px;
	height: 30px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.akv2-download-card-copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: .35rem;
}

.akv2-download-card-copy strong {
	overflow: hidden;
	font-size: 1rem;
	font-weight: 800;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.akv2-download-card-meta {
	overflow: hidden;
	color: var(--akv2-download-muted);
	font-size: .78rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.akv2-download-card-excerpt {
	display: -webkit-box;
	max-height: 0;
	margin: 0 1rem;
	overflow: hidden;
	color: var(--akv2-download-muted);
	font-size: .88rem;
	line-height: 1.8;
	opacity: 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	transition: max-height .24s ease, opacity .18s ease, margin .24s ease;
}

.akv2-download-card:hover .akv2-download-card-excerpt,
.akv2-download-card:focus-within .akv2-download-card-excerpt {
	max-height: 6em;
	margin-bottom: 1rem;
	opacity: 1;
}

.akv2-download-archive,
.akv2-download-single {
	padding: 1.5rem 1rem clamp(3rem, 7vw, 5rem);
}

.akv2-download-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	margin-bottom: 1.5rem;
	color: #9092a1;
	font-size: .9rem;
}

.akv2-download-breadcrumb a {
	color: var(--akv2-download-accent);
	text-decoration: none;
}

.akv2-download-archive-heading {
	display: block;
	margin: 0 0 2rem;
	padding: clamp(1.4rem, 4vw, 2.6rem);
	border: 1px solid #eaebf3;
	border-radius: 1.35rem;
	background: radial-gradient(circle at 100% 0, #efefff, transparent 22rem), #fff;
	box-shadow: 0 10px 32px rgba(31, 39, 74, .045);
}

.akv2-download-archive-heading h1 {
	margin: .25rem 0 .5rem;
}

.akv2-download-archive-heading p {
	margin: 0;
	color: var(--akv2-download-muted);
	line-height: 1.8;
}

.akv2-download-grid--archive .akv2-download-card-main {
	padding: 1.2rem;
}

.akv2-download-grid--archive .akv2-download-card-logo {
	width: 68px;
	height: 68px;
}

.akv2-download-grid--archive .akv2-download-card-copy strong {
	font-size: 1.08rem;
}

.akv2-download-pagination {
	margin-top: 2rem;
	text-align: center;
}

.akv2-download-empty {
	padding: 2rem;
	border: 1px dashed #d9dbea;
	border-radius: 1rem;
	color: var(--akv2-download-muted);
	text-align: center;
}

.akv2-download-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(1.3rem, 4vw, 2.5rem);
	border: 1px solid #e5e7f0;
	border-radius: 1.5rem;
	background: radial-gradient(circle at 100% 0, rgba(88, 83, 199, .13), transparent 24rem), linear-gradient(135deg, #fff, #f9faff);
	box-shadow: 0 16px 42px rgba(31, 39, 74, .075);
}

.akv2-download-identity {
	display: flex;
	align-items: center;
	gap: clamp(1rem, 3vw, 1.6rem);
	min-width: 0;
}

.akv2-download-logo {
	width: clamp(76px, 13vw, 116px);
	height: clamp(76px, 13vw, 116px);
	border-radius: 1.5rem;
	box-shadow: 0 8px 20px rgba(31, 39, 74, .09);
}

.akv2-download-logo svg {
	width: 44px;
	height: 44px;
}

.akv2-download-identity > div:last-child {
	min-width: 0;
}

.akv2-download-categories {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	margin-bottom: .35rem;
}

.akv2-download-categories a {
	padding: .25rem .6rem;
	border-radius: 999px;
	background: #efefff;
	color: #5752b8;
	font-size: .74rem;
	font-weight: 750;
	text-decoration: none;
}

.akv2-download-identity h1 {
	margin: 0;
	font-size: clamp(1.45rem, 3.4vw, 2.45rem);
	font-weight: 900;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.akv2-download-english-name {
	margin: .15rem 0;
	color: #656982;
	font-size: 1rem;
}

.akv2-download-updated {
	margin: .45rem 0 0;
	color: var(--akv2-download-muted);
	font-size: .84rem;
}

.akv2-download-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .85rem;
	margin: 1.7rem 0 1rem;
}

.akv2-download-facts > div {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: .3rem;
	padding: .9rem 1rem;
	border: 1px solid rgba(224, 226, 239, .95);
	border-radius: 1rem;
	background: rgba(255, 255, 255, .78);
}

.akv2-download-facts span {
	color: var(--akv2-download-muted);
	font-size: .8rem;
}

.akv2-download-facts strong {
	overflow-wrap: anywhere;
	font-size: 1rem;
}

.akv2-download-os-list {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	margin-top: 1.1rem;
}

.akv2-download-os-badge {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .45rem .72rem;
	border: 1px solid currentColor;
	border-radius: 999px;
	background: #fff;
	font-size: .8rem;
	font-weight: 750;
}

.akv2-download-os-badge svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.akv2-download-os-android { color: #25825c; }
.akv2-download-os-windows { color: #1673bd; }
.akv2-download-os-web { color: #4f59a8; }
.akv2-download-os-linux { color: #b27618; }
.akv2-download-os-macos { color: #50525c; }
.akv2-download-os-java { color: #c34e32; }
.akv2-download-os-python { color: #41709d; }
.akv2-download-os-other { color: #6b658c; }

.akv2-download-primary-cta {
	display: inline-flex;
	align-items: center;
	gap: .65rem;
	margin-top: 1.25rem;
	padding: .78rem 1.2rem;
	border-radius: 999px;
	background: var(--akv2-download-accent);
	box-shadow: 0 8px 20px rgba(88, 83, 199, .22);
	color: #fff;
	font-weight: 800;
	text-decoration: none;
}

.akv2-download-primary-cta:hover,
.akv2-download-primary-cta:focus-visible {
	background: #4742af;
	color: #fff;
}

.akv2-download-primary-cta--android { background: #25825c; box-shadow: 0 8px 20px rgba(37, 130, 92, .2); }
.akv2-download-primary-cta--windows { background: #1673bd; box-shadow: 0 8px 20px rgba(22, 115, 189, .2); }
.akv2-download-primary-cta--web { background: #4f59a8; }
.akv2-download-primary-cta--linux { background: #a86d17; }
.akv2-download-primary-cta--macos { background: #50525c; }
.akv2-download-primary-cta--java { background: #c34e32; }
.akv2-download-primary-cta--python { background: #41709d; }
.akv2-download-primary-cta--other { background: #6b658c; }

.akv2-download-section-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.akv2-download-section-title h2 {
	font-size: clamp(1.3rem, 2.7vw, 1.8rem);
}

.akv2-download-screenshots,
.akv2-download-description,
.akv2-download-links {
	margin-top: 2.5rem;
}

.akv2-download-gallery-controls {
	display: flex;
	gap: .45rem;
}

.akv2-download-gallery-controls button {
	display: grid;
	width: 40px;
	height: 40px;
	place-items: center;
	border: 1px solid var(--akv2-download-border);
	border-radius: 50%;
	background: #fff;
	color: var(--akv2-download-accent);
	font-size: 1.4rem;
	cursor: pointer;
}

.akv2-download-screenshot-track {
	display: flex;
	gap: .85rem;
	overflow-x: auto;
	padding: .25rem .1rem .8rem;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}

.akv2-download-screenshot {
	flex: 0 0 min(35%, 280px);
	min-width: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--akv2-download-border);
	border-radius: 1rem;
	background: #f3f4f7;
	cursor: zoom-in;
	scroll-snap-align: start;
}

.akv2-download-screenshot img {
	display: block;
	width: 100%;
	height: clamp(170px, 24vw, 280px);
	object-fit: contain;
	object-position: center;
}

.akv2-download-prerequisites {
	margin-top: 1.25rem;
	padding: 1.1rem 1.3rem;
	border: 1px solid #e5e7f0;
	border-inline-start: 4px solid var(--akv2-download-accent);
	border-radius: 1rem;
	background: #f8f8ff;
	line-height: 1.9;
}

.akv2-download-prerequisites h3 { margin: 0 0 .5rem; font-size: 1.05rem; }
.akv2-download-prerequisites > div > :first-child { margin-top: 0; }
.akv2-download-prerequisites > div > :last-child { margin-bottom: 0; }
.akv2-download-preview-link { display: inline-flex; align-items: center; min-height: 44px; padding: .55rem .9rem; border: 1px solid #dfe1f7; border-radius: 12px; color: var(--akv2-download-accent); text-decoration: none; }
.akv2-download-content-type { margin: .35rem 0; color: var(--akv2-download-accent); font-size: .88rem; font-weight: 800; }

.akv2-download-content {
	padding: clamp(1.2rem, 3vw, 2rem);
	border: 1px solid var(--akv2-download-border);
	border-radius: 1.25rem;
	background: #fff;
	box-shadow: 0 10px 28px rgba(31, 39, 74, .045);
	font-size: 1rem;
	line-height: 2;
	overflow-wrap: anywhere;
}

.akv2-download-content > :first-child { margin-top: 0; }
.akv2-download-content > :last-child { margin-bottom: 0; }
.akv2-download-content img,
.akv2-download-content video,
.akv2-download-content iframe { max-width: 100%; }

.akv2-download-link-list {
	display: grid;
	gap: .8rem;
}

.akv2-download-link-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-width: 0;
	padding: 1rem;
	border: 1px solid var(--akv2-download-border);
	border-radius: 1.05rem;
	background: #fff;
	box-shadow: 0 6px 18px rgba(31, 39, 74, .04);
}

.akv2-download-link-info {
	display: flex;
	align-items: center;
	gap: .75rem;
	min-width: 0;
}

.akv2-download-file-icon {
	display: grid;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	place-items: center;
	border-radius: 14px;
	background: #f1f0ff;
	color: var(--akv2-download-accent);
}

.akv2-download-file-icon svg,
.akv2-download-link-button svg,
.akv2-download-password button svg,
.akv2-download-modal-mark svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.akv2-download-link-info h3 {
	margin: 0;
	font-size: .98rem;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.akv2-download-link-info > div > span {
	display: block;
	margin-top: .2rem;
	color: var(--akv2-download-muted);
	font-size: .8rem;
}

.akv2-download-password {
	display: flex;
	align-items: center;
	gap: .4rem;
	min-width: 0;
	color: var(--akv2-download-muted);
	font-size: .8rem;
}

.akv2-download-password code {
	display: block;
	max-width: 150px;
	overflow: hidden;
	color: var(--akv2-download-ink);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.akv2-download-password button {
	display: grid;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	place-items: center;
	border: 1px solid var(--akv2-download-border);
	border-radius: 10px;
	background: #fff;
	color: var(--akv2-download-accent);
	cursor: pointer;
}

.akv2-download-password [data-password-status] {
	color: #18794e;
	font-size: .75rem;
}

.akv2-download-password [data-password-status].is-error {
	color: #b42318;
}

.akv2-download-link-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	flex: 0 0 auto;
	min-width: 112px;
	min-height: 44px;
	padding: .6rem .9rem;
	border-radius: .8rem;
	background: var(--akv2-download-accent);
	color: #fff;
	font-weight: 800;
	text-decoration: none;
}

.akv2-download-link-button:hover,
.akv2-download-link-button:focus-visible { color: #fff; filter: brightness(1.08); }

.akv2-download-voting {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .6rem;
	margin-top: 1.2rem;
	padding: 1rem;
	border: 1px solid var(--akv2-download-border);
	border-radius: 1rem;
	background: #fff;
}

.akv2-download-voting > span:first-child { margin-inline-end: auto; font-weight: 750; }

.akv2-download-voting button {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .5rem .75rem;
	border: 1px solid var(--akv2-download-border);
	border-radius: 999px;
	background: #fff;
	cursor: pointer;
}

.akv2-download-voting button.is-active { border-color: #c5c1f2; background: #f1f0ff; color: var(--akv2-download-accent); }
.akv2-download-voting button:disabled { cursor: wait; opacity: .65; }
[data-download-rating-message] { color: #b42318; font-size: .85rem; }

.akv2-download-comments { margin-top: 2rem; }

.akv2-download-lightbox,
.akv2-download-modal {
	position: fixed;
	z-index: 999999;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 1rem;
	background: rgba(12, 14, 25, .82);
}

.akv2-download-lightbox[hidden],
.akv2-download-modal[hidden] { display: none; }

.akv2-download-lightbox img {
	display: block;
	max-width: min(100%, 1200px);
	max-height: 88vh;
	object-fit: contain;
	border-radius: .75rem;
}

.akv2-download-lightbox > button,
.akv2-download-modal-close {
	position: absolute;
	inset-block-start: 1rem;
	inset-inline-end: 1rem;
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border: 1px solid rgba(255,255,255,.45);
	border-radius: 50%;
	background: #fff;
	color: #252638;
	font-size: 1.8rem;
	cursor: pointer;
}

.akv2-download-modal-card {
	position: relative;
	width: min(100%, 440px);
	padding: 2rem;
	border-radius: 1.4rem;
	background: #fff;
	box-shadow: 0 22px 70px rgba(0,0,0,.25);
	text-align: center;
}

.akv2-download-modal-close {
	inset-block-start: .75rem;
	inset-inline-end: .75rem;
	width: 36px;
	height: 36px;
	border-color: var(--akv2-download-border);
	font-size: 1.4rem;
}

.akv2-download-modal-mark {
	display: grid;
	width: 58px;
	height: 58px;
	margin: 0 auto 1rem;
	place-items: center;
	border-radius: 18px;
	background: #f1f0ff;
	color: var(--akv2-download-accent);
}

.akv2-download-modal-card h2 { margin: 0; font-size: 1.3rem; }
.akv2-download-modal-card p { min-height: 1.7em; color: var(--akv2-download-muted); }

.akv2-download-modal-card [data-download-manual] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: .65rem 1.1rem;
	border: 0;
	border-radius: 999px;
	background: var(--akv2-download-accent);
	color: #fff;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.akv2-download-modal-card [data-download-manual]:disabled { opacity: .55; cursor: wait; }
.akv2-download-modal-card [data-download-fallback] { display: block; margin-top: .9rem; color: var(--akv2-download-accent); font-weight: 750; }
.akv2-download-modal-open { overflow: hidden; }

.akv2-download-page-inner a:focus-visible,
.akv2-download-page-inner button:focus-visible {
	outline: 3px solid rgba(88, 83, 199, .38);
	outline-offset: 3px;
}

@media (max-width: 900px) {
	.akv2-download-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.akv2-download-link-row { flex-wrap: wrap; }
	.akv2-download-password { margin-inline-start: auto; }
}

@media (max-width: 600px) {
	.akv2-download-section-heading { align-items: stretch; flex-direction: column; }
	.akv2-download-section-heading > a { justify-content: center; }
	.akv2-download-grid { grid-template-columns: minmax(0, 1fr); gap: .7rem; }
	.akv2-download-card-excerpt { max-height: none; margin-bottom: .8rem; opacity: 1; }
	.akv2-download-identity { align-items: flex-start; }
	.akv2-download-logo { width: 70px; height: 70px; border-radius: 1.1rem; }
	.akv2-download-facts { gap: .45rem; margin-top: 1.2rem; }
	.akv2-download-facts > div { padding: .7rem .6rem; }
	.akv2-download-facts span { font-size: .72rem; }
	.akv2-download-facts strong { font-size: .88rem; }
	.akv2-download-screenshot { flex-basis: 78%; }
	.akv2-download-screenshot img { height: 220px; }
	.akv2-download-link-row { align-items: flex-start; }
	.akv2-download-link-info { flex: 1 1 100%; }
	.akv2-download-password { margin-inline-start: 0; max-width: 100%; }
	.akv2-download-password code { max-width: min(38vw, 150px); }
	.akv2-download-link-button { min-width: 100px; }
	.akv2-download-voting > span:first-child { flex-basis: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.akv2-download-card,
	.akv2-download-card-excerpt { transition: none; }
}
