2026-08-31 (report screen) - the summary wraps into two columns past ~30 sections

The on-console report drew one section per row and shrank the row height to fit, floored at OBS_ROW_H_MIN. At 37 sections a single column hit the floor and still overran - 37×24=888px against 740 available - so the last rows (900-SURFACE, 910-BULK) were clipped over the totals/footer (the collision in the hardware screenshot). Split the section list into two columns in screen.c: a new obs_draw_summary_row draws one row within a column [x0, x0+col_w), and the summary uses one column while the sections fit (rows×OBS_ROW_H_MIN ≤ available) and two once they would overrun; the left column fills first, row height computed from the per-column count. Single-column geometry is unchanged - the helper reproduces it pixel-for-pixel at full width - so emulator reports and their committed screenshots are untouched; only 30-plus-section runs wrap. Chose two columns over paginating the summary to keep the one-photograph property. screen.c compiles clean under -Werror -Wshadow -Wconversion -Wsign-conversion. D271. The next PS5 deploy refreshes docs/screenshots/ps5-hardware.png.