/**
 * GET YOUR SAVE layout styles.
 *
 * Site-level spacing, header, footer, and responsive layout primitives.
 */

.gys-site-main,
.site-main,
.content-area {
	width: min(100% - (var(--gutter-desktop) * 2), var(--site-max-width));
	margin-inline: auto;
	padding-block: var(--space-8);
}

.shop-main .cartridge-card__add-to-cart.is-custom-request,
.game-series-main .cartridge-card__add-to-cart.is-custom-request,
.gys-home-cartridge-shelf .cartridge-card__add-to-cart.is-custom-request,
.gys-home-featured .cartridge-card__add-to-cart.is-custom-request {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	min-height: 40px;
	padding: 0 10px;
	overflow: hidden;
	font-size: 0.4rem;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	white-space: nowrap;
	text-wrap: nowrap;
}

.shop-main .cartridge-card__add-to-cart.is-custom-request span,
.game-series-main .cartridge-card__add-to-cart.is-custom-request span,
.gys-home-cartridge-shelf .cartridge-card__add-to-cart.is-custom-request span,
.gys-home-featured .cartridge-card__add-to-cart.is-custom-request span {
	display: none !important;
}

.shop-main .cartridge-card__add-to-cart.is-disabled,
.game-series-main .cartridge-card__add-to-cart.is-disabled,
.gys-home-cartridge-shelf .cartridge-card__add-to-cart.is-disabled,
.gys-home-featured .cartridge-card__add-to-cart.is-disabled {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 8px;
	font-size: 0.38rem;
	line-height: 1;
	white-space: nowrap;
	text-wrap: nowrap;
}

.home-main {
	display: grid;
	gap: var(--space-10);
}

.product-main,
.article-main,
.shop-main,
.archive-main {
	display: grid;
	gap: var(--space-5);
}

.product-shell {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.42fr);
	gap: var(--space-5);
	align-items: start;
}

.product-shell > .product-specs-panel,
.product-shell > .product-tabs,
.product-shell > .game-archive-lore,
.product-shell > .related-cartridge-shelf {
	grid-column: 1 / -1;
}

.article-layout,
.archive-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.36fr);
	gap: var(--space-5);
	align-items: start;
}

.article-sidebar,
.archive-sidebar {
	display: grid;
	gap: var(--space-4);
}

/* WooCommerce single product pages use the same console width as the homepage. */
.product-main {
	width: min(100% - 20px, 1180px);
	gap: 12px;
	margin-inline: auto;
	padding-block: 0 24px;
	font-family: var(--font-mono);
}

.product-main .breadcrumbs,
.product-main .breadcrumb,
.product-main .woocommerce-breadcrumb,
.product-main .gys-breadcrumbs {
	display: none;
}

.product-main .product-shell {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 326px;
	gap: 12px;
	align-items: start;
}

/* WooCommerce shop archive: full cartridge shelf view. */
.shop-main {
	width: min(100% - 20px, 1180px);
	gap: 12px;
	margin-inline: auto;
	padding-block: 0 24px;
	font-family: var(--font-mono);
}

.shop-main .breadcrumbs,
.shop-main .breadcrumb,
.shop-main .woocommerce-breadcrumb,
.shop-main .gys-breadcrumbs {
	display: none;
}

.shop-main .shop-header,
.shop-main .shop-filter-bar,
.shop-main .cartridge-shelf {
	border: var(--gys-border-main);
	border-radius: 0 !important;
	background: var(--gys-snes-panel-gray);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #777777,
		4px 4px 0 #000000;
	color: #111111;
}

.shop-main .shop-header {
	display: grid;
	gap: 10px;
	padding: 18px 20px;
}

.shop-main .shop-header__title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-family: var(--font-pixel);
	font-size: 1.24rem;
	line-height: 1.2;
	text-transform: uppercase;
}

.shop-main .shop-header__title::before,
.shop-main .cartridge-shelf > h2::before {
	content: "";
	width: 12px;
	height: 12px;
	flex: 0 0 12px;
	border: var(--gys-border-main);
	background: var(--color-red);
	box-shadow: inset 2px 2px 0 rgba(255, 255, 255, 0.28);
}

.shop-main .shop-header__dek,
.shop-main .shop-header__description {
	max-width: 860px;
	margin: 0;
	font-size: 0.68rem;
	font-weight: 900;
	line-height: 1.55;
}

.shop-main .shop-filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 10px;
}

.shop-main .shop-filter-bar .snes-chip {
	min-height: 25px;
	padding: 5px 8px;
	border: var(--gys-border-main);
	font-family: var(--font-pixel);
	font-size: 0.48rem;
	line-height: 1.1;
	text-decoration: none;
	text-transform: uppercase;
	box-shadow: 3px 3px 0 #000000;
}

.shop-main .shop-filter-bar .snes-chip.is-active {
	outline: 2px solid #ffffff;
	outline-offset: -5px;
	box-shadow: 4px 4px 0 #000000;
}

.shop-main .cartridge-shelf {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: 0;
	padding: 0;
	overflow: hidden;
}

.shop-main .cartridge-shelf > h2 {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	margin: 0;
	padding: 14px 16px;
	border-bottom: var(--gys-border-main);
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0)),
		var(--gys-snes-panel-gray);
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 1rem;
	line-height: 1.2;
	text-shadow: none;
	text-transform: uppercase;
}

.shop-main .cartridge-shelf__grid {
	display: grid;
	width: 100%;
	min-width: 0;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 4px;
	padding: 4px;
	border: 0;
	background: #000000;
}

.shop-main .cartridge-card {
	display: grid;
	grid-template-rows: auto 1fr auto;
	min-width: 0;
	min-height: 100%;
	border: 0;
	background: #dedede;
	box-shadow: none;
	overflow: hidden;
}

.shop-main .cartridge-card__media {
	display: block;
	width: 100%;
	aspect-ratio: 1.55 / 1;
	padding: 8px;
	border-bottom: var(--gys-border-main);
	background: #efefef;
	overflow: hidden;
}

.shop-main .cartridge-card__image-frame {
	position: relative;
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	border: var(--gys-border-main);
	background: #ffffff;
	overflow: hidden;
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #777777;
}

.shop-main .cartridge-card__code-cover {
	min-height: 132px;
	height: 100%;
	padding: 18px 32px 14px;
}

.shop-main .cartridge-card__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.shop-main .cartridge-card__image-frame.is-reference-cover .cartridge-card__image {
	object-fit: cover;
}

.shop-main .cartridge-card__image-frame.is-actual .cartridge-card__image {
	object-fit: cover;
	object-position: center;
}

.shop-main .cartridge-card__body {
	display: grid;
	align-content: start;
	gap: 7px;
	padding: 10px;
	text-align: left;
}

.shop-main .cartridge-card__series {
	display: none;
}

.shop-main .cartridge-card__title {
	margin: 0;
	font-family: var(--font-mono);
	font-size: 0.74rem;
	font-weight: 900;
	line-height: 1.32;
	letter-spacing: 0;
}

.shop-main .cartridge-card__title a {
	color: #111111;
	text-decoration: none;
	text-shadow: none;
}

.shop-main .cartridge-card__meta {
	display: grid;
	gap: 7px;
	justify-content: stretch;
	font-family: var(--font-mono);
}

.shop-main .cartridge-card__sku {
	display: -webkit-box;
	overflow: hidden;
	color: #555555;
	font-size: 0.52rem;
	font-weight: 900;
	line-height: 1.28;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.shop-main .cartridge-card__price {
	width: fit-content;
	margin: 0;
	color: #063c14;
	font-family: var(--font-mono);
	font-size: 0.96rem;
	font-weight: 900;
	line-height: 1.1;
	text-shadow: 1px 1px 0 #ffffff;
}

.shop-main .cartridge-card__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	align-items: center;
	height: 24px;
	overflow: hidden;
}

.shop-main .cartridge-card .snes-chip {
	min-height: 19px;
	padding: 3px 5px;
	border: 1px solid #000000;
	font-family: var(--font-pixel);
	font-size: 0.4rem;
	line-height: 1.1;
	box-shadow: none;
}

.shop-main .cartridge-card__actions {
	display: grid;
	padding: 0 10px 10px;
}

.shop-main .cartridge-card__add-to-cart {
	min-height: 36px;
	border: var(--gys-border-main);
	background: var(--color-red);
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.46rem;
	line-height: 1.1;
	text-align: center;
	text-decoration: none;
	text-shadow: 2px 2px 0 #000000;
	box-shadow: 3px 3px 0 #000000;
}

.shop-main .cartridge-card__add-to-cart:active {
	transform: translateY(2px);
	box-shadow: 1px 1px 0 #000000;
}

.shop-main .shop-pagination {
	display: flex;
	justify-content: flex-end;
	padding: 12px;
	border-top: var(--gys-border-main);
	background: var(--gys-snes-panel-gray);
}

.shop-main .shop-pagination ul,
.shop-main .shop-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
	list-style: none;
}

.shop-main .shop-pagination a,
.shop-main .shop-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	min-height: 30px;
	padding: 5px 9px;
	border: var(--gys-border-main);
	background: #e7e7e7;
	color: #123d7a;
	font-family: var(--font-pixel);
	font-size: 0.52rem;
	text-decoration: none;
	box-shadow: 3px 3px 0 #000000;
}

.shop-main .shop-pagination .current {
	background: var(--color-red);
	color: #ffffff;
}

.shop-main .cartridge-shelf__empty {
	margin: 0;
	padding: 24px;
	font-family: var(--font-mono);
	font-size: 0.8rem;
	font-weight: 900;
}

@media (max-width: 980px) {
	.shop-main .cartridge-shelf__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.shop-main {
		width: min(100% - 12px, 1180px);
	}

	.shop-main .shop-header__title,
	.shop-main .cartridge-shelf > h2 {
		font-size: 0.82rem;
	}

	.shop-main .cartridge-shelf__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.shop-main .shop-filter-bar {
		max-height: 144px;
		overflow: auto;
	}
}

.product-main .product-hero,
.product-main .purchase-panel,
.product-main .product-specs-panel,
.product-main .product-tabs,
.product-main .game-archive-lore,
.product-main .related-cartridge-shelf {
	border: var(--gys-border-main);
	border-radius: 0 !important;
	background: var(--gys-snes-panel-gray);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #777777,
		4px 4px 0 #000000;
	color: #111111;
}

.product-main .product-hero,
.product-main .purchase-panel {
	box-shadow: none;
}

.product-main {
	width: min(100% - 20px, 1180px);
	gap: 12px;
	margin-inline: auto;
	padding-block: 0 24px;
	font-family: var(--font-mono);
}

.product-main .breadcrumbs,
.product-main .breadcrumb,
.product-main .woocommerce-breadcrumb,
.product-main .gys-breadcrumbs {
	display: none;
}

.product-main .product-shell {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
	min-width: 0;
}

.product-shell__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 0.32fr);
	gap: 14px;
	align-items: stretch;
	padding: 14px;
	border: var(--gys-border-main);
	background: var(--gys-snes-panel-gray);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #777777,
		4px 4px 0 #000000;
}

.product-shell__details {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.product-main .product-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	overflow: visible;
}

.product-main .product-hero__module-title {
	margin: 0;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 0.62rem;
	line-height: 1.2;
	text-transform: uppercase;
}

.product-main .product-hero__previews {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	align-items: stretch;
}

.product-main .product-hero__preview {
	position: relative;
	display: grid;
	place-items: center;
	width: 100%;
	min-height: 0;
	aspect-ratio: 4 / 3;
	margin: 0;
	padding: 8px;
	border: var(--gys-border-main);
	background: #f7f7f7;
	box-shadow: var(--gys-shadow-sunken);
	overflow: hidden;
}

.product-main .product-hero__preview > span {
	position: absolute;
	left: 8px;
	top: 8px;
	z-index: 2;
	padding: 4px 6px;
	border: var(--gys-border-main);
	background: #d9d9d9;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 0.34rem;
	line-height: 1;
	text-transform: uppercase;
}

.product-main .product-hero__display-image,
.product-main .product-hero__cartridge-image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: none;
	border: var(--gys-border-main);
	background: #ffffff;
	object-fit: contain;
	object-position: center center;
	box-shadow: none;
}

.product-main .product-hero__preview--box .product-hero__display-image {
	object-fit: cover;
}

.product-main .product-hero__label {
	position: relative;
	z-index: 2;
	display: grid;
	gap: 8px;
	width: min(100%, 380px);
	min-height: 170px;
	padding: 18px;
	border: 5px solid #000000;
	background:
		radial-gradient(circle at 78% 18%, var(--gys-label-yellow) 0 9%, transparent 10%),
		linear-gradient(135deg, var(--gys-label-red) 0 24%, #111111 24% 63%, var(--gys-label-blue) 63% 100%);
	color: #ffffff;
	text-align: center;
	box-shadow: inset 4px 4px 0 rgba(255, 255, 255, 0.2);
}

.product-main .product-hero__content {
	display: grid;
	align-content: start;
	gap: 6px;
	min-width: 0;
	padding: 0;
}

.product-main .product-shell .product-hero__content {
	display: grid;
}

.product-main .product-hero__title {
	margin: 0;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: clamp(0.82rem, 1.35vw, 1.1rem);
	line-height: 1.38;
	text-shadow: none;
	text-transform: uppercase;
}

.product-main .product-hero__eyebrow,
.product-main .product-hero__summary {
	margin: 0;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 0.5rem;
	line-height: 1.5;
	text-transform: uppercase;
}

.product-main .purchase-panel {
	display: grid;
	gap: 10px;
	align-self: stretch;
	align-content: start;
	padding: 14px;
	border: var(--gys-border-main);
	background: #151515;
	color: #ffffff;
	overflow: hidden;
}

.product-shell__top .purchase-panel {
	min-height: 0;
	height: auto;
}

.product-main .purchase-panel__badges {
	gap: 6px;
	margin: 0;
	max-height: none;
	overflow: hidden;
}

.product-main .purchase-panel__title {
	margin: 0;
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.58rem;
	line-height: 1.35;
	text-transform: uppercase;
}

.product-main .purchase-panel__price {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #40c463;
	font-family: var(--font-pixel);
	font-size: 0.62rem;
	line-height: 1.45;
	text-shadow: none;
	text-align: left;
}

.product-main .purchase-panel__stock,
.product-main .purchase-panel__status {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #40c463;
	font-family: var(--font-pixel);
	font-size: 0.44rem;
	line-height: 1.45;
	text-transform: uppercase;
}

.product-main .purchase-panel__status {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 4px;
}

.product-main .purchase-panel__status span {
	color: #cfcfcf;
}

.product-main .purchase-panel__meta {
	display: grid;
	gap: 8px;
	margin: 0;
	font-family: var(--font-mono);
}

.product-main .purchase-panel__meta div {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 8px;
	align-items: center;
}

.product-main .purchase-panel__meta dt,
.product-main .purchase-panel__meta dd {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #ffffff;
	font-family: var(--font-mono);
	font-size: 0.58rem;
	font-weight: 900;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.product-main .purchase-panel__meta dd {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.product-main .purchase-panel__meta dt {
	background: transparent;
	color: #bfbfbf;
	font-family: var(--font-pixel);
	font-size: 0.4rem;
	text-transform: uppercase;
}

.product-main .purchase-panel__customize,
.product-main .purchase-panel .single_add_to_cart_button,
.product-main .purchase-panel button.single_add_to_cart_button.button.alt,
.product-main .purchase-panel .cart .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 42px;
	padding: 9px 12px;
	border: var(--gys-border-main);
	background: var(--gys-label-red) !important;
	box-shadow: 3px 3px 0 #000000;
	color: #ffffff !important;
	font-family: var(--font-pixel);
	font-size: 0.54rem;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
}

.product-main .purchase-panel__customize:active,
.product-main .purchase-panel .single_add_to_cart_button:active {
	transform: translateY(2px);
}

.product-main .purchase-panel__hint {
	margin: 0;
	color: #d7d7d7;
	font-size: 0.56rem;
	font-weight: 900;
	line-height: 1.4;
}

.product-main .purchase-panel form.cart {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	gap: 8px;
	margin: 0;
}

.product-main .purchase-panel .quantity input {
	width: 100%;
	min-height: 42px;
	border: var(--gys-border-main);
	background: #f7f7f7;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 0.54rem;
	line-height: 1;
	padding: 0 8px;
	text-align: center;
}

.product-main .product-specs-panel,
.product-main .product-tabs,
.product-main .game-archive-lore,
.product-main .related-cartridge-shelf {
	grid-column: 1 / -1;
	padding: 0;
	overflow: hidden;
}

.product-main .product-specs-panel {
	display: grid;
	gap: 12px;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.product-main .product-specs-panel__section {
	border: var(--gys-border-main);
	background: var(--gys-snes-panel-gray);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #777777,
		4px 4px 0 #000000;
}

.product-main .product-specs-panel__title,
.product-main .product-tabs__title,
.product-main .game-archive-lore__title,
.product-main .related-cartridge-shelf h2 {
	display: flex;
	align-items: center;
	min-height: 42px;
	margin: 0;
	padding: 10px 14px;
	border-bottom: var(--gys-border-main);
	background:
		linear-gradient(180deg, rgba(255,255,255,0.56), rgba(255,255,255,0) 62%),
		#d7d7d7;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 0.72rem;
	line-height: 1.35;
	text-transform: uppercase;
}

.product-main .product-specs-panel__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
	margin: 0;
	padding: 12px;
	background: var(--gys-snes-panel-gray);
}

.product-main .product-specs-panel__list div {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	min-width: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.product-main .product-specs-panel__list dt,
.product-main .product-specs-panel__list dd {
	margin: 0;
	min-height: 38px;
	padding: 7px 8px;
	overflow-wrap: anywhere;
	font-family: var(--font-mono);
	font-size: 0.56rem;
	font-weight: 900;
	line-height: 1.32;
}

.product-main .product-specs-panel__list dt {
	border: 0;
	border-right: var(--gys-border-main);
	border-bottom: 0;
	background: transparent;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 0.38rem;
	text-transform: uppercase;
}

.product-main .product-specs-panel__list dd {
	background: transparent;
	color: #111111;
}

/* Product detail reference layout */
.product-shell__top {
	grid-template-columns: minmax(0, 1fr) minmax(300px, 0.28fr);
	padding: 12px;
}

.product-main .product-hero {
	display: grid;
	grid-template-columns: minmax(420px, 0.55fr) minmax(0, 0.45fr);
	gap: 22px;
	align-items: stretch;
	padding: 0;
	border: 0;
	background: transparent;
	height: 100%;
}

.product-main .product-hero__visual {
	position: relative;
	min-height: 100%;
	height: 100%;
	aspect-ratio: auto;
	border: var(--gys-border-main);
	background:
		linear-gradient(135deg, rgba(255,255,255,0.65), rgba(255,255,255,0) 46%),
		#f3f0ea;
	box-shadow: var(--gys-shadow-sunken);
	overflow: hidden;
}

.product-main .product-hero__stock-ribbon {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 8;
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 7px 14px;
	border-right: var(--gys-border-main);
	border-bottom: var(--gys-border-main);
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.42rem;
	line-height: 1;
	text-transform: uppercase;
}

.product-main .product-hero__stock-ribbon--in-stock {
	background: var(--gys-label-green);
}

.product-main .product-hero__stock-ribbon--out-of-stock {
	background: var(--gys-label-red);
}

.product-main .product-hero__box-art {
	position: absolute;
	left: 28px;
	top: 34px;
	width: 38%;
	height: 66%;
	opacity: 0.58;
	filter: saturate(0.85);
}

.product-main .product-hero__box-art::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(243, 240, 234, 0.2);
}

.product-main .product-hero__box-art .product-hero__display-image {
	width: 100%;
	height: 100%;
	border: 0;
	background: transparent;
	object-fit: cover;
}

.product-main .product-hero--image-actual .product-hero__visual {
	display: grid;
	place-items: center;
	padding: 46px 28px 114px;
}

.product-main .product-hero--image-actual .product-hero__box-art {
	position: static;
	width: min(100%, 430px);
	height: auto;
	aspect-ratio: 1 / 1;
	opacity: 1;
	filter: none;
}

.product-main .product-hero--image-actual .product-hero__box-art::after {
	display: none;
}

.product-main .product-hero--image-actual .product-hero__box-art .product-hero__display-image {
	object-fit: contain;
	box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.28);
}

.product-main .product-hero--image-actual .product-hero__package-row {
	left: 28px;
	right: 28px;
	bottom: 34px;
	grid-template-columns: 210px minmax(0, 1fr);
}

.product-main .product-hero__cartridge-object {
	position: absolute;
	right: 28px;
	top: 86px;
	z-index: 2;
	display: block;
	width: 63%;
	height: 43%;
	border: var(--gys-border-main);
	background:
		linear-gradient(90deg, #9d9ea6 0 14%, transparent 14% 86%, #9d9ea6 86% 100%),
		linear-gradient(180deg, #d0d0d5 0 18%, #b5b5bd 18% 100%);
	box-shadow:
		inset 3px 3px 0 #eeeeee,
		inset -3px -3px 0 #6d6d75,
		6px 8px 10px rgba(0, 0, 0, 0.25);
	overflow: hidden;
}

.product-main .product-hero--out-of-stock .product-hero__visual {
	display: grid;
	place-items: center;
}

.product-main .product-hero--out-of-stock .product-hero__box-art {
	position: static;
	width: min(58%, 300px);
	height: auto;
	aspect-ratio: 3 / 4;
	margin-top: 0;
	opacity: 1;
	filter: none;
}

.product-main .product-hero--out-of-stock .product-hero__box-art::after {
	display: none;
}

.product-main .product-hero--out-of-stock .product-hero__box-art .product-hero__display-image {
	border: 0;
	object-fit: cover;
	box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.24);
}

.product-main .product-hero--out-of-stock .product-hero__cartridge-object {
	display: none;
}

.product-main .product-hero__cartridge-object::before,
.product-main .product-hero__cartridge-object::after {
	content: "";
	position: absolute;
	top: 22%;
	bottom: 18%;
	width: 13%;
	background:
		repeating-linear-gradient(
			180deg,
			transparent 0 17px,
			rgba(0, 0, 0, 0.34) 17px 19px
		);
	border-inline: 1px solid #5b5b63;
}

.product-main .product-hero__cartridge-object::before {
	left: 4%;
}

.product-main .product-hero__cartridge-object::after {
	right: 4%;
}

.product-main .product-hero__cartridge-render {
	position: relative;
	z-index: 3;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.product-main .product-hero__cartridge-label {
	position: absolute;
	left: 28%;
	top: 17%;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 48%;
	height: 34%;
	border: var(--gys-border-main);
	background:
		linear-gradient(135deg, var(--gys-label-red) 0 25%, transparent 25%),
		linear-gradient(135deg, #050505 0 64%, #0f7db5 64% 100%);
	color: #ffffff;
	overflow: hidden;
}

.product-main .product-hero__cartridge-label img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.product-main .product-hero__package-row {
	position: absolute;
	left: 29%;
	right: 24px;
	bottom: 36px;
	z-index: 4;
	display: grid;
	grid-template-columns: 178px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
}

.product-main .product-hero--out-of-stock .product-hero__package-row {
	left: 28px;
	right: 28px;
	bottom: 34px;
	grid-template-columns: 210px minmax(0, 1fr);
	justify-content: center;
}

.product-main .product-hero__package-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 8px 12px;
	border: var(--gys-border-main);
	background: #050505;
	box-shadow: 3px 3px 0 #000000;
	color: var(--gys-label-yellow);
	font-family: var(--font-pixel);
	font-size: 0.48rem;
	line-height: 1.1;
	text-transform: uppercase;
}

.product-main .product-hero__package-row dl {
	display: grid;
	gap: 5px;
	margin: 0;
}

.product-main .product-hero__package-row div {
	display: flex;
	gap: 6px;
	align-items: baseline;
	min-width: 0;
}

.product-main .product-hero__package-row dt,
.product-main .product-hero__package-row dd {
	margin: 0;
	font-family: var(--font-pixel);
	font-size: 0.34rem;
	line-height: 1.25;
	text-transform: uppercase;
}

.product-main .product-hero__package-row dt {
	color: #111111;
}

.product-main .product-hero__package-row dd {
	color: var(--gys-label-red);
}

.product-main .product-hero__reference-note {
	position: absolute;
	left: 18px;
	bottom: 14px;
	color: #777777;
	font-family: var(--font-pixel);
	font-size: 0.34rem;
	line-height: 1.35;
	text-transform: uppercase;
}

.product-main .product-hero__content {
	display: grid;
	gap: 10px;
	min-width: 0;
	min-height: 100%;
	padding: 0;
	align-content: start;
}

.product-main .product-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	margin: 0 0 4px;
	padding: 8px 14px;
	border: var(--gys-border-main);
	background: var(--gys-label-red);
	box-shadow: 3px 3px 0 #000000;
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.62rem;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
}

.product-main .product-hero__title {
	margin: 0;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: clamp(1.28rem, 2.45vw, 2.05rem);
	line-height: 1.12;
	text-transform: uppercase;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
	text-wrap: balance;
}

.product-main .product-hero--title-long .product-hero__title {
	font-size: clamp(0.95rem, 1.75vw, 1.42rem);
	line-height: 1.18;
}

.product-main .product-hero--title-xl .product-hero__title {
	font-size: clamp(0.74rem, 1.2vw, 1.02rem);
	line-height: 1.24;
}

.product-main .product-hero--title-xl .product-hero__content {
	gap: 8px;
	align-content: start;
}

.product-main .product-hero--title-xl .product-hero__eyebrow {
	min-height: 34px;
	font-size: 0.52rem;
}

.product-main .product-hero--title-xl .product-hero__chips .snes-chip {
	min-height: 30px;
	padding: 7px 10px;
	font-size: 0.52rem;
}

.product-main .product-hero--title-xl .product-hero__stock-message,
.product-main .product-hero--title-xl .product-hero__inclusion {
	padding-block: 12px;
}

.product-main .product-hero__subtitle {
	margin: 0;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 0.58rem;
	line-height: 1.3;
	text-transform: uppercase;
}

.product-main .product-hero__summary {
	margin: 0;
	padding-bottom: 8px;
	border-bottom: 2px dashed #111111;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 0.46rem;
	line-height: 1.5;
	text-transform: uppercase;
}

.product-main .product-hero__chips {
	gap: 8px;
	height: auto;
	max-height: none;
}

.product-main .product-hero__chips .snes-chip {
	min-height: 34px;
	padding: 8px 14px;
	font-size: 0.62rem;
}

.product-main .product-hero__inclusion {
	display: grid;
	gap: 12px;
	margin-top: 2px;
	padding: 16px 18px;
	border: var(--gys-border-main);
	background: #eeeeee;
	box-shadow: var(--gys-shadow-sunken);
}

.product-main .product-hero__stock-message {
	position: relative;
	display: grid;
	gap: 4px;
	margin-top: 2px;
	padding: 13px 16px 13px 52px;
	border: var(--gys-border-main);
	background: #fff4bf;
	color: #111111;
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 900;
	line-height: 1.35;
	box-shadow: var(--gys-shadow-sunken);
}

.product-main .product-hero__stock-message::before {
	content: "i";
	position: absolute;
	left: 16px;
	top: 50%;
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border: var(--gys-border-main);
	background: #a98610;
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.58rem;
	transform: translateY(-50%);
}

.product-main .product-hero__stock-message strong {
	color: var(--gys-label-red);
	font-family: var(--font-pixel);
	font-size: 0.52rem;
	line-height: 1.3;
	text-transform: uppercase;
}

.product-main .product-hero__inclusion > div {
	position: relative;
	display: grid;
	gap: 4px;
	padding-left: 34px;
	color: #111111;
	font-family: var(--font-mono);
	font-weight: 900;
	font-size: 0.74rem;
	line-height: 1.28;
}

.product-main .product-hero__inclusion > div::before {
	position: absolute;
	left: 0;
	top: 0;
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border: var(--gys-border-main);
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.5rem;
	line-height: 1;
}

.product-main .product-hero__inclusion .is-included::before {
	content: "✓";
	background: var(--gys-label-green);
}

.product-main .product-hero__inclusion .is-not-included::before {
	content: "×";
	background: var(--gys-label-red);
}

.product-main .product-hero__inclusion strong {
	color: var(--gys-label-green);
	font-family: var(--font-pixel);
	font-size: 0.56rem;
	text-transform: uppercase;
}

.product-main .product-hero__inclusion .is-not-included strong {
	color: var(--gys-label-red);
}

.product-main .purchase-panel {
	gap: 12px;
	padding: 14px;
	border: var(--gys-border-main);
	background:
		linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0) 40%),
		#151515;
	box-shadow: none;
}

.product-main .purchase-panel__badges .snes-chip {
	min-height: 34px;
	padding: 8px 12px;
	font-size: 0.56rem;
}

.product-main .purchase-panel__title {
	position: relative;
	padding-left: 16px;
	font-size: 0.58rem;
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.product-main .purchase-panel__title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.4em;
	width: 8px;
	height: 8px;
	border: 1px solid #000000;
	background: var(--gys-label-red);
}

.product-main .purchase-panel__stock {
	display: grid;
	place-items: center;
	min-height: 58px;
	padding: 12px;
	border: var(--gys-border-main);
	background: #050505;
	color: #40c463;
	font-size: 0.58rem;
	text-align: center;
	text-shadow: 0 0 6px rgba(64, 196, 99, 0.38);
}

.product-main .purchase-panel--out-of-stock .purchase-panel__stock {
	color: #ff3333;
	text-shadow: 0 0 6px rgba(255, 51, 51, 0.3);
}

.product-main .purchase-panel--in-stock .purchase-panel__stock {
	color: #40c463;
}

.product-main .purchase-panel__meta {
	gap: 0;
	border: var(--gys-border-main);
	background: #ececec;
}

.product-main .purchase-panel__meta div {
	grid-template-columns: 112px minmax(0, 1fr);
	gap: 0;
	border-bottom: 1px solid #111111;
}

.product-main .purchase-panel__meta div:last-child {
	border-bottom: 0;
}

.product-main .purchase-panel__meta dt,
.product-main .purchase-panel__meta dd {
	min-height: 34px;
	padding: 9px 10px;
	border: 0;
	color: #111111;
	background: #e7e7e7;
}

.product-main .purchase-panel__meta dt {
	border-right: var(--gys-border-main);
	background: #cfcfcf;
	color: #111111;
	font-size: 0.36rem;
}

.product-main .purchase-panel__meta dd {
	display: block;
	font-size: 0.58rem;
}

.product-main .purchase-panel__price {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 48px;
	padding: 8px;
	border: var(--gys-border-main);
	background: #050505;
	color: #f3f3f3;
	font-size: 0.82rem;
	text-align: center;
	overflow: hidden;
}

.product-main .purchase-panel__price--market::before,
.product-main .purchase-panel__price--market::after {
	content: "";
	position: absolute;
	left: -8%;
	top: 50%;
	width: 116%;
	height: 9px;
	background: rgba(210, 32, 31, 0.72);
	transform: rotate(14deg);
	transform-origin: center;
	z-index: -1;
}

.product-main .purchase-panel__price--market::after {
	transform: rotate(-14deg);
}

.product-main .purchase-panel__price--market {
	background:
		linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0) 52%),
		#050505;
	color: var(--gys-label-yellow);
	font-size: 1.08rem;
	font-weight: 900;
	letter-spacing: 0.02em;
	text-shadow:
		2px 2px 0 #000000,
		0 0 8px rgba(242, 202, 46, 0.45);
}

.product-main .purchase-panel__price {
	isolation: isolate;
}

.product-main .purchase-panel__price:not(.purchase-panel__price--market) {
	color: #40c463;
	text-shadow: 0 0 4px rgba(64, 196, 99, 0.55);
}

.product-main .purchase-panel__customize,
.product-main .purchase-panel .single_add_to_cart_button,
.product-main .purchase-panel button.single_add_to_cart_button.button.alt,
.product-main .purchase-panel .cart .button {
	min-height: 48px;
	margin-top: 8px;
	font-size: 0.58rem;
}

.product-main .purchase-panel__hint {
	margin: 0;
	color: #d8d8d8;
	font-family: var(--font-mono);
	font-size: 0.62rem;
	font-weight: 900;
	line-height: 1.45;
}

.product-main .product-specs-panel {
	display: grid;
	gap: 12px;
	padding: 12px;
	border: var(--gys-border-main);
	background: var(--gys-snes-panel-gray);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #777777,
		4px 4px 0 #000000;
}

.product-main .product-specs-panel__heading {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 24px;
	margin: 0;
	padding-left: 20px;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 0.72rem;
	line-height: 1.25;
	text-transform: uppercase;
}

.product-main .product-specs-panel__heading::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 8px;
	height: 8px;
	border: 1px solid #000000;
	background: var(--gys-label-red);
	transform: translateY(-50%);
}

.product-main .product-specs-panel__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
	gap: 12px;
}

.product-main .product-specs-panel__section {
	border: var(--gys-border-main);
	background: #eeeeee;
	box-shadow: none;
	overflow: hidden;
}

.product-main .product-specs-panel__title {
	min-height: 34px;
	padding: 8px 12px;
	border-bottom: var(--gys-border-main);
	background: var(--gys-label-blue);
	color: #ffffff;
	font-size: 0.62rem;
	text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.32);
}

.product-main .product-specs-panel__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin: 0;
	padding: 0;
	background: transparent;
}

.product-main .product-specs-panel__list div {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	border-bottom: 1px solid #4d4d4d;
	background: transparent;
}

.product-main .product-specs-panel__list div:last-child {
	border-bottom: 0;
}

.product-main .product-specs-panel__list dt,
.product-main .product-specs-panel__list dd {
	min-height: 34px;
	padding: 8px 12px;
	border: 0;
	background: #eeeeee;
	color: #111111;
	font-size: 0.56rem;
	line-height: 1.35;
}

.product-main .product-specs-panel__list dt {
	border-right: 1px solid #4d4d4d;
	background: #dcdcdc;
	font-family: var(--font-pixel);
	font-size: 0.36rem;
}

.product-main .product-specs-panel__sku dd {
	overflow-wrap: anywhere;
}

.product-main .product-specs-panel__notes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.product-main .product-specs-panel__note {
	position: relative;
	min-height: 58px;
	margin: 0;
	padding: 14px 16px 14px 54px;
	border: var(--gys-border-main);
	color: #14213d;
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 900;
	line-height: 1.45;
}

.product-main .product-specs-panel__note::before {
	position: absolute;
	left: 16px;
	top: 50%;
	color: #1d2b44;
	font-family: var(--font-pixel);
	font-size: 1rem;
	transform: translateY(-50%);
}

.product-main .product-specs-panel__note strong {
	display: block;
	margin-bottom: 2px;
	font-family: var(--font-pixel);
	font-size: 0.56rem;
	text-transform: uppercase;
}

.product-main .product-specs-panel__note--compatibility {
	background: #fff7c7;
}

.product-main .product-specs-panel__note--compatibility::before {
	content: "i";
}

.product-main .product-specs-panel__note--shipping {
	background: #e7f4ff;
}

.product-main .product-specs-panel__note--shipping::before {
	content: "▣";
}

.product-main .product-tabs__panel {
	margin: 12px;
	padding: 12px;
	border: var(--gys-border-main);
	background: #efefef;
	box-shadow: var(--gys-shadow-sunken);
}

.product-main .product-tabs__panel--custom-flow {
	background: #151515;
	color: #ffffff;
	box-shadow: none;
}

.product-main .product-tabs__panel--custom-flow h3 {
	color: #ffffff;
}

.product-main .product-tabs__panel--custom-flow li {
	color: #ffffff;
}

.product-main .product-tabs__panel h3 {
	margin: 0 0 10px;
	font-family: var(--font-pixel);
	font-size: 0.58rem;
	line-height: 1.45;
	text-transform: uppercase;
}

.product-main .product-tabs__panel p,
.product-main .product-tabs__panel li {
	color: #111111;
	font-size: 0.76rem;
	font-weight: 900;
	line-height: 1.65;
}

.product-main .product-custom-flow {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.product-main .product-custom-flow li {
	display: grid;
	gap: 8px;
	padding: 10px;
	border: var(--gys-border-main);
	background: #050505;
	color: #ffffff;
}

.product-main .product-custom-flow strong {
	color: var(--gys-label-red);
	font-family: var(--font-pixel);
}

.product-main .game-archive-lore__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	border-bottom: var(--gys-border-main);
	background:
		linear-gradient(180deg, rgba(255,255,255,0.56), rgba(255,255,255,0) 62%),
		#d7d7d7;
}

.product-main .game-archive-lore__header .game-archive-lore__title {
	border-bottom: 0;
	background: transparent;
}

.product-main .game-archive-lore__series-link {
	margin-right: 12px;
	min-height: 30px;
	padding: 6px 8px;
	font-size: 0.42rem;
}

.product-main .game-archive-lore__grid,
.product-main .related-cartridge-shelf__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	align-items: start;
	padding: 12px;
}

.product-main .game-archive-lore__grid {
	grid-template-columns: repeat(auto-fit, minmax(260px, 300px));
	justify-content: start;
	border: 0;
	background: var(--gys-snes-panel-gray);
}

.product-main .game-archive-lore .archive-card {
	display: grid;
	grid-template-rows: auto minmax(220px, auto);
	align-self: start;
	width: 100%;
	height: auto;
	min-height: 0;
	border: var(--gys-border-main);
	background: #e7e7e7;
	box-shadow: var(--gys-shadow-pixel-small);
	overflow: hidden;
}

.product-main .game-archive-lore .archive-card__media {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	border-bottom: var(--gys-border-main);
	background: #111111;
	overflow: hidden;
}

.product-main .game-archive-lore .archive-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	image-rendering: auto;
}

.product-main .game-archive-lore .archive-card__body {
	display: grid;
	grid-template-rows: 30px 56px 28px 96px;
	gap: 8px;
	min-height: 220px;
	padding: 12px;
	background: #e7e7e7;
}

.product-main .game-archive-lore .archive-card__badges {
	position: static;
	display: flex;
	flex-wrap: nowrap;
	gap: 5px;
	align-items: flex-start;
	max-height: 30px;
	padding: 0;
	overflow: hidden;
}

.product-main .game-archive-lore .archive-card__badges .snes-chip {
	min-height: 24px;
	padding: 5px 7px;
	font-size: 0.42rem;
	line-height: 1;
	white-space: nowrap;
}

.product-main .game-archive-lore .archive-card__title {
	display: grid;
	align-items: center;
	min-height: 56px;
	margin: 0;
	font-size: 0.64rem;
	line-height: 1.28;
}

.product-main .game-archive-lore .archive-card__title a {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: #111111;
	text-shadow: none;
}

.product-main .game-archive-lore .archive-card__meta {
	display: flex;
	flex-wrap: nowrap;
	gap: 6px;
	align-items: center;
	min-height: 28px;
	max-height: 28px;
	overflow: hidden;
	color: #555555;
	font-size: 0.62rem;
	line-height: 1.2;
}

.product-main .game-archive-lore .archive-card__meta a {
	overflow: hidden;
	color: var(--gys-label-blue);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.product-main .game-archive-lore .archive-card__excerpt {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	color: #333333;
	font-size: 0.74rem;
	font-weight: 900;
	line-height: 1.5;
}

.product-main .related-cartridge-shelf__grid {
	justify-content: start;
}

.product-main .related-cartridge-shelf .cartridge-card {
	height: auto;
	min-height: 0;
	align-self: start;
	display: grid;
	grid-template-rows: auto minmax(230px, auto) auto;
}

.product-main .related-cartridge-shelf .cartridge-card__media {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	height: auto;
	min-height: 0;
	border-bottom: var(--gys-border-main);
	background: #f7f7f7;
	overflow: hidden;
}

.product-main .related-cartridge-shelf .cartridge-card__image-frame {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	background: #f7f7f7;
	overflow: hidden;
}

.product-main .related-cartridge-shelf .cartridge-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
	image-rendering: auto;
}

.product-main .related-cartridge-shelf .cartridge-card__body {
	display: grid;
	grid-template-rows: 28px 54px 58px 42px;
	gap: 8px;
	align-content: start;
	min-height: 230px;
	padding: 12px;
	text-align: center;
}

.product-main .related-cartridge-shelf .cartridge-card__series {
	align-self: start;
	justify-self: stretch;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.product-main .related-cartridge-shelf .cartridge-card__title {
	display: grid;
	align-items: center;
	min-height: 54px;
	margin: 0;
	font-size: clamp(0.56rem, 0.95vw, 0.78rem);
	line-height: 1.2;
	text-align: center;
}

.product-main .related-cartridge-shelf .cartridge-card__title a {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: #111111;
	text-shadow: none;
}

.product-main .related-cartridge-shelf .cartridge-card__meta {
	display: grid;
	align-content: start;
	justify-items: center;
	gap: 6px;
	min-height: 58px;
	overflow: hidden;
}

.product-main .related-cartridge-shelf .cartridge-card__sku {
	display: -webkit-box;
	overflow: hidden;
	max-width: 100%;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: 0.58rem;
	line-height: 1.25;
	text-align: center;
	overflow-wrap: anywhere;
}

.product-main .related-cartridge-shelf .cartridge-card__price {
	min-height: 28px;
	font-size: 0.72rem;
	line-height: 1.1;
}

.product-main .related-cartridge-shelf .cartridge-card__chips {
	display: flex;
	align-content: flex-start;
	justify-content: center;
	gap: 5px;
	min-height: 42px;
	max-height: 42px;
	overflow: hidden;
}

.product-main .related-cartridge-shelf .cartridge-card__chips .snes-chip {
	min-height: 22px;
	padding: 4px 6px;
	font-size: 0.42rem;
	line-height: 1;
}

.product-main .related-cartridge-shelf .cartridge-card__actions {
	margin-top: 0;
	padding: 0 12px 12px;
}

.product-main .related-cartridge-shelf .cartridge-card__add-to-cart {
	min-height: 38px;
	font-size: 0.54rem;
}

.product-main .game-archive-lore__empty {
	margin: 0;
	padding: 14px;
	font-size: 0.72rem;
	font-weight: 900;
}

.gys-custom-product-main .gys-custom-product-form {
	margin: 0;
}

.gys-custom-product-main .gys-custom-product-notice {
	grid-column: 1 / -1;
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 10px 12px;
	border: var(--gys-border-main);
	background: #fff4bf;
	box-shadow: 4px 4px 0 #000000;
	font-family: var(--font-pixel);
	font-size: 0.56rem;
	line-height: 1.35;
}

.gys-custom-product-main .gys-custom-product-notice.is-success {
	background: #e8f5df;
	color: var(--gys-label-green);
}

.gys-custom-product-main .gys-custom-product-notice.is-error {
	color: var(--gys-label-red);
}

.gys-custom-product-main .gys-custom-product-base-price {
	display: grid;
	gap: 4px;
	place-items: center;
	min-height: 42px;
	padding: 8px;
	border: var(--gys-border-main);
	background: #050505;
	color: var(--gys-label-yellow);
	box-shadow: inset 2px 2px 0 rgba(255,255,255,0.08);
	font-family: var(--font-pixel);
	font-size: 0.48rem;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
}

.gys-custom-product-main .gys-custom-product-base-price strong {
	color: #ffffff;
	font-size: 0.72rem;
}

.gys-custom-product-main .product-hero__module-title {
	position: absolute;
	left: 16px;
	top: 14px;
	z-index: 8;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 28px;
	padding: 7px 12px;
	border: var(--gys-border-main);
	background: var(--gys-label-blue);
	color: #ffffff;
	box-shadow: 4px 4px 0 #000000;
	font-family: var(--font-pixel);
	font-size: 0.52rem;
	line-height: 1;
	text-transform: uppercase;
}

.gys-custom-product-main .product-hero__module-title span {
	display: block;
	width: 8px;
	height: 8px;
	border: 2px solid #000000;
	background: var(--gys-label-red);
	box-shadow: inset 1px 1px 0 rgba(255,255,255,0.35);
}

.gys-custom-product-main .product-hero--out-of-stock .product-hero__visual {
	padding: 46px 18px 14px;
}

.gys-custom-product-main .product-hero--out-of-stock .product-hero__box-art {
	width: 220px;
	height: 290px;
	aspect-ratio: auto;
	max-width: calc(100% - 20px);
	margin: 0 auto;
}

.gys-custom-product-main .large-cover {
	width: 220px;
	height: 290px;
	max-width: 100%;
	object-fit: cover;
	display: block;
}

.gys-custom-product-main .product-hero--out-of-stock .product-hero__box-art .large-cover {
	width: 220px;
	height: 290px;
	max-width: 100%;
	object-fit: cover;
}

.gys-custom-product-main .stock-status-out {
	color: #ff3333;
}

.gys-custom-product-main .terminal-note {
	margin: 0;
}

.gys-custom-product-main .gys-custom-controls {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	border: var(--gys-border-main);
	background: #050505;
	box-shadow: 5px 5px 0 #000000;
}

.gys-custom-product-main .gys-custom-controls label {
	position: relative;
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	min-height: 74px;
	border-right: var(--gys-border-main);
	border-bottom: var(--gys-border-main);
	background: #f4f4f4;
}

.gys-custom-product-main .gys-custom-controls label:nth-child(2n) {
	border-right: 0;
}

.gys-custom-product-main .gys-custom-controls label:nth-last-child(-n+2) {
	border-bottom: 0;
}

.gys-custom-product-main .gys-custom-controls label > span,
.gys-custom-product-main .gys-custom-contact-grid label > span {
	display: flex;
	align-items: center;
	padding: 9px 10px;
	border-right: var(--gys-border-main);
	background: #cfcfcf;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 0.36rem;
	line-height: 1.25;
	text-transform: uppercase;
}

.gys-custom-product-main .gys-custom-controls label > span {
	background: #c9c9c9;
	box-shadow: inset 2px 2px 0 #eeeeee;
}

.gys-custom-product-main .gys-custom-controls label::after {
	content: "SELECT";
	position: absolute;
	right: 42px;
	top: 8px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	min-height: 16px;
	padding: 2px 5px;
	border: 2px solid #000000;
	background: var(--gys-label-blue);
	color: #ffffff;
	box-shadow: 2px 2px 0 #000000;
	font-family: var(--font-pixel);
	font-size: 0.28rem;
	line-height: 1;
	pointer-events: none;
}

.gys-custom-product-main .gys-custom-controls select,
.gys-custom-product-main .gys-custom-contact-grid input,
.gys-custom-product-main .gys-custom-contact-grid textarea {
	width: 100%;
	min-height: 40px;
	padding: 8px 10px;
	border: 0;
	border-radius: 0;
	background: #e7e7e7;
	color: #111111;
	font-family: var(--font-mono);
	font-size: 0.58rem;
	font-weight: 900;
	line-height: 1.35;
}

.gys-custom-product-main .gys-custom-controls select {
	min-height: 74px;
	padding: 26px 54px 10px 14px;
	border-left: 5px solid var(--gys-label-yellow);
	background:
		linear-gradient(135deg, rgba(255,255,255,0.72), rgba(255,255,255,0) 46%),
		#f7f7f7;
	box-shadow:
		inset 3px 3px 0 #ffffff,
		inset -3px -3px 0 #8a8a8a;
	color: #050505;
	font-family: var(--font-pixel);
	font-size: 0.42rem;
	text-transform: uppercase;
	appearance: none;
	cursor: pointer;
}

.gys-custom-product-main .gys-custom-controls label:has(select)::before {
	content: "";
	position: absolute;
	right: 16px;
	top: 50%;
	z-index: 3;
	width: 0;
	height: 0;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-top: 9px solid #000000;
	transform: translateY(-10%);
	pointer-events: none;
}

.gys-custom-product-main .gys-custom-controls label:hover select,
.gys-custom-product-main .gys-custom-controls select:focus {
	background:
		linear-gradient(135deg, rgba(255,255,255,0.85), rgba(255,255,255,0) 46%),
		#fff4bf;
	outline: 0;
	box-shadow:
		inset 3px 3px 0 #ffffff,
		inset -3px -3px 0 #a98610,
		0 0 0 3px rgba(246, 201, 39, 0.35);
}

.gys-custom-product-main .gys-custom-build-notes {
	display: grid;
	gap: 8px;
	margin-top: 10px;
}

.gys-custom-product-main .gys-custom-build-notes p {
	margin: 0;
	padding: 10px 12px;
	border: var(--gys-border-main);
	background: #fff4bf;
	color: #111111;
	font-family: var(--font-mono);
	font-size: 0.58rem;
	font-weight: 900;
	line-height: 1.45;
}

.gys-custom-product-main .gys-custom-build-notes strong {
	display: block;
	margin-bottom: 4px;
	color: var(--gys-label-red);
	font-family: var(--font-pixel);
	font-size: 0.46rem;
	line-height: 1.25;
}

.gys-custom-product-main .gys-custom-contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.62fr) minmax(0, 0.62fr) minmax(0, 1fr);
	gap: 8px;
}

.gys-custom-product-main .gys-custom-contact-grid label {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	border: var(--gys-border-main);
	background: #ececec;
	box-shadow: 3px 3px 0 #000000;
}

.gys-custom-product-main .gys-custom-contact-grid label.is-wide {
	grid-column: auto;
	grid-template-columns: 104px minmax(0, 1fr);
}

.gys-custom-product-main .gys-custom-contact-grid textarea {
	min-height: 64px;
	resize: vertical;
}

.gys-custom-product-main .gys-custom-request-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 10px;
	align-items: stretch;
	padding: 12px;
	border-top: var(--gys-border-main);
	background:
		linear-gradient(135deg, rgba(255,255,255,0.55), rgba(255,255,255,0) 48%),
		#d9d9d9;
}

.gys-custom-product-main .purchase-panel__customize {
	width: 100%;
	border-radius: 0;
	cursor: pointer;
}

.gys-custom-product-main .gys-custom-submit {
	width: 100%;
	min-height: 100%;
	margin-top: 0;
	border-radius: 0;
	font-family: var(--font-pixel);
	font-size: 0.62rem;
	line-height: 1.35;
	cursor: pointer;
	box-shadow: 5px 5px 0 #000000;
}

.gys-custom-product-main .gys-custom-submit::before {
	content: ">";
	margin-right: 10px;
	font-size: 1rem;
	line-height: 0;
}

.gys-custom-product-main .gys-custom-submit:active {
	transform: translateY(2px);
	box-shadow: 2px 2px 0 #000000;
}

.gys-custom-product-main .product-hero__box-art:empty {
	border: var(--gys-border-main);
	background:
		linear-gradient(135deg, var(--gys-label-red) 0 24%, transparent 24%),
		linear-gradient(135deg, #050505 0 64%, #0f7db5 64% 100%);
}

.gys-custom-product-main .gys-custom-product-missing {
	min-height: 260px;
}

.gys-custom-product-main .gys-custom-product-missing p {
	margin: 0;
	font-size: 0.72rem;
	line-height: 1.6;
}

.gys-custom-product-main .gys-custom-retro-page {
	display: block;
	width: 100%;
	margin: 0;
	border: 4px solid #080808;
	background: #eeeeee;
	box-shadow: 6px 6px 0 #000000;
	font-family: var(--font-mono);
	color: #111111;
}

.gys-custom-product-main .gys-custom-retro-page * {
	box-sizing: border-box;
}

.gys-custom-product-main .custom-hero-grid {
	display: grid;
	grid-template-columns: 1.18fr 0.95fr 0.78fr;
	border-bottom: 3px solid #080808;
}

.gys-custom-product-main .custom-hero-cell {
	min-height: 360px;
	border-right: 3px solid #080808;
	background: #f7f7f7;
}

.gys-custom-product-main .custom-hero-cell:last-child {
	border-right: 0;
}

.gys-custom-product-main .custom-preview-card {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr auto;
	gap: 12px;
	padding: 16px 16px 14px;
}

.gys-custom-product-main .custom-preview-title,
.gys-custom-product-main .custom-section-title,
.gys-custom-product-main .custom-blue-header {
	font-family: var(--font-pixel);
	text-transform: uppercase;
}

.gys-custom-product-main .custom-preview-title {
	display: inline-flex;
	align-items: center;
	justify-self: start;
	gap: 10px;
	padding: 10px 18px;
	border: 3px solid #000000;
	background: var(--gys-label-blue);
	color: #ffffff;
	box-shadow: 4px 4px 0 #000000;
	font-size: 0.62rem;
	line-height: 1;
}

.gys-custom-product-main .custom-preview-title::before,
.gys-custom-product-main .custom-section-title::before,
.gys-custom-product-main .custom-blue-header::before,
.gys-custom-product-main .custom-terminal-title::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-right: 10px;
	border: 2px solid #000000;
	background: var(--gys-label-red);
	box-shadow: inset 1px 1px 0 rgba(255,255,255,0.3);
}

.gys-custom-product-main .custom-preview-stage {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	min-height: 226px;
}

.gys-custom-product-main .large-cover {
	display: block;
	width: 150px;
	height: 215px;
	border: 3px solid #222222;
	background: #dddddd;
	box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.28);
	object-fit: cover;
}

.gys-custom-product-main .custom-cartridge-preview {
	position: relative;
	flex: 0 1 340px;
	width: 340px;
	max-width: 58%;
	height: 188px;
	border: 3px solid #111111;
	background:
		linear-gradient(90deg, #a7a7b2 0 13%, transparent 13% 87%, #a7a7b2 87% 100%),
		linear-gradient(180deg, #d0d0d8 0 17%, #b4b4bf 17% 100%);
	box-shadow:
		inset 4px 4px 0 #eeeeee,
		inset -4px -4px 0 #6d6d75,
		6px 6px 0 rgba(0, 0, 0, 0.22);
}

.gys-custom-product-main .custom-cartridge-preview::before,
.gys-custom-product-main .custom-cartridge-preview::after {
	content: "";
	position: absolute;
	top: 22%;
	bottom: 18%;
	width: 13%;
	background:
		repeating-linear-gradient(180deg, rgba(0,0,0,0.28) 0 2px, transparent 2px 22px),
		#9d9da8;
}

.gys-custom-product-main .custom-cartridge-preview::before {
	left: 0;
}

.gys-custom-product-main .custom-cartridge-preview::after {
	right: 0;
}

.gys-custom-product-main .custom-cartridge-label {
	position: absolute;
	left: 20%;
	right: 14%;
	top: 14%;
	height: 34%;
	border: 3px solid #000000;
	background:
		linear-gradient(135deg, var(--gys-label-red) 0 24%, transparent 24%),
		linear-gradient(135deg, #050505 0 68%, #0f7db5 68% 100%);
	overflow: hidden;
}

.gys-custom-product-main .custom-cartridge-label img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gys-custom-product-main .custom-cartridge-label::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(0,0,0,0) 0 72%, rgba(0,0,0,0.9) 72% 100%),
		linear-gradient(135deg, rgba(255,255,255,0.18), rgba(255,255,255,0) 45%);
}

.gys-custom-product-main .custom-cartridge-preview {
	overflow: hidden;
}

.gys-custom-product-main .custom-cartridge-preview::before {
	box-shadow: inset -2px 0 0 rgba(0,0,0,0.2);
}

.gys-custom-product-main .custom-cartridge-preview::after {
	box-shadow: inset 2px 0 0 rgba(255,255,255,0.18);
}

.gys-custom-product-main .custom-cartridge-preview .custom-cartridge-label::before {
	content: "";
	position: absolute;
	right: 8%;
	bottom: 8%;
	z-index: 2;
	width: 22px;
	height: 10px;
	background: var(--gys-label-red);
}

.gys-custom-product-main .custom-preview-bottom {
	display: grid;
	grid-template-columns: 1fr auto auto;
	gap: 18px;
	align-items: center;
}

.gys-custom-product-main .custom-reference-note,
.gys-custom-product-main .custom-not-included {
	font-family: var(--font-pixel);
	font-size: 0.42rem;
	line-height: 1.45;
	text-transform: uppercase;
}

.gys-custom-product-main .custom-cartridge-only {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 12px 22px;
	border: 3px solid #000000;
	background: #000000;
	box-shadow: 4px 4px 0 #000000;
	color: var(--gys-label-yellow);
	font-family: var(--font-pixel);
	font-size: 0.62rem;
	line-height: 1;
	text-transform: uppercase;
}

.gys-custom-product-main .custom-cartridge-only::before {
	content: "▰";
	margin-right: 10px;
}

.gys-custom-product-main .custom-not-included span {
	color: var(--gys-label-red);
}

.gys-custom-product-main .custom-title-card {
	display: grid;
	align-content: start;
	padding: 20px 20px;
}

.gys-custom-product-main .custom-loaded-bar {
	margin-bottom: 14px;
	padding: 9px;
	border: 3px solid #000000;
	background: var(--gys-label-red);
	box-shadow: 3px 3px 0 #000000;
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.78rem;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
}

.gys-custom-product-main .custom-title-card h1 {
	margin: 0 0 12px;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: clamp(1.5rem, 2.55vw, 2.35rem);
	line-height: 1.05;
	letter-spacing: 0;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

.gys-custom-product-main .custom-title-card.is-title-long h1 {
	font-size: clamp(1.18rem, 1.9vw, 1.78rem);
}

.gys-custom-product-main .custom-title-card.is-title-xl h1 {
	font-size: clamp(0.9rem, 1.42vw, 1.34rem);
	line-height: 1.06;
}

.gys-custom-product-main .custom-product-subtitle {
	font-family: var(--font-pixel);
	font-size: 0.72rem;
	line-height: 1.2;
	text-transform: uppercase;
}

.gys-custom-product-main .custom-dotted-line {
	margin: 12px 0 14px;
	border-top: 3px dashed #333333;
}

.gys-custom-product-main .custom-tag-row,
.gys-custom-product-main .custom-terminal-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.gys-custom-product-main .custom-tag,
.gys-custom-product-main .custom-terminal-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 96px;
	padding: 8px 12px;
	border: 3px solid #000000;
	box-shadow: 3px 3px 0 #000000;
	font-family: var(--font-pixel);
	font-size: 0.66rem;
	line-height: 1;
	text-transform: uppercase;
}

.gys-custom-product-main .custom-tag--green,
.gys-custom-product-main .custom-terminal-badge--green {
	background: var(--gys-label-green);
	color: #ffffff;
}

.gys-custom-product-main .custom-tag--red,
.gys-custom-product-main .custom-terminal-badge--red {
	background: var(--gys-label-red);
	color: #ffffff;
}

.gys-custom-product-main .custom-tag--yellow {
	background: var(--gys-label-yellow);
	color: #000000;
}

.gys-custom-product-main .custom-contents-box {
	display: grid;
	gap: 12px;
	margin-top: 16px;
	padding: 12px 16px;
	border: 2px solid #111111;
	background: #fafafa;
}

.gys-custom-product-main .custom-contents-item {
	display: grid;
	grid-template-columns: 28px 1fr;
	gap: 12px;
}

.gys-custom-product-main .custom-contents-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.52rem;
	line-height: 1;
}

.gys-custom-product-main .custom-contents-icon--ok {
	background: var(--gys-label-green);
}

.gys-custom-product-main .custom-contents-icon--no {
	background: var(--gys-label-red);
}

.gys-custom-product-main .custom-contents-item strong {
	display: block;
	margin-bottom: 4px;
	font-family: var(--font-pixel);
	font-size: 0.62rem;
	line-height: 1.2;
	text-transform: uppercase;
}

.gys-custom-product-main .custom-contents-item strong.is-ok {
	color: var(--gys-label-green);
}

.gys-custom-product-main .custom-contents-item strong.is-no {
	color: var(--gys-label-red);
}

.gys-custom-product-main .custom-contents-item span {
	display: block;
	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1.4;
}

.gys-custom-product-main .custom-buy-terminal {
	display: grid;
	align-content: start;
	gap: 12px;
	padding: 18px;
	background: #141414;
	color: #ffffff;
}

.gys-custom-product-main .custom-terminal-title {
	margin: 0;
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.62rem;
	line-height: 1.35;
	text-transform: uppercase;
}

.gys-custom-product-main .stock-status {
	padding: 13px;
	border: 2px solid #222222;
	background: #020202;
	color: #16d943;
	font-family: var(--font-pixel);
	font-size: 0.64rem;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

.gys-custom-product-main .stock-status-out {
	color: #ff3333;
}

.gys-custom-product-main .custom-terminal-table {
	width: 100%;
	border-collapse: collapse;
}

.gys-custom-product-main .custom-terminal-table th,
.gys-custom-product-main .custom-terminal-table td {
	padding: 10px 12px;
	border: 2px solid #000000;
	background: #eeeeee;
	color: #111111;
	font-size: 0.58rem;
	font-weight: 900;
	line-height: 1.25;
	text-align: left;
}

.gys-custom-product-main .custom-terminal-table th {
	width: 42%;
	background: #cfcfcf;
	font-family: var(--font-pixel);
	font-size: 0.44rem;
	text-transform: uppercase;
}

.gys-custom-product-main .pixel-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 3px solid #000000;
	box-shadow: 4px 4px 0 #000000;
	font-family: var(--font-pixel);
	font-weight: 900;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
}

.gys-custom-product-main .pixel-button.red {
	background: var(--gys-label-red);
	color: #ffffff;
}

.gys-custom-product-main .add-to-cart {
	width: 100%;
	padding: 14px;
	font-size: 0.72rem;
	line-height: 1.2;
}

.gys-custom-product-main .terminal-note {
	margin: 0;
	color: #ffffff;
	font-size: 0.58rem;
	font-weight: 900;
	line-height: 1.45;
}

.gys-custom-product-main .custom-specs-wrap,
.gys-custom-product-main .custom-request-wrap {
	border-bottom: 3px solid #080808;
	background: #eeeeee;
}

.gys-custom-product-main .custom-section-title {
	display: flex;
	align-items: center;
	min-height: 40px;
	padding: 0 18px;
	border-bottom: 3px solid #080808;
	background: linear-gradient(#f5f5f5, #cfcfcf);
	color: #111111;
	font-size: 0.72rem;
	line-height: 1.2;
}

.gys-custom-product-main .custom-specs-grid {
	display: grid;
	grid-template-columns: 0.95fr 1.05fr;
	gap: 16px;
	padding: 18px;
}

.gys-custom-product-main .custom-spec-card {
	border: 3px solid #080808;
	background: #f7f7f7;
}

.gys-custom-product-main .custom-blue-header {
	padding: 10px 14px;
	border-bottom: 3px solid #080808;
	background: linear-gradient(#2f66b8, #17458f);
	color: #ffffff;
	font-size: 0.68rem;
	line-height: 1.2;
}

.gys-custom-product-main .custom-game-file-body {
	display: grid;
	grid-template-columns: 0.65fr 0.35fr;
	min-height: 270px;
}

.gys-custom-product-main .custom-spec-table {
	width: 100%;
	border-collapse: collapse;
}

.gys-custom-product-main .custom-spec-table th,
.gys-custom-product-main .custom-spec-table td {
	padding: 9px 12px;
	border: 1px solid #555555;
	font-size: 0.56rem;
	font-weight: 900;
	line-height: 1.35;
	text-align: left;
	vertical-align: top;
}

.gys-custom-product-main .custom-spec-table th {
	width: 32%;
	background: #d6d6d6;
	font-family: var(--font-pixel);
	font-size: 0.38rem;
	text-transform: uppercase;
}

.gys-custom-product-main .custom-spec-table td {
	background: #f1f1f1;
	overflow-wrap: anywhere;
}

.gys-custom-product-main .custom-watermark-box {
	display: grid;
	place-items: center;
	border-left: 1px solid #aaaaaa;
	background: #f2f2f2;
	overflow: hidden;
}

.gys-custom-product-main .custom-watermark-box img {
	width: 82%;
	max-height: 82%;
	opacity: 0.12;
	object-fit: contain;
	filter: grayscale(1);
}

.gys-custom-product-main .custom-config-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.gys-custom-product-main .custom-config-item {
	position: relative;
	display: grid;
	grid-template-columns: 130px minmax(0, 1fr);
	min-height: 72px;
	border-right: 2px solid #111111;
	border-bottom: 2px solid #111111;
	background: #ffffff;
}

.gys-custom-product-main .custom-config-item:nth-child(2n) {
	border-right: 0;
}

.gys-custom-product-main .custom-config-item > span {
	display: flex;
	align-items: center;
	padding: 16px 12px;
	border-right: 4px solid var(--gys-label-yellow);
	background: #d0d0d0;
	font-family: var(--font-pixel);
	font-size: 0.42rem;
	line-height: 1.2;
	text-transform: uppercase;
}

.gys-custom-product-main .custom-config-item::after {
	content: "SELECT";
	position: absolute;
	right: 40px;
	top: 9px;
	z-index: 2;
	padding: 3px 7px;
	border: 2px solid #000000;
	background: var(--gys-label-blue);
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.28rem;
	line-height: 1;
	text-transform: uppercase;
	pointer-events: none;
}

.gys-custom-product-main .custom-config-item::before {
	content: "";
	position: absolute;
	right: 14px;
	top: 50%;
	z-index: 2;
	width: 0;
	height: 0;
	border-top: 10px solid #000000;
	border-right: 8px solid transparent;
	border-left: 8px solid transparent;
	transform: translateY(-10%);
	pointer-events: none;
}

.gys-custom-product-main .custom-config-item select {
	width: 100%;
	min-width: 0;
	min-height: 72px;
	padding: 22px 52px 10px 14px;
	border: 0;
	border-radius: 0;
	background: linear-gradient(135deg, #ffffff, #eeeeee);
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 0.52rem;
	line-height: 1.2;
	text-transform: uppercase;
	appearance: none;
	cursor: pointer;
}

.gys-custom-product-main .custom-config-item select:focus {
	outline: 0;
	background: #fff4bf;
	box-shadow: inset 0 0 0 4px rgba(246, 201, 39, 0.45);
}

.gys-custom-product-main .custom-build-notes {
	border-top: 3px solid #080808;
}

.gys-custom-product-main .custom-build-notes p {
	display: grid;
	grid-template-columns: 52px 1fr;
	gap: 10px;
	margin: 0;
	padding: 13px 14px;
	border-bottom: 2px solid #888888;
	background: #fff3b8;
	font-size: 0.56rem;
	font-weight: 900;
	line-height: 1.35;
}

.gys-custom-product-main .custom-build-notes p:last-child {
	border-bottom: 0;
}

.gys-custom-product-main .custom-build-notes p > span {
	grid-row: span 2;
	display: flex;
	justify-content: center;
	font-family: var(--font-pixel);
	font-size: 0.72rem;
}

.gys-custom-product-main .custom-build-notes strong {
	display: block;
	margin-bottom: 4px;
	color: var(--gys-label-red);
	font-family: var(--font-pixel);
	font-size: 0.56rem;
	line-height: 1.2;
	text-transform: uppercase;
}

.gys-custom-product-main .custom-info-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	padding: 0 18px 18px;
}

.gys-custom-product-main .custom-info-box {
	display: grid;
	grid-template-columns: 54px 1fr;
	gap: 12px;
	align-items: center;
	min-height: 86px;
	margin: 0;
	padding: 16px 20px;
	border: 3px solid #080808;
	font-size: 0.58rem;
	font-weight: 900;
	line-height: 1.45;
}

.gys-custom-product-main .custom-info-box--compat {
	background: #fff3b8;
}

.gys-custom-product-main .custom-info-box--note {
	background: #e8f3ff;
}

.gys-custom-product-main .custom-info-box > span {
	grid-row: span 2;
	font-family: var(--font-pixel);
	font-size: 1.4rem;
	line-height: 1;
	text-align: center;
}

.gys-custom-product-main .custom-info-box strong {
	display: block;
	color: #15366b;
	font-family: var(--font-pixel);
	font-size: 0.72rem;
	line-height: 1.2;
	text-transform: uppercase;
}

.gys-custom-product-main .custom-request-form {
	display: grid;
	grid-template-columns: 0.5fr 0.5fr 1fr 330px;
	gap: 12px;
	padding: 18px;
}

.gys-custom-product-main .custom-form-field {
	display: grid;
	grid-template-columns: 70px minmax(0, 1fr);
	min-height: 66px;
	border: 3px solid #080808;
	background: #f4f4f4;
}

.gys-custom-product-main .custom-form-field--notes {
	grid-template-columns: 110px minmax(0, 1fr);
}

.gys-custom-product-main .custom-form-field span {
	display: flex;
	align-items: center;
	justify-content: center;
	border-right: 2px solid #111111;
	background: #d3d3d3;
	font-family: var(--font-pixel);
	font-size: 0.36rem;
	line-height: 1.2;
	text-transform: uppercase;
}

.gys-custom-product-main .custom-form-field input,
.gys-custom-product-main .custom-form-field textarea {
	width: 100%;
	min-width: 0;
	min-height: 60px;
	padding: 10px 12px;
	border: 0;
	border-radius: 0;
	background: #f4f4f4;
	color: #111111;
	font-family: var(--font-mono);
	font-size: 0.58rem;
	font-weight: 900;
	line-height: 1.35;
}

.gys-custom-product-main .custom-form-field textarea {
	resize: vertical;
}

.gys-custom-product-main .custom-submit-button {
	width: 100%;
	min-height: 66px;
	padding: 12px 16px;
	font-size: 0.66rem;
	line-height: 1.2;
}

.gys-custom-product-main .custom-submit-button::before {
	content: ">";
	margin-right: 15px;
	font-size: 1rem;
}

.gys-custom-product-main .custom-submit-button:active {
	transform: translateY(2px);
	box-shadow: 2px 2px 0 #000000;
}

@media (max-width: 1180px) {
	.gys-custom-product-main .custom-hero-grid,
	.gys-custom-product-main .custom-specs-grid,
	.gys-custom-product-main .custom-info-grid,
	.gys-custom-product-main .custom-request-form {
		grid-template-columns: 1fr;
	}

	.gys-custom-product-main .custom-hero-cell {
		min-height: auto;
		border-right: 0;
		border-bottom: 3px solid #080808;
	}

	.gys-custom-product-main .custom-hero-cell:last-child {
		border-bottom: 0;
	}

	.gys-custom-product-main .custom-request-form {
		gap: 14px;
	}
}

@media (max-width: 700px) {
	.gys-custom-product-main .custom-preview-bottom,
	.gys-custom-product-main .custom-config-grid,
	.gys-custom-product-main .custom-game-file-body {
		grid-template-columns: 1fr;
	}

	.gys-custom-product-main .custom-config-item {
		grid-template-columns: 118px minmax(0, 1fr);
		border-right: 0;
	}

	.gys-custom-product-main .custom-watermark-box {
		min-height: 150px;
		border-left: 0;
		border-top: 1px solid #aaaaaa;
	}

	.gys-custom-product-main .custom-title-card h1,
	.gys-custom-product-main .custom-title-card.is-title-long h1,
	.gys-custom-product-main .custom-title-card.is-title-xl h1 {
		font-size: 1.22rem;
	}

	.gys-custom-product-main .custom-form-field,
	.gys-custom-product-main .custom-form-field--notes {
		grid-template-columns: 1fr;
	}

	.gys-custom-product-main .custom-form-field span {
		min-height: 34px;
		border-right: 0;
		border-bottom: 2px solid #111111;
	}
}

/* Single article pages inherit the homepage console proportions. */
.article-main {
	width: min(100% - 20px, 1180px);
	gap: 12px;
	margin-inline: auto;
	padding-block: 0 24px;
	font-family: var(--font-mono);
}

.article-main .breadcrumbs,
.article-main .breadcrumb,
.article-main .woocommerce-breadcrumb,
.article-main .gys-breadcrumbs {
	display: none;
}

.article-shell {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.article-main .article-hero,
.article-main .article-content,
.article-main .about-this-article,
.article-main .insert-cartridge,
.article-main .system-status {
	border: var(--gys-border-main);
	border-radius: 0 !important;
	background: var(--gys-snes-panel-gray);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #777777,
		4px 4px 0 #000000;
	color: #111111;
}

.article-main .article-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 0.46fr);
	gap: 14px;
	align-items: start;
	min-height: 0;
	padding: 14px;
	overflow: hidden;
}

.article-main .article-hero::before,
.article-main .article-content::before,
.article-main .about-this-article::before,
.article-main .insert-cartridge::before,
.article-main .system-status::before {
	content: none;
	display: none;
}

.article-main .article-hero .snes-chip {
	grid-column: 1;
	justify-self: start;
	min-height: 22px;
	margin: 0;
	padding: 4px 8px;
	border: var(--gys-border-main);
	box-shadow: 2px 2px 0 #8d8d8d;
	font-size: 0.42rem;
}

.article-main .article-hero__title {
	grid-column: 1;
	max-width: none;
	margin: 0;
	font-family: var(--font-pixel);
	font-size: clamp(0.86rem, 1.55vw, 1.18rem);
	line-height: 1.45;
	text-transform: uppercase;
}

.article-main .article-hero__title::before {
	content: "";
	display: inline-block;
	width: 9px;
	height: 9px;
	margin-right: 10px;
	border: 2px solid #000000;
	background: var(--gys-label-red);
	vertical-align: 0.05em;
}

.article-main .article-hero__dek {
	grid-column: 1;
	max-width: 72ch;
	margin: 0;
	color: #222222;
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1.55;
}

.article-main .article-hero__meta {
	grid-column: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	align-items: center;
	margin: 0;
	padding: 8px 10px;
	border: var(--gys-border-main);
	background: var(--gys-black-ink);
	color: #ffffff;
	box-shadow: inset 2px 2px 0 rgba(255, 255, 255, 0.14);
	font-family: var(--font-pixel);
	font-size: 0.42rem;
	line-height: 1.45;
	text-transform: uppercase;
}

.article-main .article-hero__meta a {
	color: #43d65f;
	text-decoration: none;
}

.article-main .article-hero__image {
	grid-column: 2;
	grid-row: 1 / span 4;
	align-self: stretch;
	margin: 0;
	border: var(--gys-border-main);
	background: #111111;
	box-shadow: var(--gys-shadow-sunken);
}

.article-main .article-hero__image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 238px;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center center;
}

.article-main .article-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 326px;
	gap: 12px;
	align-items: start;
}

.article-main .article-content {
	min-height: 0;
	padding: 18px 20px;
	overflow: hidden;
}

.article-main .article-content h2,
.article-main .article-content h3,
.article-main .article-content h4 {
	margin: 24px 0 10px;
	font-family: var(--font-pixel);
	font-size: 0.76rem;
	line-height: 1.5;
	text-transform: uppercase;
}

.article-main .article-content h2:first-child,
.article-main .article-content h3:first-child {
	margin-top: 0;
}

.article-main .article-content p,
.article-main .article-content li {
	color: #111111;
	font-family: var(--font-mono);
	font-size: 0.8rem;
	font-weight: 800;
	line-height: 1.72;
}

.article-main .article-content a {
	color: var(--gys-label-blue);
	font-weight: 900;
	text-decoration-thickness: 2px;
}

.article-main .article-content ul,
.article-main .article-content ol {
	padding-left: 22px;
}

.article-main .article-content blockquote {
	margin: 18px 0;
	padding: 12px 14px;
	border: var(--gys-border-main);
	background: #efefef;
	box-shadow: var(--gys-shadow-sunken);
}

.article-main .gys-article-figure,
.article-main .wp-block-image,
.article-main .article-content figure {
	margin: 18px 0;
	padding: 8px;
	border: var(--gys-border-main);
	background: #111111;
	box-shadow: 3px 3px 0 #000000;
	color: #ffffff;
}

.article-main .gys-article-figure img,
.article-main .wp-block-image img,
.article-main .article-content figure img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 420px;
	border: 0;
	object-fit: cover;
}

.article-main .gys-article-figure figcaption,
.article-main .wp-block-image figcaption,
.article-main .article-content figcaption {
	margin: 8px 0 0;
	color: #d7d7d7;
	font-family: var(--font-mono);
	font-size: 0.58rem;
	font-weight: 900;
	line-height: 1.45;
}

.article-main .article-sidebar {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.article-main .system-status {
	background: var(--gys-black-ink);
	color: #ffffff;
}

.article-main .about-this-article,
.article-main .insert-cartridge {
	padding: 0;
	overflow: hidden;
}

.article-main .about-this-article__title,
.article-main .insert-cartridge__title,
.article-main .system-status__title {
	display: flex;
	align-items: center;
	min-height: 40px;
	margin: 0;
	padding: 9px 12px;
	border-bottom: var(--gys-border-main);
	background:
		linear-gradient(180deg, rgba(255,255,255,0.56), rgba(255,255,255,0) 62%),
		#d7d7d7;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 0.62rem;
	line-height: 1.35;
	text-transform: uppercase;
}

.article-main .insert-cartridge__title {
	justify-content: center;
	background: var(--gys-label-red);
	color: #ffffff;
	text-align: center;
}

.article-main .about-this-article__list,
.article-main .system-status__list {
	margin: 0;
	padding: 12px 14px;
}

.article-main .about-this-article__list div,
.article-main .system-status__list div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
	padding: 10px 0;
	border-bottom: 2px solid #777777;
	background: transparent;
}

.article-main .about-this-article dt,
.article-main .about-this-article dd,
.article-main .system-status dt,
.article-main .system-status dd {
	margin: 0;
	font-family: var(--font-pixel);
	font-size: 0.42rem;
	line-height: 1.45;
	text-transform: uppercase;
}

.article-main .about-this-article dd,
.article-main .system-status dd {
	color: #43d65f;
	text-align: right;
}

.article-main .about-this-article a {
	color: var(--gys-label-blue);
	text-decoration: none;
}

.article-main .insert-cartridge {
	border-style: solid;
	outline: 0;
}

.article-main .insert-cartridge__header {
	display: contents;
}

.article-main .insert-cartridge__subtitle {
	margin: 0;
	padding: 10px 14px 0;
	font-family: var(--font-mono);
	font-size: 0.62rem;
	font-weight: 900;
	line-height: 1.45;
}

.article-main .insert-cartridge__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 4px;
	margin: 10px 12px 12px;
	border: var(--gys-border-main);
	background: #000000;
}

.article-main .insert-cartridge__item {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr) auto;
	grid-template-areas:
		"media info price"
		"media info action";
	gap: 7px 8px;
	align-items: center;
	min-width: 0;
	padding: 7px;
	border-bottom: var(--gys-border-main);
	background: var(--gys-snes-panel-gray);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #8d8d8d;
}

.article-main .insert-cartridge__item:last-child {
	border-bottom: 0;
}

.article-main .insert-cartridge__media {
	grid-area: media;
	display: block;
	width: 74px;
	height: 56px;
	overflow: hidden;
	border: var(--gys-border-main);
	background: #111111;
	text-decoration: none;
}

.article-main .insert-cartridge__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.article-main .insert-cartridge__media span {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	padding: 4px;
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.34rem;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
}

.article-main .insert-cartridge__info {
	grid-area: info;
	display: grid;
	gap: 4px;
	min-width: 0;
}

.article-main .insert-cartridge__info h3 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	margin: 0;
	overflow: hidden;
	color: #111111;
	font-family: var(--font-mono);
	font-size: 0.62rem;
	font-weight: 900;
	line-height: 1.25;
}

.article-main .insert-cartridge__info p {
	margin: 0;
	overflow: hidden;
	color: #555555;
	font-family: var(--font-mono);
	font-size: 0.42rem;
	font-weight: 900;
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.article-main .insert-cartridge__info div {
	display: flex;
	flex-wrap: wrap;
	gap: 3px;
	align-items: center;
	height: 18px;
	overflow: hidden;
}

.article-main .insert-cartridge__info span {
	display: inline-flex;
	align-items: center;
	min-height: 16px;
	padding: 2px 4px;
	border: var(--gys-border-main);
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.32rem;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}

.article-main .insert-cartridge__info .is-blue {
	background: var(--gys-label-blue);
}

.article-main .insert-cartridge__info .is-green {
	background: var(--gys-label-green);
}

.article-main .insert-cartridge__item > strong {
	grid-area: price;
	align-self: end;
	color: #063d16;
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 900;
	line-height: 1;
	text-align: right;
	white-space: nowrap;
}

.article-main .insert-cartridge__customize {
	grid-area: action;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	justify-self: end;
	min-height: 24px;
	padding: 4px 7px;
	border: var(--gys-border-main);
	background: var(--gys-label-red);
	box-shadow: 2px 2px 0 #000000;
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.34rem;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.article-main .insert-cartridge__customize:active {
	transform: translateY(2px);
}

.article-main .insert-cartridge__empty {
	margin: 0;
	padding: 14px;
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 900;
}

.article-main .gys-comments {
	padding: 0;
	overflow: hidden;
	border: var(--gys-border-main);
	background: var(--gys-snes-panel-gray);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #777777,
		4px 4px 0 #000000;
	color: #111111;
	font-family: var(--font-mono);
}

.article-main .gys-comments__header,
.article-main .comment-reply-title {
	display: flex;
	align-items: center;
	min-height: 42px;
	margin: 0;
	padding: 10px 14px;
	border-bottom: var(--gys-border-main);
	background:
		linear-gradient(180deg, rgba(255,255,255,0.56), rgba(255,255,255,0) 62%),
		#d7d7d7;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 0.74rem;
	line-height: 1.35;
	text-transform: uppercase;
}

.article-main .gys-comments__title {
	margin: 0;
	font: inherit;
}

.article-main .comment-reply-title::before,
.article-main .gys-comments__title::before {
	content: "";
	display: inline-block;
	width: 9px;
	height: 9px;
	margin-right: 10px;
	border: 2px solid #000000;
	background: var(--gys-label-red);
	vertical-align: 0.05em;
}

.article-main .comment-reply-title small {
	margin-left: auto;
	font-size: 0.42rem;
	line-height: 1.25;
}

.article-main .comment-reply-title small:empty {
	display: none;
}

.article-main .comment-reply-title small a {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 4px 6px;
	border: var(--gys-border-main);
	background: #111111;
	box-shadow: 2px 2px 0 #000000;
	color: #ffffff;
	text-decoration: none;
}

.article-main .gys-comment-form,
.article-main .gys-comments__list,
.article-main .comment-navigation {
	margin: 0;
	padding: 14px;
}

.article-main .comment-notes,
.article-main .logged-in-as {
	margin: 0 0 12px;
	color: #333333;
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 900;
	line-height: 1.55;
}

.article-main .gys-comment-form p {
	margin: 0 0 12px;
}

.article-main .gys-comment-form label {
	display: block;
	margin: 0 0 6px;
	color: #222222;
	font-family: var(--font-pixel);
	font-size: 0.48rem;
	line-height: 1.35;
	text-transform: uppercase;
}

.article-main .gys-comment-form textarea,
.article-main .gys-comment-form input[type="text"],
.article-main .gys-comment-form input[type="email"],
.article-main .gys-comment-form input[type="url"] {
	display: block;
	width: 100%;
	min-height: 46px;
	padding: 10px;
	border: var(--gys-border-main);
	background: #f7f7f7;
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #9a9a9a;
	color: #111111;
	font-family: var(--font-mono);
	font-size: 0.78rem;
	font-weight: 900;
	line-height: 1.5;
}

.article-main .gys-comment-form textarea {
	min-height: 180px;
	resize: vertical;
}

.article-main .gys-comment-form textarea:focus,
.article-main .gys-comment-form input:focus {
	outline: 3px solid var(--gys-label-blue);
	outline-offset: 2px;
}

.article-main .comment-form-cookies-consent {
	display: flex;
	gap: 10px;
	align-items: center;
	padding: 10px;
	border: var(--gys-border-main);
	background: #d7d7d7;
	box-shadow: var(--gys-shadow-sunken);
}

.article-main .comment-form-cookies-consent input[type="checkbox"] {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
	margin: 0;
	border: var(--gys-border-main);
	background: #f7f7f7;
	appearance: none;
}

.article-main .comment-form-cookies-consent input[type="checkbox"]:checked {
	background:
		linear-gradient(45deg, transparent 0 38%, #ffffff 38% 62%, transparent 62%),
		var(--gys-label-green);
}

.article-main .comment-form-cookies-consent label {
	margin: 0;
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 900;
	line-height: 1.45;
	text-transform: none;
}

.article-main .form-submit {
	margin-bottom: 0;
}

.article-main .form-submit .submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 46px;
	padding: 10px 16px;
	border: var(--gys-border-main);
	background: var(--gys-label-red);
	box-shadow:
		inset 2px 2px 0 rgba(255, 255, 255, 0.28),
		inset -2px -2px 0 rgba(0, 0, 0, 0.38),
		3px 3px 0 #000000;
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.62rem;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
}

.article-main .form-submit .submit:active {
	transform: translateY(2px);
}

.article-main .gys-comments__list {
	display: grid;
	gap: 10px;
	list-style: none;
}

.article-main .gys-comments__list .comment-body {
	padding: 12px;
	border: var(--gys-border-main);
	background: #efefef;
	box-shadow: var(--gys-shadow-sunken);
}

.home-console {
	position: relative;
}

.code-hero {
	display: grid;
	grid-template-columns: minmax(520px, 1.08fr) minmax(420px, 0.92fr);
	gap: var(--space-5);
	align-items: stretch;
	padding: var(--space-4);
	border: 4px solid #000000;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0) 36%),
		#d7d7d7;
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 rgba(0, 0, 0, 0.28);
}

.code-hero__visual {
	display: grid;
	grid-template-rows: auto 1fr auto;
	gap: var(--space-3);
	min-width: 0;
	border-right: 2px solid #888888;
	padding-right: var(--space-4);
}

.code-module-title {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	margin: 0;
	padding-bottom: var(--space-2);
	border-bottom: 2px solid #777777;
	font-family: var(--font-pixel);
	font-size: 0.82rem;
	line-height: 1.4;
	text-transform: uppercase;
}

.code-module-title span {
	color: #e60012;
}

.home-bottom-panels {
	display: grid;
	grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
	gap: var(--space-6);
}

.home-content-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
	gap: var(--space-5);
	align-items: start;
}

.home-sidebar {
	display: grid;
	gap: var(--space-5);
}

/* Static homepage macro skeleton. */
.gys-home-blueprint {
	width: min(100% - 20px, 1180px);
	margin: 12px auto 28px;
	padding: 10px;
	background: var(--gys-snes-plastic-gray-dark);
	border: 2px solid #555;
	box-shadow: inset 2px 2px 0 #eeeeee, inset -2px -2px 0 #777777;
	color: var(--color-text);
	font-family: var(--font-mono);
}

.gys-home-blueprint *,
.gys-home-blueprint *::before,
.gys-home-blueprint *::after {
	box-sizing: border-box;
	border-radius: 0 !important;
	letter-spacing: 0;
}

.gys-home-blueprint a {
	color: inherit;
	text-decoration: none;
}

.gys-site-chrome {
	width: min(100% - 20px, 1180px);
	margin: 0 auto 12px;
	padding: 10px;
	background: var(--gys-snes-plastic-gray-dark);
	border: 2px solid #555;
	box-shadow: inset 2px 2px 0 #eeeeee, inset -2px -2px 0 #777777;
	color: var(--color-text);
	font-family: var(--font-mono);
}

.gys-site-chrome *,
.gys-site-chrome *::before,
.gys-site-chrome *::after {
	box-sizing: border-box;
	border-radius: 0 !important;
	letter-spacing: 0;
}

.gys-site-chrome a {
	color: inherit;
	text-decoration: none;
}

.gys-home-console {
	display: grid;
	grid-template-columns: 480px minmax(0, 1fr) 210px;
	gap: 10px;
	align-items: stretch;
	min-height: 100px;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.gys-home-brand {
	display: grid;
	align-items: center;
	min-height: 100px;
	padding: 12px 16px;
	border: 3px solid #000;
	background:
		linear-gradient(180deg, #141414 0%, #070707 58%, #020202 100%);
	box-shadow:
		inset 3px 3px 0 rgba(255, 255, 255, 0.18),
		inset -3px -3px 0 rgba(0, 0, 0, 0.75),
		3px 3px 0 #000;
	color: var(--color-text-inverse);
}

.gys-home-brand-title {
	display: grid;
	grid-template-columns: 98px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	width: 100%;
	min-width: 0;
	margin: 0;
	font: inherit;
	letter-spacing: 0;
}

.gys-home-pad {
	width: 98px;
	height: auto;
	image-rendering: pixelated;
	filter: drop-shadow(3px 3px 0 #000);
}

.gys-home-wordmark strong {
	display: block;
	font-family: var(--font-pixel);
	font-size: 1.58rem;
	line-height: 1.02;
	color: #ffffff;
	text-shadow:
		3px 3px 0 #555555,
		5px 5px 0 #000000;
	white-space: nowrap;
}

.gys-home-wordmark small {
	display: block;
	margin-top: 10px;
	color: var(--gys-label-red);
	font-family: var(--font-pixel);
	font-size: 0.56rem;
	line-height: 1.25;
	text-shadow: 2px 2px 0 #000;
	white-space: nowrap;
}

.gys-home-nav {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	background: #000;
	border: 3px solid #000;
	box-shadow: 3px 3px 0 #000;
}

.gys-home-nav a {
	position: relative;
	display: grid;
	grid-template-rows: 32px auto;
	place-items: center;
	align-content: center;
	row-gap: 8px;
	min-height: 100px;
	padding: 10px 8px 12px;
	border-right: 3px solid #000;
	border-left: 2px solid #f3f3f3;
	background: #d7d7d7;
	box-shadow:
		inset 3px 3px 0 #ffffff,
		inset -3px -3px 0 #8d8d8d;
	color: #101010;
	font-family: var(--font-pixel);
	font-size: 0.52rem;
	line-height: 1.28;
	text-align: center;
	text-transform: uppercase;
}

.gys-home-nav a img {
	display: none;
}

.gys-home-nav a::before {
	content: "";
	display: block;
	width: 26px;
	height: 26px;
	background: #111111;
	image-rendering: pixelated;
}

.gys-home-nav a:nth-child(1)::before {
	width: 24px;
	height: 28px;
	border: 3px solid #111111;
	background:
		linear-gradient(#ffffff 0 0) 5px 5px / 10px 2px no-repeat,
		linear-gradient(#ffffff 0 0) 5px 10px / 10px 2px no-repeat,
		linear-gradient(#d71920 0 0) 0 0 / 100% 7px no-repeat,
		#d7d7d7;
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #777777,
		3px 3px 0 rgba(0, 0, 0, 0.25);
}

.gys-home-nav a:nth-child(2)::before {
	clip-path: polygon(50% 0, 62% 34%, 98% 35%, 69% 56%, 80% 92%, 50% 70%, 20% 92%, 31% 56%, 2% 35%, 38% 34%);
}

.gys-home-nav a:nth-child(3)::before {
	width: 24px;
	height: 28px;
	border: 3px solid #111111;
	background:
		linear-gradient(#111111 0 0) 6px 7px / 10px 2px no-repeat,
		linear-gradient(#111111 0 0) 6px 12px / 10px 2px no-repeat,
		linear-gradient(#111111 0 0) 6px 17px / 10px 2px no-repeat,
		#d7d7d7;
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #777777;
}

.gys-home-nav a:nth-child(4)::before {
	width: 22px;
	height: 28px;
	border: 3px solid #111111;
	background:
		linear-gradient(#111111 0 0) 5px 6px / 8px 2px no-repeat,
		linear-gradient(#111111 0 0) 5px 11px / 8px 2px no-repeat,
		linear-gradient(#111111 0 0) 5px 16px / 8px 2px no-repeat,
		#4b4b4b;
	box-shadow:
		inset 2px 2px 0 #8a8a8a,
		inset -2px -2px 0 #050505;
}

.gys-home-nav a:first-child {
	border-left: 0;
}

.gys-home-nav a:last-child {
	border-right: 0;
}

.gys-home-nav a.is-active {
	background: var(--gys-label-red);
	color: var(--color-text-inverse);
	text-shadow: 1px 1px 0 #6b0000;
	box-shadow:
		inset 3px 3px 0 rgba(255, 255, 255, 0.34),
		inset -3px -3px 0 rgba(0, 0, 0, 0.4);
}

.gys-home-cart {
	position: relative;
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	grid-template-rows: auto auto;
	align-content: center;
	column-gap: 14px;
	row-gap: 6px;
	min-height: 100px;
	padding: 24px 18px 20px 26px;
	border: 3px solid #000;
	background: #d7d7d7;
	box-shadow:
		inset 3px 3px 0 #ffffff,
		inset -3px -3px 0 #8d8d8d,
		3px 3px 0 #000;
	font-family: var(--font-pixel);
	font-size: 0.62rem;
}

.gys-home-cart::before {
	content: none;
}

.gys-home-cart::after {
	content: none;
}

.gys-home-cart-icon {
	position: absolute;
	left: 30px;
	top: 26px;
	width: 42px;
	height: 44px;
	object-fit: contain;
	image-rendering: pixelated;
}

.gys-home-cart strong {
	position: absolute;
	left: 86px;
	top: 57px;
	color: var(--gys-label-green);
	font-size: 0.8rem;
	line-height: 1;
}

.gys-home-cart b {
	position: absolute;
	top: 17px;
	right: 17px;
	display: grid;
	place-items: center;
	width: 23px;
	height: 23px;
	border: 3px solid #000;
	background: var(--gys-label-red);
	color: var(--color-text-inverse);
	font-size: 0.62rem;
	line-height: 1;
	box-shadow: inset 2px 2px 0 rgba(255, 255, 255, 0.32);
}

.gys-home-cart span {
	position: absolute;
	left: 86px;
	top: 36px;
	font-size: 0.62rem;
	line-height: 1;
}

.gys-home-sync {
	position: relative;
	display: grid;
	grid-template-columns: 230px 38px 230px 38px 155px 38px minmax(0, 1fr);
	align-items: center;
	min-height: 42px;
	margin-top: 12px;
	padding: 0 32px;
	border: 3px solid #000;
	background: #050505;
	box-shadow:
		inset 2px 2px 0 #171717,
		inset -2px -2px 0 #000000,
		3px 3px 0 #000;
	color: var(--color-text-inverse);
	font-family: var(--font-pixel);
	font-size: 0.56rem;
}

.gys-home-sync span {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	min-height: 36px;
	border-right: 0;
	text-shadow: 2px 2px 0 #000000;
	white-space: nowrap;
}

.gys-home-sync span:nth-child(2),
.gys-home-sync span:nth-child(4),
.gys-home-sync span:nth-child(6) {
	justify-content: center;
	color: #ffffff;
	opacity: 0.8;
}

.gys-home-sync span > img {
	width: 11px;
	height: 11px;
	object-fit: contain;
	image-rendering: pixelated;
}

.gys-home-sync span:first-child > img {
	display: none;
}

.gys-home-sync span:first-child::before {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	border: 2px solid #082f12;
	background: #40c463;
	box-shadow:
		inset 2px 2px 0 #75e08f,
		inset -2px -2px 0 #176c2b;
}

.gys-home-sync b {
	color: #40c463;
}

.gys-home-sync em {
	font-style: normal;
}

.gys-home-sync-orders {
	justify-content: space-between;
	gap: 18px;
	padding-left: 14px;
	padding-right: 180px;
}

.gys-home-sync-lights {
	position: absolute;
	right: 32px;
	top: 50%;
	display: grid;
	grid-template-columns: repeat(8, 12px);
	gap: 6px;
	margin-left: auto;
	transform: translateY(-50%);
}

.gys-home-sync-lights i {
	display: block;
	width: 12px;
	height: 12px;
	border: 2px solid #15124a;
	background: #5a49c8;
	box-shadow:
		inset 2px 2px 0 #8170ee,
		inset -2px -2px 0 #30236f;
}

.gys-game-search {
	grid-template-columns: auto minmax(260px, 1fr) 128px 104px 150px;
	gap: 12px;
	padding-right: 32px;
}

.gys-game-search__label,
.gys-game-search__hint {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 36px;
	text-shadow: 2px 2px 0 #000000;
	white-space: nowrap;
}

.gys-game-search__label::before {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	border: 2px solid #082f12;
	background: #40c463;
	box-shadow:
		inset 2px 2px 0 #75e08f,
		inset -2px -2px 0 #176c2b;
}

.gys-game-search__input,
.gys-game-search__button,
.shop-game-search input,
.shop-game-search button,
.shop-game-search a {
	min-height: 28px;
	border: 2px solid #000000;
	border-radius: 0;
	font-family: var(--font-pixel);
	line-height: 1;
	box-shadow:
		inset 2px 2px 0 rgba(255, 255, 255, 0.28),
		3px 3px 0 #000000;
}

.gys-game-search__input {
	width: 100%;
	padding: 7px 10px;
	background: #e7e7e7;
	color: #111111;
	font-size: 0.52rem;
	text-transform: uppercase;
}

.gys-game-search__input::placeholder {
	color: #666666;
	opacity: 1;
}

.gys-game-search__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 10px;
	background: var(--color-red);
	color: #ffffff;
	font-size: 0.48rem;
	text-shadow: 2px 2px 0 #000000;
	cursor: pointer;
}

.gys-game-search__button:active,
.shop-game-search button:active,
.shop-game-search a:active {
	transform: translateY(2px);
	box-shadow:
		inset 2px 2px 0 rgba(255, 255, 255, 0.2),
		1px 1px 0 #000000;
}

.gys-game-search__hint {
	color: #40c463;
	font-size: 0.48rem;
}

.shop-main .shop-game-search {
	display: grid;
	grid-template-columns: auto minmax(180px, 1fr) 120px auto;
	gap: 8px;
	align-items: center;
	padding: 10px;
	border: var(--gys-border-main);
	border-radius: 0 !important;
	background: #050505;
	box-shadow:
		inset 2px 2px 0 #171717,
		inset -2px -2px 0 #000000,
		4px 4px 0 #000000;
	color: #ffffff;
	font-family: var(--font-pixel);
}

.shop-game-search label {
	color: #40c463;
	font-size: 0.5rem;
	white-space: nowrap;
}

.shop-game-search input {
	width: 100%;
	padding: 8px 10px;
	background: #e7e7e7;
	color: #111111;
	font-size: 0.5rem;
	text-transform: uppercase;
}

.shop-game-search button,
.shop-game-search a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 31px;
	padding: 7px 10px;
	background: var(--color-red);
	color: #ffffff;
	font-size: 0.46rem;
	text-decoration: none;
	text-shadow: 2px 2px 0 #000000;
	cursor: pointer;
}

.shop-game-search a {
	background: #d9d9d9;
	color: #111111;
	text-shadow: none;
}

.gys-page-nav {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 12px;
	align-items: stretch;
	margin-top: 10px;
	border: 3px solid #000000;
	background: #050505;
	box-shadow:
		inset 2px 2px 0 #171717,
		inset -2px -2px 0 #000000,
		3px 3px 0 #000000;
	color: #ffffff;
	font-family: var(--font-pixel);
	text-transform: uppercase;
}

.gys-page-nav__label {
	display: flex;
	align-items: center;
	min-height: 38px;
	padding: 0 14px;
	border-right: 3px solid #000000;
	background: #111111;
	color: #40c463;
	font-size: 0.46rem;
	line-height: 1.25;
	white-space: nowrap;
}

.gys-page-nav__label::before {
	content: "";
	display: block;
	width: 9px;
	height: 9px;
	margin-right: 9px;
	border: 2px solid #000000;
	background: var(--gys-label-red);
	box-shadow: 1px 1px 0 #777777;
}

.gys-page-nav__links {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	min-width: 0;
}

.gys-page-nav__links a {
	display: flex;
	align-items: center;
	min-height: 38px;
	padding: 0 14px;
	border-right: 2px solid #333333;
	color: #d7d7d7;
	font-size: 0.43rem;
	line-height: 1.25;
	text-shadow: 2px 2px 0 #000000;
}

.gys-page-nav__links a:hover,
.gys-page-nav__links a:focus-visible {
	background: #222222;
	color: #ffffff;
}

.gys-page-nav__links a.is-active {
	background: var(--gys-label-red);
	color: #ffffff;
	box-shadow:
		inset 2px 2px 0 rgba(255, 255, 255, 0.28),
		inset -2px -2px 0 rgba(0, 0, 0, 0.38);
}

.gys-breadcrumbs {
	display: none;
}

.gys-home-columns {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 12px;
	align-items: start;
	margin-top: 14px;
}

.gys-home-main-column,
.gys-home-sidebar {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.gys-home-module {
	border: var(--gys-border-main);
	background: linear-gradient(180deg, var(--gys-snes-plastic-gray-light), var(--gys-snes-plastic-gray));
	box-shadow: var(--gys-shadow-pixel), var(--gys-shadow-panel);
}

.gys-home-module-heading {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 38px;
	padding: 8px 14px 0;
}

.gys-home-module-heading > a {
	margin-left: auto;
	color: var(--gys-label-blue);
	font-family: var(--font-pixel);
	font-size: 0.5rem;
	line-height: 1;
	text-transform: uppercase;
}

.gys-home-module-heading > a span {
	color: #001b53;
	font-size: 1rem;
	vertical-align: -0.08em;
}

.gys-home-module-heading h2 {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	font-family: var(--font-pixel);
	font-size: 0.78rem;
	line-height: 1.35;
	text-transform: uppercase;
	white-space: nowrap;
}

.gys-home-module-heading h2 span {
	width: 10px;
	height: 10px;
	border: var(--gys-border-main);
	background: var(--gys-label-red);
}

.gys-home-module-heading::after {
	content: "";
	flex: 1 1 auto;
	height: 2px;
	background: #777;
}

.gys-home-module-heading:has(> a)::after {
	content: none;
}

.gys-home-seo-intro {
	margin-top: 12px;
}

.gys-home-seo-intro__body {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	padding: 10px 16px 16px;
	color: #111111;
	font-family: var(--font-mono);
	font-size: 0.74rem;
	font-weight: 900;
	line-height: 1.7;
}

.gys-home-seo-intro__body p {
	margin: 0;
}

.gys-home-seo-intro__body a {
	color: var(--gys-label-blue);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 2px;
}

.gys-home-faq {
	margin-top: 12px;
}

.gys-home-faq__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	padding: 10px 16px 16px;
}

.gys-home-faq__item {
	padding: 12px;
	border: var(--gys-border-main);
	background: #eeeeee;
	box-shadow: var(--gys-shadow-raised);
	color: #111111;
}

.gys-home-faq__item h3 {
	margin: 0 0 10px;
	font-family: var(--font-pixel);
	font-size: 0.58rem;
	line-height: 1.45;
	text-transform: uppercase;
}

.gys-home-faq__item p {
	margin: 0;
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 900;
	line-height: 1.55;
}

.gys-featured-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin: 10px 14px 0;
	overflow: hidden;
	border: var(--gys-border-main);
	background: #b7b7b7;
	box-shadow: var(--gys-shadow-sunken);
}

.gys-feature-slot {
	display: grid;
	min-height: 210px;
	padding: 10px;
	border: var(--gys-border-main);
	background: var(--gys-snes-panel-gray);
	box-shadow: var(--gys-shadow-panel);
}

.gys-feature-slot span {
	display: block;
	min-height: 94px;
	border: var(--gys-border-main);
	background:
		linear-gradient(90deg, transparent 0 13px, #8c8c8c 13px 16px, transparent 16px),
		linear-gradient(180deg, #303030 0 52%, #b9b9b9 52%);
	box-shadow: var(--gys-shadow-sunken);
}

.gys-home-module-link {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 18px;
	width: 260px;
	min-height: 35px;
	margin: 10px 14px 12px calc(100% - 274px);
	padding: 0 14px;
	border: var(--gys-border-main);
	background: var(--gys-snes-panel-gray);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #8d8d8d,
		2px 2px 0 #000;
	color: var(--gys-label-blue);
	font-family: var(--font-pixel);
	font-size: 0.45rem;
	line-height: 1;
	text-transform: uppercase;
}

.gys-home-module-link span {
	color: #001b53;
	font-size: 1rem;
	line-height: 0.8;
}

.gys-home-module-link--shelf {
	width: 300px;
	margin-left: calc(100% - 314px);
}

.gys-home-series-index {
	margin-top: 12px;
	padding-bottom: 12px;
}

.gys-series-index-shell {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) 34px;
	gap: 14px;
	align-items: center;
	padding: 8px 32px 0;
}

.gys-series-index-row {
	display: flex;
	gap: 10px;
	min-width: 0;
	padding: 2px 2px 8px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.gys-series-index-row::-webkit-scrollbar {
	display: none;
}

.gys-series-index-card {
	display: grid;
	grid: auto 24px 22px / 1fr;
	flex: 0 0 252px;
	align-items: start;
	justify-items: center;
	min-height: 198px;
	padding: 8px 8px 11px;
	border: var(--gys-border-main);
	background: var(--gys-snes-panel-gray);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #8d8d8d,
		3px 3px 0 #000;
	color: #111111;
	font-family: var(--font-pixel);
	scroll-snap-align: start;
	text-align: center;
	text-decoration: none;
}

.gys-series-index-art {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: var(--gys-border-main);
	overflow: hidden;
	background: #eeeeee;
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #8d8d8d;
}

.gys-series-index-art img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	image-rendering: auto;
}

.gys-series-index-card:hover,
.gys-series-index-card:focus-visible {
	background: var(--gys-snes-plastic-gray-light);
	color: #111111;
	transform: translateY(-1px);
}

.gys-series-index-card:active {
	transform: translateY(2px);
	box-shadow:
		inset 2px 2px 0 #8d8d8d,
		inset -2px -2px 0 #ffffff,
		1px 1px 0 #000;
}

.gys-series-index-card > strong,
.gys-series-index-card > span:not(.gys-series-index-art) {
	display: block;
	align-self: center;
	max-width: 100%;
	overflow: hidden;
	font-size: 0.43rem;
	font-weight: 900;
	line-height: 1.2;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gys-series-index-arrow {
	display: grid;
	place-items: center;
	width: 31px;
	height: 51px;
	padding: 0 0 4px;
	border: var(--gys-border-main);
	background: var(--gys-snes-panel-gray);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #8d8d8d,
		3px 3px 0 #000;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 1.45rem;
	line-height: 1;
	cursor: pointer;
}

.gys-series-index-arrow:active {
	transform: translateY(2px);
	box-shadow:
		inset 2px 2px 0 #8d8d8d,
		inset -2px -2px 0 #ffffff,
		1px 1px 0 #000;
}

.gys-home-module-link--series {
	width: 190px;
	margin-top: 14px;
	margin-bottom: 0;
	margin-left: calc(100% - 204px);
}

/* Full game series index page. */
.game-series-index-main {
	width: min(100% - 20px, 1180px);
	gap: 12px;
	padding-block: 12px 24px;
	font-family: var(--font-mono);
}

.game-series-index-main .gys-breadcrumbs {
	display: none;
}

.gys-series-index-header,
.game-series-index-main .game-series-index {
	padding: 0;
	overflow: hidden;
	border: var(--gys-border-main);
	background:
		linear-gradient(180deg, rgba(255,255,255,0.62), rgba(255,255,255,0) 62%),
		var(--gys-snes-panel-gray);
	box-shadow: var(--gys-shadow-pixel), var(--gys-shadow-panel);
}

.gys-series-index-header__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 0.62fr);
	gap: 16px;
	align-items: stretch;
	padding: 14px;
}

.gys-series-index-header__body p {
	max-width: 72ch;
	margin: 12px 0 0;
	color: #151515;
	font-family: var(--font-mono);
	font-size: 0.82rem;
	font-weight: 900;
	line-height: 1.55;
}

.gys-series-index-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
}

.gys-series-index-stats div {
	display: grid;
	align-content: center;
	gap: 8px;
	min-height: 78px;
	padding: 10px;
	border: var(--gys-border-main);
	background: var(--gys-black-ink);
	box-shadow: inset 2px 2px 0 rgba(255,255,255,0.16);
}

.gys-series-index-stats dt,
.gys-series-index-stats dd {
	margin: 0;
	overflow: hidden;
	font-family: var(--font-pixel);
	line-height: 1.35;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.gys-series-index-stats dt {
	color: #ffffff;
	font-size: 0.43rem;
}

.gys-series-index-stats dd {
	color: #43d65f;
	font-size: 0.72rem;
	text-align: right;
}

.game-series-index-main .game-series-index__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	padding: 14px;
	background: #cfcfcf;
}

.game-series-index-main .game-series-index__item.gys-series-index-card {
	grid-template-rows: auto 28px 22px 20px;
	flex: none;
	min-height: 0;
	padding: 8px 8px 10px;
	background: var(--gys-snes-panel-gray);
	text-decoration: none;
}

.game-series-index-main .gys-series-index-art {
	border: var(--gys-border-main);
	background: #f4f4f4;
}

.game-series-index-main .game-series-index__label {
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: cover;
	box-shadow: none;
}

.game-series-index__fallback {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	padding: 12px;
	color: #061738;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1rem, 2vw, 1.7rem);
	font-weight: 900;
	line-height: 1.05;
	text-align: center;
	text-transform: uppercase;
}

.game-series-index-main .game-series-index__name {
	align-self: center;
	max-width: 100%;
	overflow: hidden;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 0.48rem;
	font-weight: 900;
	line-height: 1.2;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.game-series-index-main .game-series-index__item strong,
.game-series-index-main .game-series-index__item small {
	align-self: center;
	max-width: 100%;
	overflow: hidden;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 0.42rem;
	font-weight: 900;
	line-height: 1.2;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.game-series-index-main .game-series-index__item small {
	color: #333333;
}

/* Game series detail archive. Header and footer are inherited globally. */
.game-series-main {
	width: min(100% - 20px, 1180px);
	gap: 12px;
	margin-inline: auto;
	padding-block: 0 22px;
	font-family: var(--font-mono);
}

.game-series-main .breadcrumbs,
.game-series-main .breadcrumb,
.game-series-main .woocommerce-breadcrumb {
	display: none;
}

.gys-series-overview,
.gys-series-products,
.gys-series-articles,
.gys-series-terminal,
.gys-series-insert {
	padding: 0;
	overflow: hidden;
	background: var(--gys-snes-panel-gray);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #777777,
		4px 4px 0 #000000;
}

.gys-series-section-heading,
.gys-series-terminal h2,
.gys-series-insert h2 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 42px;
	margin: 0;
	padding: 9px 14px;
	border-bottom: var(--gys-border-main);
	background:
		linear-gradient(180deg, rgba(255,255,255,0.56), rgba(255,255,255,0) 62%),
		#d7d7d7;
}

.gys-series-section-heading h1,
.gys-series-section-heading h2,
.gys-series-terminal h2,
.gys-series-insert h2 {
	min-width: 0;
	margin: 0;
	overflow: hidden;
	font-family: var(--font-pixel);
	font-size: clamp(0.66rem, 1.02vw, 0.86rem);
	line-height: 1.55;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.gys-series-section-heading h1::before,
.gys-series-section-heading h2::before,
.gys-series-terminal h2::before,
.gys-series-insert h2::before {
	content: "";
	display: inline-block;
	width: 9px;
	height: 9px;
	margin-right: 10px;
	border: 2px solid #000000;
	background: var(--gys-label-red);
	vertical-align: 0.05em;
}

.gys-series-section-heading a {
	flex: 0 0 auto;
	color: var(--gys-label-blue);
	font-family: var(--font-pixel);
	font-size: 0.42rem;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
}

.gys-series-hero {
	display: grid;
	grid-template-columns: minmax(300px, 0.56fr) minmax(0, 1fr);
	gap: 14px;
	align-items: stretch;
	padding: 12px 14px 14px;
	border-top: 0;
}

.gys-series-hero__label {
	display: grid;
	place-items: center;
	min-width: 0;
	border: var(--gys-border-main);
	background: #f7f7f7;
	box-shadow: var(--gys-shadow-sunken);
}

.gys-series-hero__label img {
	display: block;
	width: 100%;
	height: clamp(168px, 19vw, 210px);
	aspect-ratio: 16 / 9;
	border: 0;
	object-fit: cover;
}

.gys-series-hero__label span {
	display: grid;
	place-items: center;
	width: 100%;
	aspect-ratio: 16 / 9;
	padding: 20px;
	background:
		linear-gradient(135deg, rgba(255,255,255,0.76) 0 16%, transparent 16% 56%, rgba(255,255,255,0.52) 56% 64%, transparent 64%),
		linear-gradient(180deg, #eeeeee, #d7d7d7);
	color: #061738;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.25rem, 3vw, 2.65rem);
	font-weight: 900;
	line-height: 1.05;
	text-align: center;
	text-transform: uppercase;
}

.gys-series-hero__content {
	display: grid;
	grid-template-rows: auto auto auto;
	align-content: center;
	gap: 10px;
	min-width: 0;
	padding: 8px 6px;
}

.gys-series-hero__title {
	margin: 0;
	font-family: var(--font-pixel);
	font-size: clamp(0.78rem, 1.35vw, 1.08rem);
	line-height: 1.45;
	text-transform: uppercase;
}

.gys-series-hero__content p {
	margin: 0;
	max-width: 64ch;
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1.55;
}

.gys-series-hero__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 12px;
	align-self: start;
	margin-top: 8px;
}

.gys-series-hero__stats div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	min-width: 0;
	min-height: 34px;
	padding: 7px 10px;
	border: var(--gys-border-main);
	background: var(--gys-black-deep);
	box-shadow: inset 2px 2px 0 rgba(255,255,255,0.14);
	color: var(--color-text-inverse);
}

.gys-series-hero__stats strong,
.gys-series-hero__stats span {
	overflow: hidden;
	font-family: var(--font-pixel);
	font-size: 0.42rem;
	line-height: 1.45;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.gys-series-hero__stats strong {
	color: #43d65f;
	text-align: right;
}

.gys-series-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 326px;
	gap: 12px;
	align-items: start;
}

.gys-series-sidebar {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.gys-series-products__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 4px;
	padding: 4px;
	border-top: 0;
	background: #000000;
}

.gys-series-products__grid .cartridge-card {
	min-height: 100%;
	border: 0;
	box-shadow: none;
}

.game-series-main .cartridge-card--catalog {
	display: grid;
	grid-template-rows: 150px minmax(206px, 1fr) 48px;
	min-width: 0;
	border: 0;
	background: var(--gys-snes-panel-gray);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #8d8d8d;
	color: #111111;
}

.game-series-main .cartridge-card--catalog .cartridge-card__media {
	display: grid;
	place-items: stretch;
	width: auto;
	height: auto;
	margin: 5px 5px 0;
	padding: 0;
	overflow: hidden;
	aspect-ratio: auto;
	border: var(--gys-border-main);
	background: #bfc0c7;
	box-shadow: var(--gys-shadow-sunken);
}

.game-series-main .cartridge-card--catalog .cartridge-card__art-placeholder {
	position: relative;
	display: block;
	min-height: 0;
	background:
		linear-gradient(90deg, #9c9ca5 0 12px, transparent 12px calc(100% - 12px), #9c9ca5 calc(100% - 12px)),
		linear-gradient(180deg, #1a1a1a 0 54%, #b9bac2 54% 100%);
}

.game-series-main .cartridge-card--catalog .cartridge-card__art-placeholder::before {
	content: "";
	position: absolute;
	left: 25px;
	right: 22px;
	top: 18px;
	height: 42px;
	border: var(--gys-border-main);
	background:
		radial-gradient(circle at 82% 24%, var(--gys-label-yellow) 0 7px, transparent 8px),
		linear-gradient(135deg, #111 0 35%, var(--gys-label-red) 35% 52%, var(--gys-label-blue) 52% 100%);
	box-shadow: inset 2px 2px 0 rgba(255, 255, 255, 0.18);
}

.game-series-main .cartridge-card--catalog .cartridge-card__art-placeholder::after {
	content: "";
	position: absolute;
	left: 43px;
	right: 42px;
	bottom: 12px;
	height: 20px;
	border: var(--gys-border-main);
	background: #a6a7ae;
	box-shadow: inset 2px 2px 0 #d7d7d7;
}

.game-series-main .cartridge-card--catalog .cartridge-card__art-title {
	position: absolute;
	z-index: 1;
	left: 34px;
	top: 27px;
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.38rem;
	line-height: 1.15;
	text-shadow: 1px 1px 0 #000000;
}

.game-series-main .cartridge-card--catalog .cartridge-card__art-seal {
	position: absolute;
	z-index: 1;
	left: 16px;
	top: 42px;
	width: 8px;
	height: 8px;
	border: 2px solid #d7d7d7;
	background: #ffffff;
}

.game-series-main .cartridge-card--catalog .cartridge-card__art-logo {
	position: absolute;
	z-index: 1;
	right: 15px;
	top: 45px;
	padding: 1px 2px;
	background: var(--gys-label-red);
	color: #000000;
	font-family: var(--font-pixel);
	font-size: 0.23rem;
	line-height: 1;
}

.game-series-main .cartridge-card--catalog .cartridge-card__art-placeholder.has-cartridge-image {
	overflow: hidden;
	background: #111111 !important;
}

.game-series-main .cartridge-card--catalog .cartridge-card__art-placeholder.has-cartridge-image::before,
.game-series-main .cartridge-card--catalog .cartridge-card__art-placeholder.has-cartridge-image::after {
	content: none !important;
	display: none !important;
}

.game-series-main .cartridge-card--catalog .cartridge-image-wrapper {
	position: absolute !important;
	z-index: 4;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 100% !important;
	min-height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: hidden !important;
}

.game-series-main .cartridge-card--catalog .gys-cartridge-label-img {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 100% !important;
	min-height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	border: 0;
	aspect-ratio: auto;
	object-fit: cover;
	object-position: center center;
}

.game-series-main .cartridge-card--catalog .cartridge-card__body {
	display: grid;
	grid-template-rows: auto auto 44px auto;
	align-content: start;
	gap: 9px;
	padding: 11px;
	text-align: left;
}

.game-series-main .cartridge-card--catalog .cartridge-card__title {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	font-family: var(--font-mono);
	font-size: 0.84rem;
	font-weight: 900;
	line-height: 1.28;
	text-transform: none;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.game-series-main .cartridge-card--catalog .cartridge-card__sku {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	color: #5c5c5c;
	font-family: var(--font-mono);
	font-size: 0.58rem;
	font-weight: 900;
	line-height: 1.3;
	text-transform: uppercase;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.game-series-main .cartridge-card--catalog .cartridge-card__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	align-items: start;
	justify-content: flex-start;
	height: 44px;
	overflow: hidden;
}

.game-series-main .cartridge-card--catalog .cartridge-card__chip {
	display: inline-flex;
	align-items: center;
	min-height: 18px;
	padding: 3px 6px;
	border: var(--gys-border-main);
	box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.4), 2px 2px 0 #8d8d8d;
	font-family: var(--font-pixel);
	font-size: 0.38rem;
	line-height: 1.15;
	text-transform: uppercase;
	white-space: nowrap;
}

.game-series-main .cartridge-card--catalog .cartridge-card__chip--blue {
	background: var(--gys-label-blue);
	color: #ffffff;
}

.game-series-main .cartridge-card--catalog .cartridge-card__chip--green {
	background: var(--gys-label-green);
	color: #ffffff;
}

.game-series-main .cartridge-card--catalog .cartridge-card__chip--yellow {
	background: var(--gys-label-yellow);
	color: #000000;
}

.game-series-main .cartridge-card--catalog .cartridge-card__price {
	margin: 0;
	color: #063d16;
	font-family: var(--font-mono);
	font-size: 1.05rem;
	font-weight: 900;
	line-height: 1.1;
}

.game-series-main .cartridge-card--catalog .cartridge-card__price--pending {
	color: #5c5c5c;
	font-family: var(--font-pixel);
	font-size: 0.5rem;
	line-height: 1.25;
}

.game-series-main .cartridge-card--catalog .cartridge-card__actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 38px;
	gap: 8px;
	align-items: stretch;
	padding: 0 11px 11px;
}

.game-series-main .cartridge-card--catalog .cartridge-card__add-to-cart,
.game-series-main .cartridge-card--catalog .cartridge-card__wishlist {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	border: var(--gys-border-main);
	border-radius: 0 !important;
	box-shadow: 3px 3px 0 #000000;
	font-family: var(--font-pixel);
	font-size: 0.46rem;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
}

.game-series-main .cartridge-card--catalog .cartridge-card__add-to-cart {
	gap: 8px;
	background: var(--gys-label-red);
	color: #ffffff;
}

.game-series-main .cartridge-card--catalog .cartridge-card__add-to-cart span {
	position: relative;
	width: 18px;
	height: 17px;
	border: 3px solid #ffffff;
	border-top: 0;
}

.game-series-main .cartridge-card--catalog .cartridge-card__add-to-cart span::before,
.game-series-main .cartridge-card--catalog .cartridge-card__add-to-cart span::after {
	content: "";
	position: absolute;
	background: #ffffff;
}

.game-series-main .cartridge-card--catalog .cartridge-card__add-to-cart span::before {
	left: -5px;
	top: -6px;
	width: 8px;
	height: 3px;
	transform: rotate(16deg);
}

.game-series-main .cartridge-card--catalog .cartridge-card__add-to-cart span::after {
	left: 1px;
	right: 1px;
	bottom: -8px;
	height: 4px;
	box-shadow: 11px 0 0 #ffffff;
}

.game-series-main .cartridge-card--catalog .cartridge-card__wishlist {
	padding: 0;
	background: var(--gys-snes-panel-gray);
	color: #111111;
	font-family: var(--font-mono);
	font-size: 1rem;
}

.game-series-main .gys-series-terminal {
	display: grid;
	gap: 0;
	background: var(--gys-black-ink);
	color: var(--color-text-inverse);
}

.game-series-main .gys-series-terminal.snes-panel {
	background: var(--gys-black-ink);
}

.game-series-main .gys-series-terminal h2 {
	background: var(--gys-label-blue);
	color: #ffffff;
}

.gys-series-terminal h2::before,
.gys-series-insert h2::before {
	display: none;
}

.game-series-main .gys-series-terminal dl {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 12px 16px 18px;
	background: var(--gys-black-ink);
}

.game-series-main .gys-series-terminal dl div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	padding: 15px 0;
	border-bottom: 2px solid #777777;
}

.game-series-main .gys-series-terminal dt,
.game-series-main .gys-series-terminal dd {
	margin: 0;
	font-family: var(--font-pixel);
	font-size: 0.42rem;
	line-height: 1.5;
	text-transform: uppercase;
}

.game-series-main .gys-series-terminal dt {
	color: #d7d7d7;
}

.game-series-main .gys-series-terminal dd {
	max-width: 130px;
	overflow: hidden;
	color: #43d65f;
	text-align: right;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gys-series-insert {
	display: grid;
	gap: 12px;
	padding-bottom: 14px;
}

.gys-series-insert h2 {
	justify-content: center;
	width: 100%;
	min-height: 38px;
	padding-inline: 8px;
	background: var(--gys-label-red);
	color: #ffffff;
	font-size: clamp(0.58rem, 0.84vw, 0.76rem);
	text-align: center;
	text-overflow: clip;
	white-space: normal;
	word-break: keep-all;
}

.gys-series-insert__scene {
	display: block;
	margin: 10px 14px 0;
	border: var(--gys-border-main);
	background: #bfc0c0;
	box-shadow: var(--gys-shadow-sunken);
	overflow: hidden;
}

.gys-series-insert__scene img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center center;
}

.gys-series-insert p {
	margin: 0 18px;
	font-family: var(--font-mono);
	font-size: 0.68rem;
	font-weight: 900;
	line-height: 1.45;
}

.gys-series-insert .snes-button {
	justify-self: center;
	width: calc(100% - 44px);
	min-height: 42px;
	font-size: 0.46rem;
	text-align: center;
}

.game-series-main .cartridge-card__title,
.game-series-main .archive-card__title {
	font-family: var(--font-mono);
	font-size: 0.82rem;
	font-weight: 900;
	line-height: 1.32;
	letter-spacing: 0;
}

.game-series-main .cartridge-card__title a,
.game-series-main .archive-card__title a {
	color: #111111;
	text-shadow: none;
}

.game-series-main .cartridge-card__body,
.game-series-main .archive-card__body {
	gap: 8px;
	padding: 11px;
	font-family: var(--font-mono);
}

.game-series-main .cartridge-card__series {
	display: none;
}

.game-series-main .cartridge-card__sku,
.game-series-main .archive-card__meta,
.game-series-main .archive-card__excerpt {
	font-family: var(--font-mono);
	font-size: 0.62rem;
	font-weight: 900;
	line-height: 1.35;
}

.game-series-main .cartridge-card__price {
	color: #063d16;
	font-family: var(--font-mono);
	font-size: 1.05rem;
	font-weight: 900;
	text-shadow: none;
}

.game-series-main .snes-chip {
	min-height: 22px;
	padding: 3px 7px;
	font-family: var(--font-pixel);
	font-size: 0.42rem;
	line-height: 1.2;
}

.game-series-main .cartridge-card__actions {
	padding: 0 11px 11px;
}

.game-series-main .cartridge-card__add-to-cart {
	min-height: 36px;
	font-size: 0.46rem;
}

.game-series-main .archive-card__badges {
	position: static;
	padding: 0;
}

.game-series-main .archive-card__media {
	border-bottom-width: 3px;
}

.gys-series-articles__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 4px;
	padding: 4px;
	background: #000000;
}

.gys-series-articles__grid .archive-card {
	border: 0;
	box-shadow: none;
}

.gys-archive-page {
	width: min(100% - 20px, 1180px);
	margin-inline: auto;
	padding-block: 0 24px;
	font-family: var(--font-mono);
}

.gys-archive-page .breadcrumbs,
.gys-archive-page .breadcrumb,
.gys-archive-page .gys-breadcrumbs {
	display: none;
}

.gys-archive-page .archive-header,
.gys-archive-page .archive-filter-tabs,
.gys-archive-page .archive-feed,
.gys-archive-page .archive-sidebar > * {
	border: var(--gys-border-main);
	border-radius: 0 !important;
	background: var(--gys-snes-panel-gray);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #777777,
		4px 4px 0 #000000;
	color: #111111;
}

.gys-archive-page .archive-header {
	display: grid;
	gap: 0;
	padding: 0;
	overflow: hidden;
}

.gys-archive-page .archive-header__title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 14px 16px;
	border-bottom: var(--gys-border-main);
	background:
		linear-gradient(180deg, rgba(255,255,255,0.56), rgba(255,255,255,0) 62%),
		#d7d7d7;
	font-family: var(--font-pixel);
	font-size: 0.92rem;
	line-height: 1.45;
	text-transform: uppercase;
}

.gys-archive-page .archive-header__title::before,
.gys-archive-page .archive-feed__header h2::before {
	content: "";
	width: 12px;
	height: 12px;
	border: var(--gys-border-main);
	background: var(--color-red);
	box-shadow: inset 2px 2px 0 rgba(255, 255, 255, 0.28);
}

.gys-archive-page .archive-header__description {
	max-width: 860px;
	margin: 0;
	padding: 14px 16px 16px;
	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1.55;
}

.gys-archive-page .archive-filter-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 10px;
}

.gys-archive-page .archive-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 326px;
	gap: 12px;
	align-items: start;
	min-width: 0;
}

.gys-archive-page .archive-sidebar {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.gys-archive-page .archive-sidebar > .system-status {
	padding: 0;
	overflow: hidden;
	background: var(--gys-black-ink);
	color: #ffffff;
	box-shadow:
		inset 2px 2px 0 rgba(255, 255, 255, 0.12),
		inset -2px -2px 0 #000000,
		4px 4px 0 #000000;
}

.gys-archive-page .system-status__title {
	display: flex;
	align-items: center;
	min-height: 42px;
	margin: 0;
	padding: 10px 12px;
	border-bottom: var(--gys-border-main);
	background: var(--gys-label-blue);
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.72rem;
	line-height: 1.35;
	text-transform: uppercase;
	text-shadow: 2px 2px 0 #000000;
}

.gys-archive-page .system-status__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin: 0;
	padding: 12px 14px;
	background: #151515;
}

.gys-archive-page .system-status__list div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	min-height: 42px;
	padding: 9px 0;
	border: 0;
	border-bottom: 2px solid #777777;
	background: transparent;
	box-shadow: none;
	color: #ffffff;
}

.gys-archive-page .system-status__list div:last-child {
	border-bottom: 0;
}

.gys-archive-page .system-status__list dt,
.gys-archive-page .system-status__list dd {
	margin: 0;
	overflow: hidden;
	font-family: var(--font-pixel);
	font-size: 0.42rem;
	line-height: 1.45;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.gys-archive-page .system-status__list dt {
	color: #d7d7d7;
}

.gys-archive-page .system-status__list dd {
	color: #43d65f;
	text-align: right;
}

.gys-archive-page .archive-feed {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	padding: 0;
	overflow: hidden;
}

.gys-archive-page .archive-feed__header {
	width: 100%;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: var(--gys-border-main);
	background:
		linear-gradient(90deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0)),
		var(--gys-snes-panel-gray);
}

.gys-archive-page .archive-feed__header h2 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-family: var(--font-pixel);
	font-size: 1rem;
	line-height: 1.2;
	text-transform: uppercase;
}

.gys-archive-page .archive-feed__header a {
	color: #123d7a;
	font-family: var(--font-pixel);
	font-size: 0.5rem;
	text-decoration: none;
	text-transform: uppercase;
}

.gys-archive-page .archive-feed__grid {
	display: grid;
	width: 100%;
	min-width: 0;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 4px;
	padding: 4px;
	background: #000000;
}

.gys-archive-page .archive-card {
	display: grid;
	grid-template-rows: auto 1fr;
	min-height: 100%;
	border: 0;
	background: #dedede;
	box-shadow: none;
	color: #111111;
}

.gys-archive-page .archive-card__media {
	display: block;
	aspect-ratio: 16 / 9;
	border-bottom: var(--gys-border-main);
	background: #111111;
	overflow: hidden;
}

.gys-archive-page .archive-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.gys-archive-page .archive-card__body {
	display: grid;
	align-content: start;
	gap: 8px;
	padding: 11px;
	font-family: var(--font-mono);
}

.gys-archive-page .archive-card__badges {
	position: static;
	padding: 0;
}

.gys-archive-page .archive-card__title {
	margin: 0;
	font-family: var(--font-mono);
	font-size: 0.76rem;
	font-weight: 900;
	line-height: 1.35;
	letter-spacing: 0;
}

.gys-archive-page .archive-card__title a {
	color: #111111;
	text-decoration: none;
	text-shadow: none;
}

.gys-archive-page .archive-card__meta,
.gys-archive-page .archive-card__excerpt {
	margin: 0;
	font-family: var(--font-mono);
	font-size: 0.58rem;
	font-weight: 900;
	line-height: 1.4;
	color: #333333;
}

.gys-archive-page .archive-card__excerpt {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.gys-archive-page .archive-pagination {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	padding: 12px;
	border-top: var(--gys-border-main);
	background: var(--gys-snes-panel-gray);
	font-family: var(--font-pixel);
	font-size: 0.52rem;
}

.gys-archive-page .archive-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	min-height: 28px;
	padding: 4px 8px;
	border: var(--gys-border-main);
	background: #e7e7e7;
	color: #123d7a;
	text-decoration: none;
	box-shadow: 3px 3px 0 #000000;
}

.gys-archive-page .archive-pagination .current {
	background: var(--color-red);
	color: #ffffff;
}

.gys-archive-page .archive-feed__empty {
	margin: 0;
	padding: 24px;
	font-family: var(--font-mono);
	font-size: 0.8rem;
	font-weight: 900;
}

.gys-archive-page .game-series-index {
	display: grid;
	gap: 0;
	padding: 0;
	overflow: hidden;
	background: var(--gys-snes-panel-gray);
}

.gys-archive-page .game-series-index h2 {
	display: flex;
	align-items: center;
	min-height: 42px;
	margin: 0;
	padding: 10px 12px;
	border-bottom: var(--gys-border-main);
	background:
		linear-gradient(180deg, rgba(255,255,255,0.56), rgba(255,255,255,0) 62%),
		#d7d7d7;
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 0.58rem;
	line-height: 1.35;
	text-transform: uppercase;
}

.gys-archive-page .game-series-index__grid {
	display: grid;
	gap: 0;
	max-height: 520px;
	padding: 8px;
	overflow: auto;
	background: #cfcfcf;
}

.gys-archive-page .game-series-index__item {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 8px;
	align-items: center;
	min-height: 54px;
	padding: 6px;
	border: var(--gys-border-main);
	border-bottom: 0;
	background: var(--gys-snes-panel-gray);
	box-shadow: var(--gys-shadow-panel);
	color: #111111;
	text-decoration: none;
}

.gys-archive-page .game-series-index__item:last-child {
	border-bottom: var(--gys-border-main);
}

.gys-archive-page .game-series-index__item .snes-chip {
	grid-column: 2;
	min-height: 18px;
	padding: 3px 5px;
	font-size: 0.34rem;
	line-height: 1.15;
}

.game-series-index__label {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: var(--gys-border-main);
	object-fit: cover;
	background: #eeeeee;
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #8d8d8d;
}

.gys-archive-page .game-series-index__label {
	grid-row: 1 / span 2;
	width: 72px;
	height: 41px;
	aspect-ratio: auto;
	border: var(--gys-border-main);
	object-fit: cover;
}

.gys-archive-page .game-series-index__name {
	grid-column: 2;
	overflow: hidden;
	font-family: var(--font-pixel);
	font-size: 0.38rem;
	font-weight: 900;
	line-height: 1.3;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.gys-series-empty {
	margin: 0;
	padding: 24px;
	border-top: var(--gys-border-main);
	background: #d7d7d7;
	font-family: var(--font-mono);
	font-size: 0.9rem;
	font-weight: 900;
}

.gys-series-empty-shelf {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 4px;
	margin: 0;
	padding: 4px;
	border-top: var(--gys-border-main);
	background: #000000;
}

.gys-series-empty-shelf > div {
	position: relative;
	min-height: 166px;
	border: 0;
	background:
		linear-gradient(90deg, #a9a9b1 0 14%, transparent 14% 86%, #a9a9b1 86% 100%),
		linear-gradient(180deg, #efefef 0 26%, #d7d7d7 26% 100%);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #777777;
}

.gys-series-empty-shelf > div::before {
	content: "";
	position: absolute;
	left: 13%;
	right: 13%;
	top: 18px;
	height: 84px;
	border: var(--gys-border-main);
	background:
		linear-gradient(90deg, #9c9ca4 0 18%, transparent 18% 82%, #9c9ca4 82% 100%),
		linear-gradient(180deg, #b8b8c0 0 16%, #e8e8e8 16% 34%, #f6f6f6 34% 100%);
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.32);
}

.gys-series-empty-shelf > div span {
	position: absolute;
	left: 30%;
	right: 30%;
	bottom: 30px;
	height: 22px;
	border: var(--gys-border-main);
	background: #b8b8c0;
}

.gys-series-empty-shelf p {
	grid-column: 1 / -1;
	margin: 0;
	padding: 12px 16px;
	background: var(--gys-snes-panel-gray);
	color: #111111;
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1.45;
}

.gys-home-archive-library {
	margin-top: 12px;
}

.gys-archive-library-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	padding: 0 14px 14px;
}

.gys-archive-card {
	display: grid;
	grid-template-rows: 164px 86px;
	min-width: 0;
	min-height: 252px;
	padding: 12px;
	border: var(--gys-border-main);
	background: var(--gys-snes-panel-gray);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #8d8d8d,
		3px 3px 0 #000;
	font-family: var(--font-mono);
	color: #111111;
}

.gys-archive-card__main {
	display: grid;
	grid-template-rows: 164px;
	min-width: 0;
	color: inherit;
	text-decoration: none;
}

.gys-archive-card__main:hover h3,
.gys-archive-card__main:focus-visible h3,
.gys-archive-card__related:hover strong,
.gys-archive-card__related:focus-visible strong {
	color: var(--gys-label-blue);
	text-decoration: underline;
	text-decoration-thickness: 2px;
}

.gys-archive-card__top {
	display: grid;
	grid-template-columns: 126px minmax(0, 1fr);
	gap: 12px;
	min-width: 0;
}

.gys-archive-card__top > img {
	width: 126px;
	height: 118px;
	border: var(--gys-border-main);
	background: #d7d7d7;
	box-shadow: inset 2px 2px 0 #ffffff;
	object-fit: cover;
	object-position: center center;
}

.gys-archive-card__top > div {
	display: grid;
	grid-template-rows: 20px 58px 54px;
	gap: 7px;
	min-width: 0;
	height: 150px;
	overflow: hidden;
}

.gys-archive-card b {
	display: block;
	margin: 0;
	color: #2d7d3f;
	font-family: var(--font-pixel);
	font-size: 0.42rem;
	line-height: 1.1;
	text-transform: uppercase;
	white-space: nowrap;
}

.gys-archive-card h3 {
	display: -webkit-box;
	height: 58px;
	max-height: 58px;
	margin: 0;
	overflow: hidden;
	font-family: var(--font-mono);
	font-size: 0.82rem;
	font-weight: 900;
	line-height: 1.2;
	overflow-wrap: anywhere;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.gys-archive-card p {
	display: -webkit-box;
	margin: 0;
	max-height: 54px;
	overflow: hidden;
	font-size: 0.6rem;
	font-weight: 900;
	line-height: 1.45;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.gys-archive-card time {
	display: none;
	align-items: center;
	color: #111111;
	font-family: var(--font-mono);
	font-size: 0.55rem;
	font-weight: 900;
	text-transform: uppercase;
}

.gys-archive-card__related {
	position: relative;
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	grid-template-rows: 32px 44px;
	align-items: center;
	column-gap: 12px;
	min-width: 0;
	padding: 0 10px 8px;
	border: var(--gys-border-main);
	background: #d7d7d7;
	box-shadow: inset 2px 2px 0 #ffffff;
	color: inherit;
	text-decoration: none;
}

.gys-archive-card__related span {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-mono);
	font-size: 0.58rem;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.gys-archive-card__related span::after {
	content: "";
	flex: 1;
	height: 2px;
	background: #9a9a9a;
}

.gys-archive-card__related img {
	width: 86px;
	height: 38px;
	border: var(--gys-border-main);
	background: #111111;
	object-fit: cover;
	object-position: center center;
}

.gys-archive-card__related strong {
	overflow: hidden;
	font-family: var(--font-mono);
	font-size: 0.6rem;
	font-weight: 900;
	line-height: 1.2;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.gys-home-condition-guide {
	margin-top: 12px;
	padding-bottom: 0;
}

.gys-condition-guide-row {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	padding: 10px 14px 12px;
}

.gys-condition-card {
	display: grid;
	grid-template-rows: 28px 43px 52px 24px;
	justify-items: center;
	min-width: 0;
	min-height: 160px;
	padding: 10px 12px 12px;
	border: var(--gys-border-main);
	background: var(--gys-snes-panel-gray);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #8d8d8d,
		3px 3px 0 #000;
	color: #111111;
	font-family: var(--font-mono);
	text-align: center;
}

.gys-condition-card h3 {
	margin: 0;
	font-family: var(--font-pixel);
	font-size: 0.62rem;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
}

.gys-condition-grades,
.gys-condition-switches {
	display: flex;
	align-items: start;
	justify-content: center;
	gap: 10px;
	width: 100%;
}

.gys-condition-switches {
	gap: 0;
}

.gys-condition-grades span,
.gys-condition-switches span,
.gys-condition-key i {
	display: inline-grid;
	place-items: center;
	border: var(--gys-border-main);
	box-shadow:
		inset 2px 2px 0 rgba(255, 255, 255, 0.35),
		3px 3px 0 #000;
	font-family: var(--font-pixel);
	font-weight: 900;
	line-height: 1;
}

.gys-condition-grades span {
	width: 36px;
	height: 36px;
	font-size: 0.82rem;
}

.gys-condition-switches span {
	width: 58px;
	height: 36px;
	font-size: 0.68rem;
	color: #ffffff;
}

.gys-condition-switches span + span {
	margin-left: -2px;
}

.gys-condition-grades .is-a,
.gys-condition-switches .is-a,
.gys-condition-key .is-a {
	background: var(--gys-label-green);
	color: #ffffff;
}

.gys-condition-grades .is-b,
.gys-condition-switches .is-b,
.gys-condition-key .is-b {
	background: var(--gys-label-blue);
	color: #ffffff;
}

.gys-condition-grades .is-c,
.gys-condition-key .is-c {
	background: var(--gys-label-yellow);
	color: #000000;
}

.gys-condition-grades .is-d,
.gys-condition-switches .is-d,
.gys-condition-key .is-d {
	background: var(--gys-label-red);
	color: #ffffff;
}

.gys-condition-card p {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	font-size: 0.58rem;
	font-weight: 900;
	line-height: 1.35;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.gys-condition-card a,
.gys-condition-full-link {
	color: var(--gys-label-blue);
	font-family: var(--font-pixel);
	font-size: 0.5rem;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.gys-condition-guide-footer {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 14px;
	align-items: center;
	min-height: 43px;
	padding: 0 14px 10px;
}

.gys-condition-key {
	display: flex;
	align-items: center;
	gap: 44px;
	min-height: 36px;
	padding: 0 12px;
	background: rgba(255, 255, 255, 0.18);
	font-family: var(--font-mono);
	font-size: 0.6rem;
	font-weight: 900;
	white-space: nowrap;
}

.gys-condition-key strong {
	font-family: var(--font-pixel);
	font-size: 0.55rem;
	font-weight: 900;
}

.gys-condition-key span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.gys-condition-key i {
	width: 16px;
	height: 16px;
	box-shadow:
		inset 1px 1px 0 rgba(255, 255, 255, 0.35),
		2px 2px 0 #000;
}

.gys-condition-full-link {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 18px;
	min-height: 35px;
	padding: 0 14px;
	border: var(--gys-border-main);
	background: var(--gys-snes-panel-gray);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #8d8d8d,
		2px 2px 0 #000;
}

.gys-condition-full-link span {
	color: #001b53;
	font-size: 1rem;
	line-height: 0.8;
}

.gys-condition-guide-main {
	display: grid;
	gap: 14px;
	max-width: 1240px;
	margin: 0 auto;
	padding: 14px 10px 28px;
}

.gys-condition-guide-hero,
.gys-condition-guide-panel,
.gys-condition-guide-reference {
	padding: 16px;
	border: var(--gys-border-main, 2px solid #000);
	background: var(--gys-snes-panel-gray, #d7d7d7);
	box-shadow: var(--gys-shadow-panel, inset 2px 2px 0 rgba(255, 255, 255, 0.55), inset -2px -2px 0 rgba(0, 0, 0, 0.24)), 4px 4px 0 #000;
}

.gys-condition-guide-hero__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
	gap: 16px;
	align-items: stretch;
	margin-top: 14px;
}

.gys-condition-guide-hero__body p {
	margin: 12px 0 0;
	color: #111;
	font-family: var(--font-mono, "Courier New", monospace);
	font-size: 0.82rem;
	font-weight: 900;
	line-height: 1.55;
}

.gys-condition-guide-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
	border: var(--gys-border-main, 2px solid #000);
	background: #101010;
	box-shadow: inset 2px 2px 0 rgba(255, 255, 255, 0.08), inset -2px -2px 0 rgba(0, 0, 0, 0.55);
}

.gys-condition-guide-stats div {
	display: grid;
	gap: 8px;
	place-items: center;
	min-height: 86px;
	padding: 12px;
	border-right: 2px solid #333;
}

.gys-condition-guide-stats div:last-child {
	border-right: 0;
}

.gys-condition-guide-stats dt,
.gys-condition-guide-stats dd {
	margin: 0;
	font-family: var(--font-pixel, "Press Start 2P", monospace);
	text-transform: uppercase;
}

.gys-condition-guide-stats dt {
	color: #dcdcdc;
	font-size: 0.5rem;
	line-height: 1.3;
}

.gys-condition-guide-stats dd {
	color: var(--gys-green, #49d566);
	font-size: 0.82rem;
	line-height: 1;
	text-shadow: 1px 1px 0 #003b13;
}

.gys-condition-guide-row--page {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin-top: 14px;
}

.gys-condition-guide-row--page .gys-condition-card {
	min-height: 272px;
}

.gys-condition-guide-reference .gys-condition-guide-footer {
	margin-top: 14px;
}

.gys-condition-reference-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-top: 14px;
}

.gys-condition-reference-grid div {
	padding: 14px;
	border: var(--gys-border-main, 2px solid #000);
	background: #eeeeee;
	box-shadow: inset 2px 2px 0 #fff, inset -2px -2px 0 rgba(0, 0, 0, 0.18);
}

.gys-condition-reference-grid h3 {
	margin: 0 0 10px;
	color: #111;
	font-family: var(--font-pixel, "Press Start 2P", monospace);
	font-size: 0.66rem;
	line-height: 1.25;
	text-transform: uppercase;
}

.gys-condition-reference-grid p {
	margin: 0;
	color: #111;
	font-family: var(--font-mono, "Courier New", monospace);
	font-size: 0.78rem;
	font-weight: 900;
	line-height: 1.5;
}

.gys-home-trust-strip {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: center;
	min-height: 94px;
	margin-top: 12px;
	padding: 16px 42px;
	border: var(--gys-border-main);
	background: var(--gys-snes-panel-gray);
	box-shadow:
		inset 2px 2px 0 #ffffff,
		inset -2px -2px 0 #8d8d8d,
		3px 3px 0 #000;
	color: #111111;
}

.gys-trust-item {
	position: relative;
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 20px;
	align-items: center;
	min-height: 52px;
	min-width: 0;
	padding: 0 42px;
}

.gys-trust-item:first-child {
	padding-left: 0;
}

.gys-trust-item:last-child {
	padding-right: 0;
}

.gys-trust-item + .gys-trust-item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	bottom: 3px;
	width: 2px;
	background:
		repeating-linear-gradient(
			180deg,
			#777777 0 5px,
			transparent 5px 10px
		);
}

.gys-trust-item img {
	display: block;
	justify-self: center;
	align-self: center;
	width: 48px;
	height: 48px;
	object-fit: contain;
	object-position: center center;
	image-rendering: pixelated;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	outline: 0;
}

.gys-trust-item:first-child img {
	width: 46px;
	height: 46px;
}

.gys-trust-item:nth-child(2) img {
	width: 44px;
	height: 44px;
}

.gys-trust-item:last-child img {
	width: 46px;
	height: 46px;
}

.gys-trust-item > div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 52px;
	min-width: 0;
}

.gys-trust-item h3 {
	margin: 0 0 10px;
	font-family: var(--font-pixel);
	font-size: 0.66rem;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
}

.gys-trust-item p {
	margin: 0;
	font-family: var(--font-mono);
	font-size: 0.6rem;
	font-weight: 900;
	line-height: 1.25;
}

.gys-filter-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 11px 20px;
	padding: 14px 18px 16px;
	border-top: 2px solid #8a8a8a;
}

.gys-filter-grid button,
.gys-filter-grid a {
	display: flex;
	align-items: center;
	min-height: 34px;
	padding: 7px 12px;
	border: var(--gys-border-main);
	background: var(--gys-snes-plastic-gray);
	box-shadow: var(--gys-shadow-panel);
	font-family: var(--font-pixel);
	font-size: 0.55rem;
	line-height: 1.2;
	text-align: left;
	text-decoration: none;
	text-transform: uppercase;
}

.gys-filter-grid .is-blue {
	background: var(--gys-label-blue);
	color: var(--color-text-inverse);
}

.gys-filter-grid .is-green {
	background: var(--gys-label-green);
	color: var(--color-text-inverse);
}

.gys-filter-grid .is-yellow {
	background: var(--gys-label-yellow);
	color: var(--color-black);
}

.gys-filter-grid .is-red {
	background: var(--gys-label-red);
	color: var(--color-text-inverse);
}

.gys-filter-grid .is-clear {
	justify-self: end;
	min-width: 150px;
	text-align: center;
}

.gys-cartridge-shelf {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	padding: 12px 14px 16px;
}

.gys-shelf-slot {
	display: grid;
	grid-template-rows: 118px 10px 10px;
	gap: 10px;
	min-height: 234px;
	padding: 10px;
	border: var(--gys-border-main);
	background: var(--gys-snes-panel-gray);
	box-shadow: var(--gys-shadow-panel);
}

.gys-shelf-slot div {
	position: relative;
	border: var(--gys-border-main);
	background:
		linear-gradient(90deg, #9b9b9b 0 14px, transparent 14px calc(100% - 14px), #9b9b9b calc(100% - 14px)),
		linear-gradient(180deg, #2b2b2b 0 47%, #c4c4c4 47% 100%);
	box-shadow: var(--gys-shadow-sunken);
}

.gys-shelf-slot div::before {
	content: "";
	position: absolute;
	inset: 24px 20px auto;
	height: 38px;
	border: var(--gys-border-main);
	background: #111;
}

.gys-shelf-slot div::after {
	content: "";
	position: absolute;
	left: 42%;
	right: 18%;
	bottom: 10px;
	height: 22px;
	border: var(--gys-border-main);
	background: #a9a9a9;
}

.gys-shelf-slot span {
	display: block;
	width: 86%;
	background: #9b9b9b;
	box-shadow: inset 1px 1px 0 #fff;
}

.gys-shelf-slot span:last-child {
	width: 56%;
	background: #b5b5b5;
}

.gys-archive-terminal,
.gys-system-status {
	padding: 0;
	background: var(--gys-snes-plastic-gray);
}

.gys-archive-terminal h2,
.gys-system-status h2 {
	margin: 0;
	padding: 10px 12px;
	border-bottom: var(--gys-border-main);
	background: var(--gys-label-blue);
	color: var(--color-text-inverse);
	font-family: var(--font-pixel);
	font-size: 0.72rem;
	line-height: 1.35;
	text-transform: uppercase;
}

.gys-terminal-stack {
	display: grid;
	gap: 0;
	padding: 10px;
}

.gys-terminal-stack a {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	gap: 10px;
	min-height: 82px;
	padding: 9px;
	border: var(--gys-border-main);
	border-bottom: 0;
	background: var(--gys-snes-panel-gray);
	box-shadow: var(--gys-shadow-panel);
}

.gys-terminal-stack a:last-child {
	border-bottom: var(--gys-border-main);
}

.gys-terminal-stack span {
	background:
		linear-gradient(135deg, #949494 0 50%, #cfcfcf 50%);
	border: var(--gys-border-main);
	box-shadow: var(--gys-shadow-sunken);
}

.gys-terminal-stack b {
	display: block;
	align-self: start;
	height: 42px;
	background:
		linear-gradient(180deg, #777 0 8px, transparent 8px 14px, #aaa 14px 22px, transparent 22px 28px, #aaa 28px);
}

.gys-system-status {
	background: var(--gys-black-ink);
	color: var(--color-text-inverse);
	box-shadow: var(--gys-shadow-pixel);
	overflow: hidden;
}

.gys-system-status h2 {
	background: var(--gys-black-ink);
	color: #40c463;
	box-shadow: none;
}

.gys-system-status dl {
	margin: 0;
	padding: 10px 12px 12px;
	border-left: 0;
	box-shadow: none;
}

.gys-system-status div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid #777;
	font-family: var(--font-pixel);
	font-size: 0.58rem;
}

.gys-system-status div:last-child {
	border-bottom: 0;
}

.gys-system-status dt {
	color: #cfcfcf;
}

.gys-system-status dd {
	margin: 0;
	color: #40c463;
}

@media (max-width: 1100px) {
	.gys-home-console {
		grid-template-columns: 1fr;
	}

	.gys-home-brand,
	.gys-home-nav a {
		border-right: 0;
		border-bottom: var(--gys-border-main);
	}

	.gys-home-columns {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 760px) {
	.gys-home-blueprint {
		width: min(100% - 12px, 1180px);
	}

	.gys-featured-row,
	.gys-filter-grid,
	.gys-cartridge-shelf {
		grid-template-columns: 1fr 1fr;
	}

	.gys-home-sync {
		grid-template-columns: 1fr;
		gap: 4px;
		padding: 10px 16px;
	}

	.gys-home-sync span {
		width: 100%;
		min-height: 28px;
		white-space: normal;
	}

	.gys-home-sync span:nth-child(2),
	.gys-home-sync span:nth-child(4),
	.gys-home-sync span:nth-child(6) {
		display: none;
	}

	.gys-home-sync-orders {
		padding-right: 0;
		padding-left: 0;
	}

	.gys-home-sync-lights {
		position: static;
		margin-left: auto;
	}

	.gys-home-seo-intro__body {
		grid-template-columns: 1fr;
		font-size: 0.68rem;
		line-height: 1.6;
	}

	.gys-home-faq__grid {
		grid-template-columns: 1fr;
	}

	.gys-game-search {
		grid-template-columns: 1fr;
	}

	.gys-game-search__label,
	.gys-game-search__hint {
		min-height: 24px;
	}

	.shop-main .shop-game-search {
		grid-template-columns: 1fr;
	}

	.gys-page-nav {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.gys-page-nav__label {
		border-right: 0;
		border-bottom: 3px solid #000000;
	}

	.gys-page-nav__links a {
		flex: 1 1 50%;
		justify-content: center;
		min-height: 36px;
		text-align: center;
	}

	.gys-home-wordmark strong {
		font-size: 1.08rem;
	}

	.gys-home-wordmark,
	.gys-home-wordmark strong,
	.gys-home-wordmark small {
		min-width: 0;
		max-width: 100%;
		white-space: normal;
		overflow-wrap: anywhere;
	}
}

.section-title-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	border: 2px solid #000000;
	border-bottom: 0;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0) 60%),
		#e0e0e0;
	padding: var(--space-2) var(--space-3);
	box-shadow: inset 2px 2px 0 rgba(255, 255, 255, 0.75);
}

.section-title-row::after {
	content: "";
	flex: 1 1 auto;
	height: 2px;
	background: #e60012;
	order: 1;
}

.section-title-row h2 {
	order: 0;
	margin: 0;
	font-family: var(--font-pixel);
	font-size: 0.95rem;
	line-height: 1.45;
}

.section-title-row a {
	order: 2;
	color: #005ca8;
	font-family: var(--font-pixel);
	font-size: 0.58rem;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.home-cartridge-shelf,
.home-archive-feed {
	display: grid;
	gap: var(--space-4);
}

.home-cartridge-shelf > h2,
.home-archive-feed > h2 {
	display: inline-flex;
	width: fit-content;
	margin: 0;
	padding: var(--space-3) var(--space-4);
	border: 4px solid #000000;
	background: var(--color-panel-dark);
	color: var(--color-text-inverse);
	font-size: clamp(1rem, 1.8vw, 1.25rem);
	line-height: 1.45;
	text-shadow: 2px 2px 0 #000000;
}

.snes-header {
	position: sticky;
	top: 0;
	z-index: var(--z-header);
	border-bottom: var(--border-hard-thick);
	background: var(--color-console-shell);
	color: var(--color-text-inverse);
}

.gys-console-header {
	position: sticky;
	top: 0;
	z-index: var(--z-header);
	background: #000000;
	color: #ffffff;
	box-shadow: 0 4px 0 #000000;
}

.gys-console-shell {
	display: grid;
	grid-template-columns: 304px minmax(0, 1fr) 330px;
	align-items: center;
	width: min(100%, 1440px);
	margin-inline: auto;
	border-inline: 4px solid #000000;
	background: #111111;
}

.gys-console-pad,
.gys-console-title-panel,
.gys-console-slot {
	min-height: 104px;
	border: 2px solid #000000;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 44%),
		linear-gradient(90deg, rgba(255, 255, 255, 0.08), rgba(0, 0, 0, 0.2)),
		#242424;
	box-shadow:
		inset 3px 3px 0 rgba(255, 255, 255, 0.12),
		inset -3px -3px 0 rgba(0, 0, 0, 0.55);
}

.gys-console-pad {
	display: grid;
	place-items: center;
	padding: var(--space-2);
}

.gys-controller-svg {
	width: 260px;
	max-width: 100%;
	height: auto;
	filter: drop-shadow(3px 3px 0 #000000);
}

.gys-console-title-panel {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: var(--space-6);
	padding: var(--space-3) var(--space-6);
}

.gys-console-power {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	font-family: var(--font-pixel);
	font-size: 0.72rem;
	color: #ffffff;
}

.gys-power-led {
	width: 14px;
	height: 14px;
	border: 2px solid #000000;
	background: #e60012;
	box-shadow: 0 0 0 2px #4a0006, 0 0 12px #e60012;
	animation: gys-power-breathe 1.35s steps(2, end) infinite;
}

.gys-console-title {
	display: grid;
	justify-items: center;
	color: #ffffff;
	text-decoration: none;
}

.gys-console-title span {
	font-family: var(--font-pixel);
	font-size: clamp(1.65rem, 4vw, 3.2rem);
	line-height: 1.05;
	text-transform: uppercase;
	text-shadow: 4px 4px 0 #000000;
}

.gys-console-title strong {
	margin-top: var(--space-1);
	color: #e60012;
	font-family: var(--font-pixel);
	font-size: clamp(0.9rem, 1.8vw, 1.35rem);
	letter-spacing: 0;
	text-shadow: 2px 2px 0 #000000;
}

.gys-console-slot {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 76px;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-2);
	background:
		linear-gradient(180deg, #cfcfcf, #9c9c9c),
		#bdbdbd;
	color: #111111;
}

.gys-console-slot span {
	display: grid;
	place-items: center;
	height: 72px;
	border: 2px solid #000000;
	background: #d7d7d7;
	box-shadow:
		inset 3px 3px 0 rgba(255, 255, 255, 0.58),
		inset -3px -3px 0 rgba(0, 0, 0, 0.22);
	font-family: var(--font-pixel);
	font-size: 0.68rem;
	line-height: 1.6;
	text-align: center;
}

.gys-console-slot i {
	display: block;
	height: 72px;
	border: 2px solid #000000;
	background:
		linear-gradient(180deg, #d3d3d3, #8d8d8d);
	box-shadow:
		inset 10px 0 0 rgba(255, 255, 255, 0.25),
		inset -10px 0 0 rgba(0, 0, 0, 0.24);
}

.gys-console-slot i::after {
	content: "";
	display: block;
	width: 52px;
	height: 10px;
	margin: 42px auto 0;
	border: 2px solid #000000;
	background: linear-gradient(90deg, #4b2088, #8e5ae8, #4b2088);
}

@keyframes gys-power-breathe {
	0%,
	100% {
		opacity: 1;
		box-shadow: 0 0 0 2px #4a0006, 0 0 14px #e60012;
	}

	50% {
		opacity: 0.55;
		box-shadow: 0 0 0 2px #4a0006, 0 0 4px #e60012;
	}
}

.gys-console-nav {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: var(--space-3);
	width: min(100%, 1440px);
	min-height: 72px;
	margin-inline: auto;
	padding: 0 var(--space-4);
	border: 4px solid #000000;
	border-top: 0;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%),
		#050505;
}

.gys-console-nav__menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gys-console-nav__brand {
	display: inline-flex;
	align-items: center;
	gap: var(--space-3);
	min-width: 190px;
	color: #ffffff;
	text-decoration: none;
}

.gys-console-nav__brand strong,
.gys-console-nav__brand small {
	display: block;
	font-family: var(--font-pixel);
	line-height: 1.2;
	text-transform: uppercase;
}

.gys-console-nav__brand strong {
	font-size: 0.78rem;
}

.gys-console-nav__brand small {
	color: #20bb48;
	font-size: 0.55rem;
}

.gys-nav-flower {
	width: 38px;
	height: 38px;
	border: 0;
	background: url("../images/home-reference/brand-flower.png") center / contain no-repeat;
	box-shadow: none;
}

.gys-console-nav__actions {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	color: #ffffff;
}

.gys-console-nav__actions a {
	position: relative;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	color: #ffffff;
	text-decoration: none;
}

.gys-console-nav__actions svg {
	width: 28px;
	height: 28px;
	filter: drop-shadow(2px 2px 0 #000000);
}

.gys-cart-icon span {
	position: absolute;
	top: 2px;
	right: 0;
	display: grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	border: 2px solid #000000;
	background: #e60012;
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.55rem;
	line-height: 1;
}

.gys-console-nav__menu a {
	display: inline-flex;
	min-height: 72px;
	align-items: center;
	padding: var(--space-3) clamp(0.75rem, 1.7vw, 1.8rem);
	border-right: 0;
	border-bottom: 4px solid transparent;
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.72rem;
	line-height: 1.3;
	text-decoration: none;
	text-transform: uppercase;
}

.gys-console-nav__menu a:hover,
.gys-console-nav__menu .current-menu-item > a {
	background: transparent;
	border-bottom-color: #e60012;
	color: #ffffff;
}

.snes-header__inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--space-5);
	width: min(100% - (var(--gutter-desktop) * 2), var(--site-max-width));
	margin-inline: auto;
	padding-block: var(--space-4);
}

.snes-header__brand {
	display: inline-flex;
	align-items: center;
	gap: var(--space-3);
	min-width: 0;
}

.snes-header__logo {
	color: var(--color-text-inverse);
	font-family: var(--font-pixel);
	font-size: var(--font-size-xs);
	line-height: 1.5;
	text-decoration: none;
	text-transform: uppercase;
}

.snes-header__power {
	width: 14px;
	height: 14px;
	border: var(--border-hard);
	background: var(--color-red);
	box-shadow: 0 0 0 2px var(--color-panel-dark);
}

.snes-header__nav {
	min-width: 0;
}

.snes-header__menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.snes-header__menu a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: var(--space-2) var(--space-3);
	border: var(--border-hard);
	background: var(--color-panel);
	box-shadow: var(--shadow-pixel-small);
	color: var(--color-text);
	font-family: var(--font-pixel);
	font-size: 0.625rem;
	line-height: 1.3;
	text-decoration: none;
	text-transform: uppercase;
}

.snes-header__menu a:hover {
	background: var(--color-yellow);
	color: var(--color-black);
}

.snes-header__buttons {
	display: grid;
	grid-template-columns: repeat(2, 18px);
	gap: var(--space-2);
}

.snes-header__button {
	width: 18px;
	height: 18px;
	border: var(--border-hard);
	box-shadow: var(--shadow-pixel-small);
}

.snes-header__button--red {
	background: var(--color-red);
}

.snes-header__button--blue {
	background: var(--color-blue);
}

.snes-header__button--yellow {
	background: var(--color-yellow);
}

.snes-header__button--green {
	background: var(--color-green);
}

.gys-feature-strip,
.gys-newsletter,
.gys-site-footer {
	width: min(100% - (var(--gutter-desktop) * 2), var(--site-max-width));
	margin-inline: auto;
}

.gys-feature-strip {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin-top: var(--space-6);
	border: 4px solid #000000;
	background: #000000;
}

.gys-feature-strip__item {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	gap: var(--space-2) var(--space-3);
	align-items: center;
	min-height: 92px;
	padding: var(--space-3);
	border-right: 2px solid #777777;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.65), rgba(255, 255, 255, 0) 48%),
		#e0e0e0;
	box-shadow: inset 2px 2px 0 #ffffff;
}

.gys-feature-strip__item:last-child {
	border-right: 0;
}

.gys-feature-strip__item strong {
	font-family: var(--font-pixel);
	font-size: 0.72rem;
	line-height: 1.35;
}

.gys-feature-strip__item small {
	grid-column: 2;
	font-size: 0.82rem;
	line-height: 1.25;
}

.gys-newsletter {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 0.8fr);
	gap: var(--space-5);
	align-items: center;
	margin-top: var(--space-4);
	padding: var(--space-4);
	border: 4px solid #000000;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 50%),
		#111111;
	color: #ffffff;
}

.gys-newsletter strong {
	font-family: var(--font-pixel);
}

.gys-newsletter p {
	margin: var(--space-1) 0 0;
	color: #d7d7d7;
}

.gys-newsletter__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 160px;
	gap: var(--space-2);
}

.gys-newsletter__form input,
.gys-newsletter__form button {
	min-height: 40px;
	border: 2px solid #000000;
	border-radius: 0 !important;
}

.gys-newsletter__form button {
	background: #e60012;
	box-shadow: 3px 3px 0 #000000;
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.68rem;
}

.gys-site-footer {
	margin-top: var(--space-4);
	border: 4px solid #000000;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 40%),
		#111111;
	color: #ffffff;
}

.gys-site-footer__inner {
	display: grid;
	grid-template-columns: minmax(260px, 1.3fr) repeat(3, minmax(140px, 0.7fr)) minmax(190px, 0.9fr);
	gap: var(--space-6);
	padding: var(--space-6);
	border-bottom: 2px solid #000000;
}

.gys-site-footer a {
	color: #d7d7d7;
	text-decoration: none;
}

.gys-site-footer a:hover {
	color: #ffffff;
}

.gys-footer-brand {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: var(--space-3);
	align-content: start;
}

.gys-footer-brand h2 {
	margin: 0;
	color: #ffffff;
	font-size: 1rem;
	line-height: 1.3;
}

.gys-footer-brand strong {
	color: #e60012;
	font-family: var(--font-pixel);
	font-size: 0.72rem;
}

.gys-footer-brand p {
	grid-column: 1 / -1;
	margin: 0;
	color: #d7d7d7;
	font-size: 0.92rem;
}

.gys-footer-column,
.gys-footer-secure {
	display: grid;
	align-content: start;
	gap: var(--space-2);
	border-left: 1px solid #333333;
	padding-left: var(--space-5);
}

.gys-footer-column h3,
.gys-footer-secure h3 {
	margin: 0 0 var(--space-2);
	color: #ffffff;
	font-family: var(--font-pixel);
	font-size: 0.72rem;
}

.gys-card-row,
.gys-social-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

.gys-card-row span,
.gys-social-row span {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	min-height: 32px;
	border: 2px solid #000000;
	background: #efefef;
	color: #111111;
	font-weight: 900;
}

.gys-footer-secure p {
	margin: var(--space-3) 0 0;
	color: #d7d7d7;
	font-family: var(--font-pixel);
	font-size: 0.62rem;
	line-height: 1.7;
}

.gys-footer-powerbar {
	display: grid;
	grid-template-columns: 180px minmax(240px, 1fr) minmax(260px, 0.8fr);
	align-items: center;
	gap: var(--space-4);
	padding: var(--space-3) var(--space-4);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0) 50%),
		#1f1f1f;
}

.gys-footer-powerbar strong {
	justify-self: center;
	padding: var(--space-3) var(--space-8);
	border: 2px solid #000000;
	background: #9c9c9c;
	box-shadow: inset 2px 2px 0 rgba(255, 255, 255, 0.45);
	color: #111111;
	font-family: var(--font-pixel);
	font-size: 0.72rem;
}

.gys-footer-powerbar small {
	justify-self: end;
	color: #d7d7d7;
	font-family: var(--font-mono);
	font-size: 0.78rem;
}

.gys-footer-buttons {
	display: flex;
	gap: var(--space-3);
}

.gys-footer-buttons span {
	width: 24px;
	height: 24px;
	border: 2px solid #000000;
	background: #e60012;
}

.gys-footer-buttons span:nth-child(2) {
	background: #0072b2;
}

.gys-footer-buttons span:nth-child(3) {
	background: #f2a900;
}

.gys-footer-buttons span:nth-child(4) {
	background: #009b48;
}

.system-status__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--space-3);
	margin: 0;
}

.system-status__list div {
	border: var(--border-hard);
	background: var(--color-panel);
	color: var(--color-text);
	padding: var(--space-3);
}

.system-status__list dt {
	font-family: var(--font-pixel);
	font-size: 0.625rem;
	margin-bottom: var(--space-2);
}

.system-status__list dd {
	margin: 0;
	font-weight: 800;
}

/* Keep catalog shelves visually aligned with the homepage cartridge shelf. */
.game-series-main .gys-series-products__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 4px;
	padding: 4px;
	background: #000000;
}

.game-series-main .cartridge-card--catalog {
	grid-template-rows: 118px auto 34px;
	min-height: 234px;
	overflow: hidden;
	border: var(--gys-border-main);
	background: var(--gys-snes-panel-gray);
	box-shadow: var(--gys-shadow-panel);
}

.game-series-main .cartridge-card--catalog .cartridge-card__media {
	height: auto;
	min-height: 0;
	margin: 5px 5px 0;
	border: var(--gys-border-main);
}

.game-series-main .cartridge-card--catalog .cartridge-card__art-placeholder,
.game-series-main .cartridge-card--catalog .cartridge-card__art-placeholder.has-cartridge-image {
	height: 100%;
	min-height: 0;
	background: #111111 !important;
}

.game-series-main .cartridge-card--catalog .cartridge-card__body {
	grid-template-rows: auto auto 20px auto;
	gap: 5px;
	min-width: 0;
	padding: 8px 9px 7px;
}

.game-series-main .cartridge-card--catalog .cartridge-card__title {
	min-height: 20px;
	font-size: 0.64rem;
	line-height: 1.08;
}

.game-series-main .cartridge-card--catalog .cartridge-card__sku {
	font-size: 0.46rem;
	line-height: 1.1;
}

.game-series-main .cartridge-card--catalog .cartridge-card__chips {
	align-items: center;
	height: 20px;
	gap: 4px;
}

.game-series-main .cartridge-card--catalog .cartridge-card__chip {
	min-height: 16px;
	padding: 2px 4px;
	border: 1px solid #000000;
	font-size: 0.34rem;
	line-height: 1;
}

.game-series-main .cartridge-card--catalog .cartridge-card__price {
	margin: 1px 0 0;
	font-size: 0.78rem;
	line-height: 1.1;
	text-shadow: 1px 1px 0 #ffffff;
}

.game-series-main .cartridge-card--catalog .cartridge-card__price--pending {
	font-size: 0.5rem;
}

.game-series-main .cartridge-card--catalog .cartridge-card__actions {
	grid-template-columns: minmax(0, 1fr) 28px;
	gap: 5px;
	padding: 0 5px 5px;
}

.game-series-main .cartridge-card--catalog .cartridge-card__add-to-cart,
.game-series-main .cartridge-card--catalog .cartridge-card__wishlist {
	min-height: 29px;
	box-shadow: 2px 2px 0 #000000;
	font-size: 0.4rem;
}

.game-series-main .cartridge-card--catalog .cartridge-card__add-to-cart {
	gap: 5px;
	padding: 0 7px;
}

.game-series-main .cartridge-card--catalog .cartridge-card__add-to-cart span {
	width: 11px;
	height: 9px;
	border-width: 2px;
	border-top: 0;
}

.game-series-main .cartridge-card--catalog .cartridge-card__add-to-cart span::before {
	left: -4px;
	top: -5px;
	width: 8px;
	height: 2px;
}

.game-series-main .cartridge-card--catalog .cartridge-card__add-to-cart span::after {
	left: 0;
	bottom: -6px;
	width: 3px;
	height: 3px;
	box-shadow: 8px 0 0 #ffffff;
}

.game-series-main .cartridge-card--catalog .cartridge-card__wishlist {
	width: 28px;
	font-size: 0.82rem;
}

.gys-custom-build-main {
	display: block;
	margin-block: 14px 18px;
}

.gys-custom-build {
	padding: 12px;
	border: var(--gys-border-main, 2px solid #000000);
	background: var(--gys-gray-panel, #dedede);
	box-shadow: var(--gys-shadow-raised, inset 2px 2px 0 #ffffff, inset -3px -3px 0 #777777, 4px 4px 0 #000000);
}

.gys-custom-build--missing {
	min-height: 240px;
}

.gys-custom-build--missing p {
	margin: 18px 0;
	font-size: 0.78rem;
	line-height: 1.6;
}

.gys-custom-build__notice {
	display: flex;
	gap: 12px;
	align-items: center;
	margin: 10px 0;
	padding: 10px 12px;
	border: var(--gys-border-main, 2px solid #000000);
	box-shadow: 3px 3px 0 #000000;
	font-size: 0.72rem;
	line-height: 1.4;
}

.gys-custom-build__notice--success {
	background: #e8f5df;
	color: #1f7f35;
}

.gys-custom-build__notice--error {
	background: #fff1b8;
	color: #d71920;
}

.gys-custom-build__grid {
	display: grid;
	grid-template-columns: minmax(260px, 1.08fr) minmax(260px, 0.9fr) minmax(250px, 0.82fr);
	gap: 12px;
	align-items: stretch;
	margin-top: 10px;
}

.gys-custom-preview,
.gys-custom-console,
.gys-custom-request-panel,
.gys-custom-form__section {
	border: var(--gys-border-main, 2px solid #000000);
	border-radius: 0;
	box-shadow: 4px 4px 0 #000000;
}

.gys-custom-preview {
	position: relative;
	display: grid;
	grid-template-rows: auto minmax(260px, 1fr) auto auto auto;
	padding: 14px;
	background: #f3f0ea;
}

.gys-custom-preview__status,
.gys-custom-console__loaded {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 14px;
	border: var(--gys-border-main, 2px solid #000000);
	background: var(--gys-red, #d71920);
	color: #ffffff;
	box-shadow: 3px 3px 0 #000000;
	font-size: 0.66rem;
	line-height: 1;
	text-align: center;
}

.gys-custom-preview__status {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	max-width: calc(100% - 28px);
}

.gys-custom-preview__media {
	display: grid;
	place-items: center;
	min-height: 260px;
	margin-top: 28px;
	padding: 20px;
	border: var(--gys-border-main, 2px solid #000000);
	background: linear-gradient(135deg, #f8f7f3 0%, #f8f7f3 58%, #d8d8d8 58%, #d8d8d8 100%);
	overflow: hidden;
}

.gys-custom-preview__media img {
	display: block;
	width: 100%;
	max-width: 330px;
	max-height: 250px;
	object-fit: contain;
	filter: drop-shadow(8px 8px 0 rgba(0, 0, 0, 0.18));
}

.gys-custom-preview__fallback {
	display: grid;
	place-items: center;
	width: 100%;
	min-height: 220px;
	padding: 16px;
	border: var(--gys-border-main, 2px solid #000000);
	background: #111111;
	color: #ffffff;
	font-size: 0.72rem;
	line-height: 1.4;
	text-align: center;
}

.gys-custom-preview__caption {
	display: grid;
	gap: 2px;
	margin-top: 8px;
	color: #777777;
	font-size: 0.48rem;
	line-height: 1.2;
}

.gys-custom-preview__price {
	position: relative;
	display: inline-grid;
	grid-template-columns: auto auto;
	gap: 8px;
	align-items: baseline;
	justify-self: start;
	margin-top: 8px;
	color: #06431c;
	font-size: 0.86rem;
	line-height: 1;
	text-shadow: 1px 1px 0 #ffffff;
}

.gys-custom-preview__price::before,
.gys-custom-preview__price::after {
	content: "";
	position: absolute;
	left: -6px;
	right: -6px;
	top: 50%;
	height: 4px;
	background: rgba(215, 25, 32, 0.38);
	transform: rotate(-11deg);
	pointer-events: none;
}

.gys-custom-preview__price::after {
	transform: rotate(11deg);
}

.gys-custom-preview__price strong {
	position: relative;
	z-index: 1;
	font-size: 1.05rem;
}

.gys-custom-preview__shop-price {
	margin-top: 8px;
	padding: 8px 10px;
	border: var(--gys-border-main, 2px solid #000000);
	background: #000000;
	color: #f6c927;
	box-shadow: 3px 3px 0 #000000;
	font-size: 0.58rem;
	line-height: 1.2;
}

.gys-custom-preview__shop-price strong {
	color: #ffffff;
}

.gys-custom-console {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 18px 16px;
	background: #e8e8e8;
}

.gys-custom-console__loaded {
	width: 100%;
	margin-bottom: 16px;
}

.gys-custom-console__title {
	margin: 0;
	font-family: "Press Start 2P", monospace;
	font-size: clamp(1.12rem, 2.8vw, 2.05rem);
	line-height: 1.14;
	letter-spacing: 0;
	text-wrap: balance;
}

.gys-custom-console__subtitle {
	margin: 10px 0 0;
	font-size: 0.72rem;
	line-height: 1.2;
}

.gys-custom-console__rule {
	height: 0;
	margin: 14px 0;
	border-top: 2px dashed #111111;
}

.gys-custom-console__chips,
.gys-custom-request-panel__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.gys-custom-console__chips .snes-chip,
.gys-custom-request-panel__chips .snes-chip {
	min-height: 32px;
	padding: 7px 12px;
	font-size: 0.72rem;
}

.gys-custom-included {
	display: grid;
	gap: 10px;
	margin-top: 16px;
	padding: 12px;
	border: var(--gys-border-main, 2px solid #000000);
	background: #efefef;
}

.gys-custom-included div {
	display: grid;
	grid-template-columns: 26px 1fr;
	column-gap: 10px;
	align-items: center;
}

.gys-custom-included b {
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border: var(--gys-border-main, 2px solid #000000);
	background: #2d873a;
	color: #ffffff;
	line-height: 1;
}

.gys-custom-included div + div b {
	background: #d71920;
}

.gys-custom-included strong {
	color: #2d873a;
	font-size: 0.62rem;
}

.gys-custom-included div + div strong {
	color: #d71920;
}

.gys-custom-included span {
	grid-column: 2;
	font-size: 0.58rem;
	line-height: 1.35;
}

.gys-custom-request-panel {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 14px;
	background: #151515;
	color: #ffffff;
}

.gys-custom-request-panel h2 {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	margin: 0;
	color: #ffffff;
	font-size: 0.72rem;
	line-height: 1.25;
}

.gys-custom-request-panel h2 span,
.gys-custom-form__section h2 span {
	flex: 0 0 7px;
	width: 7px;
	height: 7px;
	border: 1px solid #000000;
	background: var(--gys-red, #d71920);
}

.gys-custom-request-panel h2 span {
	margin-top: 3px;
}

.gys-custom-request-panel__ready {
	display: grid;
	place-items: center;
	min-height: 54px;
	padding: 10px;
	background: #050505;
	color: #2fd563;
	font-size: 0.72rem;
	line-height: 1.25;
	text-align: center;
	text-shadow: 0 0 5px rgba(47, 213, 99, 0.55);
}

.gys-custom-request-panel__specs {
	display: grid;
	margin: 0;
	border: var(--gys-border-main, 2px solid #000000);
}

.gys-custom-request-panel__specs div {
	display: grid;
	grid-template-columns: 42% 1fr;
	min-height: 36px;
	border-bottom: 1px solid #000000;
	background: #e6e6e6;
	color: #111111;
}

.gys-custom-request-panel__specs div:last-child {
	border-bottom: 0;
}

.gys-custom-request-panel__specs dt,
.gys-custom-request-panel__specs dd {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 8px;
	font-size: 0.48rem;
	line-height: 1.25;
}

.gys-custom-request-panel__specs dt {
	border-right: 2px solid #000000;
	background: #d1d1d1;
}

.gys-custom-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 12px;
	margin-top: 16px;
}

.gys-custom-form__section {
	background: #eeeeee;
	overflow: hidden;
}

.gys-custom-form__section h2 {
	display: flex;
	gap: 8px;
	align-items: center;
	margin: 0;
	padding: 9px 12px;
	border-bottom: var(--gys-border-main, 2px solid #000000);
	background: var(--gys-blue, #1e4f9a);
	color: #ffffff;
	font-size: 0.66rem;
	line-height: 1;
}

.gys-custom-form__section--file {
	grid-column: 1 / -1;
}

.gys-custom-spec-table {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gys-custom-spec-table div {
	display: grid;
	grid-template-columns: minmax(74px, 0.45fr) minmax(0, 1fr);
	min-height: 38px;
	border-right: 1px solid #000000;
	border-bottom: 1px solid #000000;
}

.gys-custom-spec-table div:nth-child(4n) {
	border-right: 0;
}

.gys-custom-spec-table strong,
.gys-custom-spec-table span {
	display: flex;
	align-items: center;
	padding: 8px;
	font-size: 0.48rem;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.gys-custom-spec-table strong {
	border-right: 1px solid #000000;
	background: #d0d0d0;
}

.gys-custom-form__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	padding: 12px;
}

.gys-custom-form__fields label {
	display: grid;
	gap: 6px;
}

.gys-custom-form__wide {
	grid-column: 1 / -1;
}

.gys-custom-form__fields label > span {
	font-size: 0.52rem;
	line-height: 1;
}

.gys-custom-form input,
.gys-custom-form select,
.gys-custom-form textarea {
	width: 100%;
	min-height: 40px;
	border: var(--gys-border-main, 2px solid #000000);
	border-radius: 0;
	background: #f7f7f7;
	color: #111111;
	box-shadow: inset 2px 2px 0 #ffffff, inset -2px -2px 0 #999999;
	font-family: "Press Start 2P", monospace;
	font-size: 0.5rem;
	line-height: 1.45;
}

.gys-custom-form input,
.gys-custom-form select {
	padding: 0 8px;
}

.gys-custom-form textarea {
	padding: 10px 8px;
	resize: vertical;
}

.gys-custom-form__submit {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: center;
	width: calc(100% - 24px);
	min-height: 50px;
	margin: 0 12px 12px;
	border: var(--gys-border-main, 2px solid #000000);
	border-radius: 0;
	background: var(--gys-red, #d71920);
	color: #ffffff;
	box-shadow: 4px 4px 0 #000000;
	font-family: "Press Start 2P", monospace;
	font-size: 0.62rem;
	line-height: 1;
	cursor: pointer;
}

.gys-custom-form__submit:active {
	transform: translateY(2px);
	box-shadow: 2px 2px 0 #000000;
}

.gys-custom-form__submit span {
	position: relative;
	width: 18px;
	height: 14px;
	border: 3px solid #ffffff;
	border-top: 0;
}

.gys-custom-form__submit span::before {
	content: "";
	position: absolute;
	left: -8px;
	top: -9px;
	width: 13px;
	height: 3px;
	background: #ffffff;
	transform: rotate(14deg);
}

.gys-custom-form__submit span::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -9px;
	width: 4px;
	height: 4px;
	background: #ffffff;
	box-shadow: 13px 0 0 #ffffff;
}

@media (max-width: 900px) {
	.gys-site-main,
	.site-main,
	.content-area,
	.snes-header__inner,
	.gys-site-footer__inner {
		width: min(100% - (var(--gutter-tablet) * 2), var(--site-max-width));
	}

	.game-series-main {
		width: min(100% - 20px, 1180px);
	}

	.game-series-index-main {
		width: min(100% - 20px, 1180px);
	}

	.gys-series-index-header__body {
		grid-template-columns: 1fr;
	}

	.game-series-index-main .game-series-index__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.snes-header__inner {
		grid-template-columns: 1fr auto;
	}

	.snes-header__nav {
		grid-column: 1 / -1;
	}

	.snes-header__menu {
		justify-content: flex-start;
	}

	.system-status__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.code-hero,
	.home-bottom-panels,
	.home-content-grid,
	.product-shell,
	.product-shell__top,
		.product-main .product-shell,
		.product-main .product-hero,
		.article-layout,
		.archive-layout,
		.gys-custom-product-main .gys-custom-request-row,
		.gys-custom-product-main .gys-custom-controls,
		.gys-custom-product-main .gys-custom-contact-grid {
			grid-template-columns: 1fr;
		}

		.gys-custom-product-main .gys-custom-controls label,
		.gys-custom-product-main .gys-custom-contact-grid label {
			grid-template-columns: 120px minmax(0, 1fr);
			border-right: 0;
		}

	.product-main .product-specs-panel__list,
	.product-main .game-archive-lore__grid,
	.product-main .related-cartridge-shelf__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.product-main .product-custom-flow {
		grid-template-columns: 1fr;
	}

	.gys-console-header__top {
		grid-template-columns: 1fr;
	}

	.gys-console-shell {
		grid-template-columns: 1fr;
	}

	.gys-console-title-panel {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}

	.gys-console-slot {
		grid-template-columns: 1fr;
	}

	.gys-console-slot i {
		display: none;
	}

	.gys-console-nav {
		flex-wrap: wrap;
		min-height: 0;
		padding-block: var(--space-2);
	}

	.gys-console-nav__menu a {
		min-height: 42px;
	}

	.gys-feature-strip,
	.gys-newsletter,
	.gys-site-footer__inner,
	.gys-footer-powerbar {
		grid-template-columns: 1fr;
	}

	.gys-footer-powerbar strong,
	.gys-footer-powerbar small {
		justify-self: start;
	}

	.gys-series-hero,
	.gys-series-layout,
	.gys-custom-build__grid,
	.gys-custom-form {
		grid-template-columns: 1fr;
	}

	.gys-custom-form__section--file {
		grid-column: auto;
	}

	.gys-custom-spec-table {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gys-custom-spec-table div:nth-child(4n) {
		border-right: 1px solid #000000;
	}

	.gys-custom-spec-table div:nth-child(2n) {
		border-right: 0;
	}

	.gys-series-products__grid,
	.gys-series-articles__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.gys-site-main,
	.site-main,
	.content-area,
	.snes-header__inner,
	.gys-site-footer__inner {
		width: min(100% - (var(--gutter-mobile) * 2), var(--site-max-width));
	}

	.game-series-main {
		width: min(100% - 16px, 1180px);
	}

	.game-series-index-main {
		width: min(100% - 16px, 1180px);
	}

	.gys-series-index-header__body {
		padding: 10px;
	}

	.gys-series-index-stats,
	.game-series-index-main .game-series-index__grid {
		grid-template-columns: 1fr;
	}

	.snes-header__inner {
		grid-template-columns: 1fr;
	}

	.snes-header__buttons {
		display: none;
	}

	.system-status__list {
		grid-template-columns: 1fr;
	}

	.gys-series-hero {
		padding: 10px;
	}

	.gys-series-hero__stats,
		.product-main .product-specs-panel__list,
		.product-main .game-archive-lore__grid,
		.product-main .related-cartridge-shelf__grid,
		.gys-series-products__grid,
		.gys-series-articles__grid,
	.gys-custom-spec-table,
	.gys-custom-form__fields {
		grid-template-columns: 1fr;
	}

	.gys-custom-product-main .gys-custom-controls label,
	.gys-custom-product-main .gys-custom-contact-grid label {
		grid-template-columns: 1fr;
	}

	.gys-custom-product-main .gys-custom-contact-grid label.is-wide {
		grid-template-columns: 1fr;
	}

	.gys-custom-product-main .gys-custom-controls label > span,
	.gys-custom-product-main .gys-custom-contact-grid label > span {
		min-height: 32px;
		border-right: 0;
		border-bottom: var(--gys-border-main);
	}

	.gys-custom-build {
		padding: 8px;
	}

	.gys-custom-preview__media {
		min-height: 220px;
	}

	.gys-custom-console__title {
		font-size: 1.08rem;
	}

	.product-main .product-hero {
		grid-template-columns: 1fr;
	}

	.product-main .purchase-panel form.cart {
		grid-template-columns: 1fr;
	}

	.gys-series-section-heading {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Long custom-request CTAs: keep the catalog cards crisp after text expansion. */
.shop-main .cartridge-card__add-to-cart.is-custom-request,
.game-series-main .cartridge-card__add-to-cart.is-custom-request,
.game-series-main .cartridge-card--catalog .cartridge-card__add-to-cart.is-custom-request,
.gys-home-cartridge-shelf .cartridge-card__add-to-cart.is-custom-request,
.gys-home-featured .cartridge-card__add-to-cart.is-custom-request {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	min-height: 40px;
	padding: 0 10px;
	overflow: hidden;
	font-size: 0.4rem;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	white-space: nowrap;
	text-wrap: nowrap;
}

.shop-main .cartridge-card__add-to-cart.is-custom-request span,
.game-series-main .cartridge-card__add-to-cart.is-custom-request span,
.game-series-main .cartridge-card--catalog .cartridge-card__add-to-cart.is-custom-request span,
.gys-home-cartridge-shelf .cartridge-card__add-to-cart.is-custom-request span,
.gys-home-featured .cartridge-card__add-to-cart.is-custom-request span {
	display: none !important;
}

.shop-main .cartridge-card__add-to-cart.is-disabled,
.game-series-main .cartridge-card__add-to-cart.is-disabled,
.game-series-main .cartridge-card--catalog .cartridge-card__add-to-cart.is-disabled,
.gys-home-cartridge-shelf .cartridge-card__add-to-cart.is-disabled,
.gys-home-featured .cartridge-card__add-to-cart.is-disabled {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 8px;
	font-size: 0.38rem;
	line-height: 1;
	white-space: nowrap;
	text-wrap: nowrap;
}

/* Final visual pass for long custom-build CTAs in product grids. */
.gys-home-cartridge-shelf .cartridge-card__price--custom-build,
.shop-main .cartridge-card__price--custom-build,
.game-series-main .cartridge-card--catalog .cartridge-card__price--custom-build {
	display: grid;
	gap: 2px;
	width: 100%;
	margin: 2px 0 0;
	padding: 0;
	color: #063c14 !important;
	font-family: var(--font-mono) !important;
	font-size: 0.58rem !important;
	font-weight: 900;
	line-height: 1.15 !important;
	text-transform: none;
	white-space: normal !important;
	overflow-wrap: normal;
	text-shadow: 1px 1px 0 #ffffff !important;
}

.gys-home-cartridge-shelf .cartridge-card__actions,
.shop-main .cartridge-card__actions,
.game-series-main .cartridge-card--catalog .cartridge-card__actions {
	padding: 0 11px 12px;
}

.gys-home-cartridge-shelf .cartridge-card__add-to-cart.is-custom-request,
.shop-main .cartridge-card__add-to-cart.is-custom-request,
.game-series-main .cartridge-card--catalog .cartridge-card__add-to-cart.is-custom-request {
	min-height: 34px;
	width: 100%;
	padding: 0 12px;
	border: var(--gys-border-main);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0 26%, rgba(255, 255, 255, 0) 27%), var(--gys-label-red);
	color: #ffffff;
	font-family: var(--font-pixel) !important;
	font-size: 0.34rem !important;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	text-shadow: 1px 1px 0 #000000;
	box-shadow: 3px 3px 0 #000000;
	white-space: nowrap;
	text-transform: uppercase;
}

.gys-home-cartridge-shelf .cartridge-card__add-to-cart.is-custom-request span,
.shop-main .cartridge-card__add-to-cart.is-custom-request span,
.game-series-main .cartridge-card--catalog .cartridge-card__add-to-cart.is-custom-request span {
	display: none !important;
}

.gys-home-cartridge-shelf .cartridge-card__add-to-cart.is-disabled,
.shop-main .cartridge-card__add-to-cart.is-disabled,
.game-series-main .cartridge-card--catalog .cartridge-card__add-to-cart.is-disabled {
	min-height: 34px;
	width: 100%;
	padding: 0 12px;
	border: var(--gys-border-main);
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0 26%, rgba(255, 255, 255, 0) 27%), #8e8e8e !important;
	color: #ffffff !important;
	font-size: 0.34rem !important;
	line-height: 1;
	text-shadow: 1px 1px 0 #3a3a3a;
	box-shadow: 3px 3px 0 #555555;
	white-space: nowrap;
}

.gys-home-cartridge-shelf .cartridge-card__custom-note,
.shop-main .cartridge-card__custom-note,
.game-series-main .cartridge-card--catalog .cartridge-card__custom-note {
	min-height: 18px;
	margin-top: 0;
	font-size: 0.32rem;
	line-height: 1.25;
	-webkit-line-clamp: 2;
}

/* Final CTA bottom spacing override. */
.gys-home-cartridge-shelf .cartridge-card__actions,
.shop-main .cartridge-card__actions,
.game-series-main .cartridge-card--catalog .cartridge-card__actions {
	padding-bottom: 18px;
}

/* Real bottom breathing room: the CTA row itself must be taller, not just padded. */
.gys-home-cartridge-shelf .cartridge-card,
.game-series-main .cartridge-card--catalog {
	grid-template-rows: 118px auto 52px;
	min-height: 252px;
}

.shop-main .cartridge-card__actions,
.gys-wishlist-main .cartridge-card__actions {
	grid-template-columns: minmax(0, 1fr) 36px;
	gap: 8px;
}
