Проще всего добавить пустых ячеек в начале и конце каждой строки.
Подправил
By default, flex items won’t shrink below their minimum content size (the length of the longest word or fixed-size element). To change this, set the min-width or min-height property.
Что картинка не уменьшается меньше родной ширины - не вижу.
preserveAspectRatio="none"
, а для отдельных элементов с обводкой задаватьvector-effect="non-scaling-stroke"
.Либо на css попытаться повторить такую же обводку. Непросто будет, но маской с коническим градиентом можно что то похожее воспроизвести.