Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Plain layout() underlines sat on the unshifted baseline while layout_rich() runs already subtracted baseline_shift. Match the two so underline y tracks the glyphs for a full-paragraph style.