Modifier.drawWithCache {
val angle = Math.toRadians(90.0)
val direction = Offset(sin(angle).toFloat(), -cos(angle).toFloat())
val length = size.width * abs(direction.x) + size.height * abs(direction.y)
val brush = Brush.linearGradient(
colorStops = arrayOf(
0f to Color(0xFFFF8177),
0f to Color(0xFFFF867A),
0.21f to Color(0xFFFF8C7F),
0.52f to Color(0xFFF99185),
0.78f to Color(0xFFCF556C),
1f to Color(0xFFB12A5B)
),
start = size.center - direction * (length / 2f),
end = size.center + direction * (length / 2f)
)
onDrawBehind { drawRect(brush) }
}