int getLineStartOffset(int lineIndex) { final index = lineIndex.clamp(0, lineCount - 1); if (index == 0) return 0; return (_root.nthNewline(index - 1) + 1).clamp(0, length); }