diff --git a/src/overlay.zig b/src/overlay.zig
index 86e38b9..d271cdd 100644
--- a/src/overlay.zig
+++ b/src/overlay.zig
@@ -303,6 +303,10 @@ fn toHtml(allocator: std.mem.Allocator, text: []const u8) ![]u8 {
try out.append(allocator, c);
i += 1;
}
+ } else if (c == '\n') {
+ // Rich text collapses raw newlines — explicit
survives.
+ try out.appendSlice(allocator, "
");
+ i += 1;
} else {
try out.append(allocator, c);
i += 1;