stan288, если не задана ширина, то она определяется по содержимому блока, но она не может быть больше свободного места в родительском элементе. Поэтому элемент как бы упирается в правый край родителя и сужается. Я, правда, не могу сейчас найти ссылку на хороший источник, где описано это поведение.
Полина Емельянова, контент не обязательно засовывать в svg, можно же саму svg в position: absolute растянуть по общему контейнеру для ячейки, а контент заверстать поверх нее в position: statick
Потому что пропорции изображения и маски не совпадают. Либо сделай маску пропорциональной изображению (1920x1080, 960x540, 480x260 и т.д.), либо задай mask-size: contain для размеров маски.
for(let pr of mass)
все же убери, он тут не нужен