How to automatically split the box between multi-columns for text adaptation?

Function

I have defined a concept box which can include the texts in the color box. Th codes are as follows.

#let concept-box(color: color, body: content) = box(
  stroke: color,
  fill: white,
  radius: 3pt,
  inset: 6pt,
  width: auto,
)[
  #body
]

Problom

However, as shown in the following figure, the second box is just unbreakable between multi-columns, resulting that the whole box is displayed in the second column with much empty space in the first column.

The usage of concept box is shown as the following codes.

#concept-box(body: [
  #inline("FLAME Model", color-box.at(0))
  The pretrained parameters of FLAME are included in the file of `flame2023.pkl`.
  The pretrained parameters especially the `shapedirs` are used to generate relatively common 3D face. Through the finetuning, also means tracking, the `posedirs` and `shapedirs` will be updated by blendshape coefficients for fitting the target face. 

  #inline("Landmark Embeddings", color-box.at(0))
  Using the pretrained model of `landmark_embedding_with_eyes.npy`, we can extract the mesh index of each landmark. In FLAME, it uses the 70 landmarks to keep the face more accurate.
  - `full_lmk_faces_idx`: record the mesh index of each landmark.
  - `full_lmk_bary_coords`: the weights of three vertices in a triangle mesh to calculate the landmark position using barycentric coordinates.
], color: color-box.at(0))

Desiration

So, how to split the box into two parts in order to it can adapt to the two columns? That is, just make the second box use the left space in the first column.

Thanks for your help.

The splitting will work if you use block() instead of box(). A block is breakable by default (you can also disable this) and will correctly split between the two columns.

Very appreciated. block() works well.