.gw-catalog-entity {
	padding-block: var(--space-8) var(--space-9);
}

.gw-breadcrumb {
	margin-bottom: var(--space-6);
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
}

.gw-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.gw-breadcrumb__item {
	display: flex;
	align-items: center;
	gap: var(--space-2);
}

.gw-breadcrumb__item:not(:last-child)::after {
	color: var(--text-faint);
	content: "/";
}

.gw-breadcrumb a {
	color: var(--text-muted);
	text-decoration: none;
}

.gw-breadcrumb a:hover {
	color: var(--accent);
}

.gw-breadcrumb [aria-current="page"] {
	color: var(--text-body);
}

.gw-catalog-entity__header {
	padding: var(--space-5) 0 var(--space-7);
	border-bottom: 1px solid var(--border-hairline);
}

.gw-catalog-entity__header .gw-overline {
	margin-bottom: var(--space-4);
}

.gw-catalog-entity__header .gw-h1,
.gw-catalog-entity__header .gw-lede {
	margin-block: 0;
}

.gw-catalog-entity__header .gw-lede {
	max-width: 56ch;
	margin-top: var(--space-5);
}

.gw-provider-profile .gw-lede {
	max-width: var(--measure-lede);
}

.gw-provider-profile__content {
	max-width: var(--measure-prose);
}

.gw-catalog-entity__facts {
	margin-top: var(--space-7);
}

.gw-catalog-entity__facts-title {
	margin: 0 0 var(--space-4);
	color: var(--text-faint);
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
}

.gw-catalog-entity__fact-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	border-top: 1px solid var(--border-hairline);
}

.gw-catalog-entity__fact {
	padding: var(--space-4) 0;
	border-bottom: 1px solid var(--border-hairline);
}

.gw-catalog-entity__fact:nth-child(odd) {
	padding-right: var(--space-5);
}

.gw-catalog-entity__fact:nth-child(even) {
	padding-left: var(--space-5);
}

.gw-catalog-entity__fact dt {
	color: var(--text-faint);
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
}

.gw-catalog-entity__fact dd {
	margin: var(--space-1) 0 0;
	color: var(--text-strong);
}

.gw-catalog-entity__fact a,
.gw-catalog-entity__relations a {
	color: var(--accent);
	text-underline-offset: 3px;
}

.gw-catalog-entity__fact a:hover,
.gw-catalog-entity__relations a:hover {
	color: var(--accent-hover);
}

.gw-catalog-entity__content {
	margin-top: var(--space-8);
}

.gw-catalog-entity__content section + section {
	margin-top: var(--space-9);
}

.gw-catalog-entity__content h2,
.gw-catalog-entity__relations .gw-h2 {
	margin: 0 0 var(--space-4);
	font-size: var(--display-m);
}

.gw-catalog-entity__relations {
	margin-top: var(--space-9);
	padding-top: var(--space-8);
	border-top: 1px solid var(--border-hairline);
}

.gw-catalog-entity__relations > p {
	max-width: var(--measure-prose);
	margin: 0 0 var(--space-5);
}

.gw-catalog-entity__relation-list {
	display: grid;
	gap: var(--space-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.gw-catalog-entity__relation-list a {
	display: block;
	padding: var(--space-4) var(--space-5);
	border: 1px solid var(--border-hairline);
	border-radius: var(--radius-md);
	background: var(--surface-card);
	color: var(--text-strong);
	font-weight: var(--weight-medium);
	text-decoration: none;
}

.gw-catalog-entity__relation-list a:hover {
	border-color: var(--border-accent);
	color: var(--accent);
}

.gw-catalog-index {
	padding-block: var(--space-8) var(--space-9);
}

.gw-catalog-index__header {
	padding: var(--space-5) 0 var(--space-7);
	border-bottom: 1px solid var(--border-hairline);
}

.gw-catalog-index__header .gw-overline {
	margin-bottom: var(--space-4);
}

.gw-catalog-index__header .gw-h1,
.gw-catalog-index__header .gw-lede {
	margin-block: 0;
}

.gw-catalog-index__header .gw-lede {
	max-width: 62ch;
	margin-top: var(--space-5);
}

.gw-catalog-index__listing {
	margin-top: var(--space-8);
}

.gw-catalog-index--provider .gw-catalog-index__header .gw-lede {
	max-width: var(--measure-lede);
}

.gw-catalog-index--provider .gw-catalog-index__content {
	max-width: var(--measure-prose);
}

.gw-catalog-index__listing-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
	margin-bottom: var(--space-5);
}

.gw-catalog-index__listing-header .gw-h2,
.gw-catalog-index__count {
	margin: 0;
}

.gw-catalog-index__count,
.gw-catalog-card__type,
.gw-catalog-card__relation dt {
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
}

.gw-catalog-index__count {
	color: var(--text-muted);
}

.gw-catalog-index__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-5);
	margin: 0;
	padding: 0;
	list-style: none;
}

.gw-catalog-pagination {
	margin-top: var(--space-7);
}

.gw-catalog-pagination__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.gw-catalog-pagination__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.5rem;
	padding-inline: var(--space-3);
	border: 1px solid var(--border-hairline);
	border-radius: var(--radius-sm);
	background: var(--surface-card);
	color: var(--text-body);
	text-decoration: none;
}

.gw-catalog-pagination__link:hover {
	border-color: var(--accent);
	color: var(--accent);
}

.gw-catalog-pagination__link:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}

.gw-catalog-pagination__link[aria-current="page"] {
	border-color: var(--accent);
	background: var(--accent);
	color: var(--bg-page);
}

.gw-catalog-index__item {
	display: flex;
}

.gw-catalog-index__item[hidden] {
	display: none;
}

.gw-catalog-card {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: var(--space-5);
	border: 1px solid var(--border-hairline);
	border-radius: var(--radius-md);
	background: var(--surface-card);
}

.gw-catalog-card__media {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	margin: 0 0 var(--space-5);
	overflow: hidden;
	border: 1px solid var(--border-hairline);
	border-radius: var(--radius-sm);
	background: var(--bg-inset);
}

.gw-catalog-card__media-link,
.gw-catalog-card__media-link > picture {
	display: block;
	width: 100%;
	height: 100%;
}

.gw-catalog-card__media-link {
	border-radius: inherit;
}

.gw-catalog-card__media-link:focus-visible {
	box-shadow: var(--focus-ring-shadow);
}

.gw-catalog-card__media-link img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gw-catalog-card__type {
	margin: 0 0 var(--space-3);
	color: var(--accent);
}

.gw-catalog-card__title {
	min-width: 0;
	margin: 0;
	font-size: clamp(1.25rem, 1.05rem + 0.75vw, var(--display-m));
	line-height: var(--leading-tight);
	overflow-wrap: anywhere;
}

.gw-catalog-card__title a {
	overflow-wrap: anywhere;
	color: var(--text-strong);
	text-decoration-thickness: 1px;
	text-decoration-color: transparent;
	text-underline-offset: 4px;
}

.gw-catalog-card__title a:hover {
	color: var(--accent);
	text-decoration-color: currentcolor;
}

.gw-catalog-card__description {
	margin: var(--space-4) 0 0;
	color: var(--text-muted);
}

.gw-catalog-card__relations {
	display: grid;
	gap: var(--space-3);
	margin: auto 0 0;
	padding-top: var(--space-5);
}

.gw-catalog-card__relation {
	padding-top: var(--space-3);
	border-top: 1px solid var(--border-hairline);
}

.gw-catalog-card__relation dt {
	color: var(--text-faint);
}

.gw-catalog-card__relation dd {
	margin: var(--space-1) 0 0;
	color: var(--text-strong);
}

.gw-catalog-card__relation a {
	color: var(--accent);
	text-underline-offset: 3px;
}

.gw-catalog-card__relation a:hover {
	color: var(--accent-hover);
}

.gw-catalog-index__empty {
	padding: var(--space-6);
	border: 1px solid var(--border-hairline);
	border-radius: var(--radius-md);
	background: var(--surface-card);
	color: var(--text-muted);
}

.gw-catalog-index__empty p {
	margin: 0;
}

.gw-catalog-index__content {
	margin-top: var(--space-9);
	padding-top: var(--space-8);
	border-top: 1px solid var(--border-hairline);
}

.gw-catalog-index__content h2 {
	margin-top: 0;
}

.gw-catalog-filters {
	margin-top: var(--space-7);
	padding: var(--space-5);
	border: 1px solid var(--border-hairline);
	border-radius: var(--radius-md);
	background: var(--surface-card);
}

.gw-catalog-filters__title {
	margin: 0 0 var(--space-5);
}

.gw-catalog-filters__groups {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-5);
}

.gw-catalog-filters__group {
	display: grid;
	align-content: start;
	gap: var(--space-2);
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.gw-catalog-filters__group legend,
.gw-catalog-filters__group > label:first-child {
	margin-bottom: var(--space-1);
	color: var(--text-faint);
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
}

.gw-catalog-filters__group label {
	color: var(--text-body);
}

.gw-catalog-filters select,
.gw-catalog-filters__reset {
	min-height: 2.75rem;
	border: 1px solid var(--border-hairline);
	border-radius: var(--radius-sm);
	background: var(--surface-raised);
	color: var(--text-strong);
	font: inherit;
}

.gw-catalog-filters select {
	width: 100%;
	padding-inline: var(--space-3);
}

.gw-catalog-filters__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	margin-top: var(--space-5);
	padding-top: var(--space-4);
	border-top: 1px solid var(--border-hairline);
}

.gw-catalog-filters__count,
.gw-catalog-filters__noscript {
	margin: 0;
	color: var(--text-muted);
}

.gw-catalog-filters__reset {
	padding-inline: var(--space-4);
	cursor: pointer;
}

.gw-catalog-filters__reveal {
	display: block;
	margin: var(--space-6) auto 0;
	padding: var(--space-3) var(--space-5);
	border: 1px solid var(--border-hairline);
	border-radius: var(--radius-sm);
	background: var(--surface-card);
	color: var(--text-strong);
	font: inherit;
	cursor: pointer;
}

.gw-catalog-filters__reveal:hover {
	border-color: var(--accent);
	color: var(--accent);
}

.gw-catalog-filters__reveal[hidden] {
	display: none;
}

.gw-catalog-filters__reset:disabled {
	cursor: default;
	opacity: 0.55;
}

.gw-catalog-filters select:focus-visible,
.gw-catalog-filters input:focus-visible,
.gw-catalog-filters__reset:focus-visible,
.gw-catalog-filters__reveal:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}

.gw-catalog-filters__noscript {
	margin-top: var(--space-5);
}

.gw-game-collection {
	padding-top: var(--space-7);
	border-top: 1px solid var(--border-hairline);
}

.gw-game-collection__header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
	margin-bottom: var(--space-5);
}

.gw-game-collection__header .gw-h2,
.gw-game-collection__description,
.gw-game-collection__count {
	margin: 0;
}

.gw-game-collection__description {
	max-width: var(--measure-prose);
	margin-top: var(--space-2);
	color: var(--text-muted);
}

.gw-game-collection__count {
	color: var(--text-muted);
	font-family: var(--font-mono);
	font-size: var(--text-xs);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
}


.gw-game-profile__availability-list {
	display: flex;
	gap: var(--space-4);
	min-width: 0;
	margin-top: var(--space-5);
	padding-bottom: var(--space-2);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
}

@supports not selector(::-webkit-scrollbar) {
	.gw-game-profile__availability-list {
		scrollbar-width: thin;
		scrollbar-color: var(--text-faint) var(--bg-inset);
	}
}

.gw-game-profile__availability-list::-webkit-scrollbar {
	height: 5px;
}

.gw-game-profile__availability-list::-webkit-scrollbar-track {
	background: var(--bg-inset);
}

.gw-game-profile__availability-list::-webkit-scrollbar-thumb {
	border-radius: var(--radius-sm);
	background: var(--text-faint);
}

.gw-game-profile__availability-list .gw-catalog-entity__fact-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	flex: 0 0 min(20rem, calc(100% - var(--space-6)));
	margin: 0;
	padding: var(--space-5);
	border: 1px solid var(--border-hairline);
	border-radius: var(--radius-sm);
	background: var(--bg-inset);
	scroll-snap-align: start;
}

.gw-game-profile__availability-list .gw-catalog-entity__fact {
	padding-block: var(--space-3);
}

.gw-game-profile__availability-list .gw-catalog-entity__fact:nth-child(odd) {
	padding-right: var(--space-4);
}

.gw-game-profile__availability-list .gw-catalog-entity__fact:nth-child(even) {
	padding-left: var(--space-4);
}

.gw-game-profile__availability-list .gw-catalog-entity__fact:last-child {
	grid-column: 1 / -1;
}

@media (max-width: 760px) {
	.gw-catalog-filters__groups {
		grid-template-columns: 1fr;
	}

	.gw-catalog-filters__footer {
		align-items: flex-start;
		flex-direction: column;
	}

}

@media (max-width: 560px) {
	.gw-catalog-index__listing-header,
	.gw-game-collection__header {
		align-items: flex-start;
		flex-direction: column;
	}

	.gw-catalog-entity__fact-list {
		grid-template-columns: 1fr;
	}

	.gw-catalog-entity__fact:nth-child(n) {
		padding-inline: 0;
	}
}


/* ── Game profile ──────────────────────────────────────────────────── */
.gw-game-profile { padding-block: var(--space-8) var(--space-10); }
.gw-game-profile__header { max-width: var(--content-max); padding: var(--space-5) 0 var(--space-7); }
.gw-game-profile__header .gw-overline { margin-bottom: var(--space-4); }
.gw-game-profile__header .gw-h1 { margin: 0; max-width: 16ch; }
.gw-game-profile__provider-name { display: block; margin-top: var(--space-3); color: var(--text-muted); font-family: var(--font-body); font-size: var(--text-xl); font-weight: var(--weight-regular); line-height: var(--leading-snug); }
.gw-game-profile__header .gw-lede { max-width: var(--measure-lede); margin: var(--space-5) 0 0; }
.gw-game-profile__tags { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: var(--space-5) 0 0; padding: 0; list-style: none; }
.gw-game-profile__hero { display: grid; grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr); gap: var(--space-5); align-items: stretch; }
.gw-game-profile__hero--reference { grid-template-columns: minmax(18rem, 1fr) minmax(0, 2fr); }
.gw-game-profile__media { position: relative; min-height: 23rem; margin: 0; overflow: hidden; border: 1px solid var(--border-hairline); border-radius: var(--radius-md); background: var(--bg-inset); }
.gw-game-profile__media > picture { display: block; width: 100%; height: 100%; }
.gw-game-profile__media > picture img, .gw-game-profile__media > img:not(.gw-game-profile__hero-logo) { display: block; width: 100%; height: 100%; object-fit: cover; }
.gw-game-profile__hero-logo { position: absolute; z-index: 1; top: clamp(1rem, 5%, 2.5rem); left: 50%; width: clamp(9rem, 32%, 20rem); height: auto; transform: translateX(-50%); pointer-events: none; }
.gw-game-profile__summary { padding: var(--space-6); border: 1px solid var(--border-hairline); border-radius: var(--radius-md); background: var(--surface-card); }
.gw-game-profile__summary h2 { margin: 0 0 var(--space-5); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--accent); }
.gw-game-profile__summary-list { margin: 0; }
.gw-game-profile__summary-list > div { padding: var(--space-3) 0; border-top: 1px solid var(--border-hairline); }
.gw-game-profile__summary-list dt, .gw-game-profile__math dt { color: var(--text-faint); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-wide); text-transform: uppercase; }
.gw-game-profile__summary-list dd, .gw-game-profile__math dd { margin: var(--space-1) 0 0; color: var(--text-strong); }
.gw-game-profile__summary a, .gw-game-profile__sources a, .gw-game-profile__provider a { color: var(--link); text-underline-offset: 3px; }
.gw-game-profile__summary > p { margin: 0; }
.gw-game-profile__sections { display: grid; gap: var(--space-6); max-width: var(--content-max); margin-top: var(--space-8); }
.gw-game-profile__section { position: relative; min-width: 0; padding: var(--space-6); }
.gw-game-profile__section--about { padding-inline: 0; }
.gw-game-profile__section-number { margin: 0; color: var(--accent); font-family: var(--font-mono); font-size: var(--text-sm); letter-spacing: var(--tracking-wide); }
.gw-game-profile__section-body { min-width: 0; }
.gw-game-profile__section--surface { border: 1px solid var(--border-hairline); border-radius: var(--radius-md); background: var(--surface-card); }
.gw-game-profile__section-body > .gw-h2, .gw-game-profile__section-body > .gw-prose > h2 { margin: 0 0 var(--space-4); }
.gw-game-profile__section-body .gw-prose { max-width: var(--measure-prose); }
.gw-game-profile__highlights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin: 0; padding: 0; list-style: none; }
.gw-game-profile__highlights li { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--border-hairline); border-radius: var(--radius-sm); background: var(--bg-inset); }
.gw-game-profile__highlights li > span { color: var(--accent); font-family: var(--font-mono); }
.gw-game-profile__highlights h3 { margin: 0; font-family: var(--font-display); font-size: var(--text-xl); color: var(--text-strong); }
.gw-game-profile__highlights p { margin: var(--space-2) 0 0; color: var(--text-muted); }
.gw-game-profile__math { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin: 0; }
.gw-game-profile__math > div { padding: var(--space-4); border: 1px solid var(--border-hairline); border-radius: var(--radius-sm); background: var(--bg-inset); }
.gw-game-profile__math-value { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.gw-game-profile__math-qualification { display: block; margin-top: var(--space-1); color: var(--text-muted); font-size: var(--text-xs); line-height: var(--leading-snug); }
.gw-game-profile__math-context { margin-top: var(--space-3); }
.gw-game-profile__math-context summary { display: inline-flex; max-width: 100%; align-items: center; gap: var(--space-2); overflow-wrap: anywhere; color: var(--text-muted); font-family: var(--font-mono); font-size: var(--text-xs); line-height: var(--leading-snug); cursor: pointer; }
.gw-game-profile__math-context summary::marker { content: ""; }
.gw-game-profile__math-context summary::-webkit-details-marker { display: none; }
.gw-game-profile__math-context-marker { display: inline-grid; width: 1.2rem; height: 1.2rem; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 0.7rem; font-weight: var(--weight-semibold); line-height: 1; }
.gw-game-profile__math-context p { margin: var(--space-2) 0 0; color: var(--text-body); font-size: var(--text-sm); line-height: var(--leading-snug); }
.gw-game-profile__math-context--variable summary { color: var(--info); }
.gw-game-profile__math-context--historical summary { color: var(--text-muted); }
.gw-game-profile__math-context--conflicting summary { color: var(--warn); }
.gw-game-profile__math-context summary:focus-visible { border-radius: var(--radius-xs); outline: none; box-shadow: var(--focus-ring-shadow); }
.gw-game-profile__series-comparison { padding: var(--space-5); border: 1px solid var(--border-hairline); border-radius: var(--radius-md); background: var(--bg-inset); }
.gw-game-profile__series-kicker { margin: 0 0 var(--space-2); color: var(--accent); font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-wide); text-transform: uppercase; }
.gw-game-profile__series-comparison > .gw-h2 { margin: 0; font-size: var(--text-2xl); }
.gw-game-profile__series-intro { max-width: var(--measure-prose); margin: var(--space-3) 0 0; color: var(--text-muted); }
.gw-game-profile__series-differences { display: grid; gap: var(--space-3); margin-top: var(--space-5); }
.gw-game-profile__series-difference { padding-top: var(--space-4); border-top: 1px solid var(--border-hairline); }
.gw-game-profile__series-difference h3 { margin: 0; color: var(--text-faint); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: var(--weight-medium); letter-spacing: var(--tracking-wide); text-transform: uppercase; }
.gw-game-profile__series-values { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: var(--space-3); align-items: start; margin-top: var(--space-3); }
.gw-game-profile__series-values > div { min-width: 0; }
.gw-game-profile__series-values a { color: var(--link); font-family: var(--font-mono); font-size: var(--text-xs); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.gw-game-profile__series-values strong, .gw-game-profile__series-qualified-value { display: block; margin-top: var(--space-1); color: var(--text-strong); font-family: var(--font-mono); font-size: var(--text-lg); font-variant-numeric: tabular-nums; line-height: var(--leading-snug); }
.gw-game-profile__series-arrow { padding-top: var(--space-4); color: var(--text-faint); font-family: var(--font-mono); }
.gw-game-profile__series-qualified-value .gw-game-profile__math-context { margin-top: var(--space-2); }
@media (max-width: 599px) {
	.gw-game-profile__series-values { grid-template-columns: 1fr; gap: var(--space-2); }
	.gw-game-profile__series-arrow { justify-self: start; padding: 0; transform: rotate(90deg); }
}
.gw-game-profile__facts { display: grid; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
.gw-game-profile__facts li { padding-left: var(--space-5); border-left: 2px solid var(--accent); color: var(--text-body); }
.gw-game-profile__gameplay { margin: var(--space-5) 0 0; overflow: hidden; border: 1px solid var(--border-hairline); border-radius: var(--radius-sm); background: var(--bg-inset); }
.gw-game-profile__gameplay > picture { display: block; }
.gw-game-profile__gameplay img { display: block; width: 100%; height: auto; }
.gw-game-profile__sources summary { color: var(--text-strong); cursor: pointer; }
.gw-game-profile__sources ul { display: grid; gap: var(--space-3); margin: var(--space-4) 0 0; padding-left: var(--space-5); }
.gw-game-profile__sources li { min-width: 0; overflow-wrap: anywhere; }
.gw-game-profile__sources span { color: var(--text-faint); }
.gw-game-profile__provider { position: relative; max-width: var(--content-max); margin-top: var(--space-8); padding: var(--space-6); border: 1px solid var(--border-hairline); border-radius: var(--radius-md); background: var(--surface-card); }
.gw-game-profile__provider .gw-overline, .gw-game-profile__provider .gw-h2, .gw-game-profile__provider p { margin: 0; }
.gw-game-profile__provider p { max-width: var(--measure-prose); margin-top: var(--space-3); color: var(--text-muted); }
.gw-game-profile__provider a { display: inline-block; margin-top: var(--space-4); }
@media (min-width: 1600px) {
	.gw-game-profile__sections, .gw-game-profile__provider { max-width: none; }
}
@media (max-width: 760px) { .gw-game-profile__hero { grid-template-columns: 1fr; } .gw-game-profile__media { min-height: 18rem; } .gw-game-profile__math { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .gw-game-profile__media--mobile-thumbnail { min-height: 0; aspect-ratio: 4 / 3; } }
@media (min-width: 760px) {
	.gw-game-profile__section-number {
		position: absolute;
		top: calc(var(--space-6) + 0.2em);
		left: calc(-4rem - var(--space-4));
		width: 4rem;
		text-align: right;
	}

	.gw-game-profile__section--about .gw-game-profile__section-number {
		top: 0.2em;
	}

	.gw-game-profile__provider .gw-overline {
		position: absolute;
		top: calc(var(--space-6) + 4rem);
		right: calc(100% + var(--space-4));
		transform: rotate(-90deg);
		transform-origin: top right;
		white-space: nowrap;
	}
}
@media (max-width: 759px) {
	.gw-game-profile__section { display: block; padding: var(--space-5); }
	.gw-game-profile__section--about { padding: var(--space-5) 0; }
	.gw-game-profile__section-number { margin-bottom: var(--space-3); }
	.gw-game-profile__provider { display: block; max-width: var(--content-max); padding: var(--space-5); border: 1px solid var(--border-hairline); border-radius: var(--radius-md); background: var(--surface-card); }
	.gw-game-profile__provider .gw-overline { display: flex; margin-bottom: var(--space-3); transform: none; }
	.gw-game-profile__provider p { font-size: var(--text-base); }
	.gw-game-profile__highlights { grid-template-columns: 1fr; }
}
@media (min-width: 600px) {
	.gw-catalog-index__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 900px) {
	.gw-catalog-index__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1200px) {
	.gw-catalog-index__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	.gw-game-profile__section[aria-labelledby="related-games-title"] .gw-catalog-index__grid {
		display: flex;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
	}

	.gw-game-profile__section[aria-labelledby="related-games-title"] .gw-catalog-index__item {
		flex: 0 0 min(18rem, calc(100% - var(--space-6)));
		scroll-snap-align: start;
	}

	.gw-game-profile--reference [aria-labelledby="related-games-title"] .gw-catalog-index__grid {
		gap: var(--space-2);
		padding-block: var(--space-2);
		scrollbar-width: none;
	}

	.gw-game-profile--reference [aria-labelledby="related-games-title"] .gw-catalog-index__grid::-webkit-scrollbar {
		display: none;
	}

	.gw-game-profile--reference [aria-labelledby="related-games-title"] .gw-catalog-index__item {
		flex-basis: 83%;
		min-width: 0;
	}

	.gw-game-profile--reference [aria-labelledby="game-math-title"] {
		padding: var(--space-2);
	}

	.gw-game-profile--reference .gw-game-profile__math {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
		gap: var(--space-2);
	}

	.gw-game-profile--reference .gw-game-profile__math > div {
		padding: var(--space-2);
	}

	.gw-game-profile--reference .gw-game-profile__math-wide {
		grid-column: 1 / -1;
	}
}
