.app {
	width: min(900px, 100%);
	display: grid;
	gap: 16px;
}

.panel {
	align-items: end;
	flex-wrap: wrap;
}

.games {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
}

.card {
	background: var(--panel);
	border: 1px solid var(--border);
	border-radius: 16px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	display: grid;
	grid-template-rows: 120px 1fr;
}

.card:hover {
	border-color: rgba(122, 162, 255, 0.6);
}

.card:focus-visible {
	outline: 2px solid rgba(122, 162, 255, 0.85);
	outline-offset: 2px;
}

.thumb {
	background:
		linear-gradient(180deg, rgba(15, 24, 48, 0.55), rgba(11, 18, 32, 0.85)),
		radial-gradient(600px 200px at 20% 20%, rgba(122, 162, 255, 0.25), transparent),
		radial-gradient(600px 200px at 80% 30%, rgba(255, 107, 107, 0.18), transparent),
		linear-gradient(180deg, rgba(15, 24, 48, 0.9), rgba(11, 18, 32, 0.9));
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.thumb[data-game='gato'] {
	background:
		linear-gradient(180deg, rgba(15, 24, 48, 0.35), rgba(11, 18, 32, 0.85)),
		url('../../gato/gato.png'),
		radial-gradient(600px 200px at 20% 20%, rgba(122, 162, 255, 0.25), transparent),
		radial-gradient(600px 200px at 80% 40%, rgba(99, 230, 190, 0.16), transparent),
		linear-gradient(180deg, rgba(15, 24, 48, 0.9), rgba(11, 18, 32, 0.9));
	background-size: cover, contain, cover, cover, cover;
	background-position: center, center, center, center, center;
	background-repeat: no-repeat;
}

.thumb[data-game='ahorcado'] {
	background:
		linear-gradient(180deg, rgba(15, 24, 48, 0.35), rgba(11, 18, 32, 0.85)),
		url('../../ahorcado/ahorcado.png'),
		radial-gradient(600px 200px at 20% 20%, rgba(255, 107, 107, 0.18), transparent),
		radial-gradient(600px 200px at 80% 40%, rgba(122, 162, 255, 0.18), transparent),
		linear-gradient(180deg, rgba(15, 24, 48, 0.9), rgba(11, 18, 32, 0.9));
	background-size: cover, contain, cover, cover, cover;
	background-position: center, center, center, center, center;
	background-repeat: no-repeat;
}

.thumb[data-game='snake'] {
	background:
		linear-gradient(180deg, rgba(15, 24, 48, 0.35), rgba(11, 18, 32, 0.85)),
		url('../../snake/snake.png'),
		radial-gradient(600px 200px at 20% 20%, rgba(0, 255, 0, 0.18), transparent),
		radial-gradient(600px 200px at 80% 40%, rgba(255, 0, 0, 0.15), transparent),
		linear-gradient(180deg, rgba(15, 24, 48, 0.9), rgba(11, 18, 32, 0.9));
	background-size: cover, contain, cover, cover, cover;
	background-position: center, center, center, center, center;
	background-repeat: no-repeat;
}

.thumb[data-game='memorama'] {
	background:
		linear-gradient(180deg, rgba(15, 24, 48, 0.35), rgba(11, 18, 32, 0.85)),
		url('../../memorama/memorama.png'),
		radial-gradient(600px 200px at 20% 20%, rgba(122, 162, 255, 0.25), transparent),
		radial-gradient(600px 200px at 80% 40%, rgba(255, 217, 61, 0.16), transparent),
		linear-gradient(180deg, rgba(15, 24, 48, 0.9), rgba(11, 18, 32, 0.9));
	background-size: cover, contain, cover, cover, cover;
	background-position: center, center, center, center, center;
	background-repeat: no-repeat;
}

.thumb[data-game='2048'] {
	background:
		linear-gradient(180deg, rgba(15, 24, 48, 0.35), rgba(11, 18, 32, 0.85)),
		url('../../2048/2048.png'),
		radial-gradient(600px 200px at 20% 20%, rgba(238, 228, 218, 0.2), transparent),
		radial-gradient(600px 200px at 80% 40%, rgba(237, 194, 46, 0.2), transparent),
		linear-gradient(180deg, rgba(15, 24, 48, 0.9), rgba(11, 18, 32, 0.9));
	background-size: cover, contain, cover, cover, cover;
	background-position: center, center, center, center, center;
	background-repeat: no-repeat;
}

.thumb[data-game='tiro'] {
	background:
		linear-gradient(180deg, rgba(15, 24, 48, 0.35), rgba(11, 18, 32, 0.85)),
		url('../../tiro-al-blanco/tiro-al-blanco.png'),
		radial-gradient(600px 200px at 20% 20%, rgba(255, 107, 107, 0.25), transparent),
		radial-gradient(600px 200px at 80% 40%, rgba(255, 255, 255, 0.12), transparent),
		linear-gradient(180deg, rgba(15, 24, 48, 0.9), rgba(11, 18, 32, 0.9));
	background-size: cover, contain, cover, cover, cover;
	background-position: center, center, center, center, center;
	background-repeat: no-repeat;
}

.cardBody {
	padding: 14px;
	display: grid;
	gap: 8px;
}

.cardTitle {
	margin: 0;
	font-size: 18px;
	line-height: 1.2;
}

.cardDesc {
	margin: 0;
	color: var(--muted);
	font-size: 13px;
}

.cardActions {
	display: flex;
	gap: 10px;
	margin-top: 6px;
}
