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(0xFFE4AFCB),
0f to Color(0xFFB8CBB8),
0f to Color(0xFFB8CBB8),
0.3f to Color(0xFFE2C58B),
0.64f to Color(0xFFC2CE9C),
1f to Color(0xFF7EDBDC)
),
start = size.center - direction * (length / 2f),
end = size.center + direction * (length / 2f)
)
onDrawBehind { drawRect(brush) }
}