[Tech debt] Refactor blame positioning to use natural flow instead of absolute positioning
Context
This is a follow-up issue from #561788 (Adjust the layout of the gutter on the inline blame mode on the blob page).
Problem
The current inline blame implementation uses absolute positioning which adds necessary complexity. Now that we have predictable blame information heights, we can change from absolute positioning to using the natural flow of the browser.
From the parent issue:
We add extra spacing between some lines to accommodate the additional height required for the blame information. Adding the extra spacing between lines shifts the contents. So if a user is on line 500 and blame information for line 470 is retrieved, the user will experience layout shift as the extra spacing is added for content above the line that the user is viewing.
Proposal
Refactor the blame positioning implementation to use natural document flow instead of absolute positioning. This should improve maintainability of the blame viewer code
Technical Considerations
- Investigate CSS Grid or Flexbox approaches for the blame gutter
- Consider how this interacts with virtualized scrolling (if applicable)
- Ensure performance is not negatively impacted
Acceptance Criteria
- Blame information uses natural document flow positioning
- No layout shift when blame data loads for lines outside the viewport
- Visual appearance matches current design
- No performance regression