From 551f5e0a2e2d4d54d92a78ae1ca1c6bfc41819a0 Mon Sep 17 00:00:00 2001 From: fen Date: Thu, 10 Sep 2026 11:39:34 -0500 Subject: [PATCH] Fix #167: block-level gutline spans so gutter numbers align with wrapped lines QA on dev showed .codeline spans wrap correctly but gutter .gutline spans rendered inline (all at the same top), so numbers 6+ fell off with wrap on. Add .gutter .gutline { display: block; } so each gutter number occupies its own visual row, matching the one-number-per-visual-row contract of paste-lines.js. Verified rendered output in a local build at 1400x900 and 375x812 with a long unbroken token on line 5 and wrap ON. --- internal/web/static/app.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/web/static/app.css b/internal/web/static/app.css index 463e78a..dd1164d 100644 --- a/internal/web/static/app.css +++ b/internal/web/static/app.css @@ -299,8 +299,8 @@ html[data-wrap] .float { overflow-x: hidden; } .codebody { padding: 0 18px; white-space: pre; } /* #167: each logical line is its own block so offsetTop identifies its first visual row */ .codeline { display: block; } -/* #167 rev: gutter number spans must stack one per visual row (wrap on) */ -.code .gutter .gutline { display: block; } +/* #167: gutter numbers must each sit on their own visual row so they align with wrapped code lines */ +.gutter .gutline { display: block; } /* syntax highlight tokens (#1) */ .tok-kw { color: #c792ea; } .tok-str { color: #a5e075; }