I was able to achieve a similar effect by making adjustments to your typing keyframe.
@keyframes typing {
from { width: 0 }
51%{border-right:transparent;}
100%{border-right:transparent;}
to { width: 100% }
}
While you can prevent the cursor from disappearing entirely, there are still some issues to consider. For example, there may be a delay in the cursor reappearing at the end of the sentence. Additionally, there may be responsiveness issues on smaller screens where the blinking effect disappears too early. If this solution meets your needs but requires responsiveness, you may need to create multiple keyframes and apply them through media queries.
Nevertheless, this method is quite impressive. I was unaware that a purely CSS typing effect could be achieved. I previously thought that heavy DOM manipulation, such as that used in typeWriter.js, was the only way to achieve this effect. It may be worth considering typeWriter.js as an alternative solution if the CSS trick does not meet your requirements.