Filling a grid with a range

hello there, I’m trying to make a set of cards for numbers 0-9

I want a big number of a particular font in the center and that same number but
smaller in each of the corners.

This is as far as I got:

#let num = 5
#let nums = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
#let center_number_font = "New Computer Modern"
#let corner_number_font = "Libertinus Serif"

// available
// Libertinus Serif, New Computer Modern, New Computer Modern Math, and DejaVu
// Sans Mono

#set page(
  paper:"us-letter",
)

#set text(
  font: center_number_font,
  fill: white,
  size: 600pt,
  stroke: 25pt,
)

#let cornum(corner) = {
  text(
    font: corner_number_font,
    size: 40pt,
    fill: black,
    stroke: 0pt
  )\[#corner\]
}

#place(center + horizon)\[#num\]

#set rect(
  fill: rgb("ffffff"),
  width: 100%
)

#grid(
  columns: 2,
  gutter: 1fr,
  
  ..range(4).map(cornum),

)

This is the kind of result I’m after but for each number 0-9:

I’m having trouble with:

  1. page breaks
  2. how to nest the loop properly so this works

Could anyone point me in the right direction? Thanks