Extract all text elements from this document image with detailed layout and formatting information. For each text element, provide: - bbox_2d: [x1, y1, x2, y2] bounding box coordinates - text_content: The text content - element_type: "title", "header", "paragraph", "label", "value", "table_cell", "list_item", "footer", "caption" - style: - bold: true/false - italic: true/false - underline: true/false - font_size: "small", "normal", "large", "xlarge" - alignment: "left", "center", "right" - text_color: color name if not black (e.g., "red", "blue", "green") - background_color: color name if has background (e.g., "yellow", "gray") - layout: - in_table: true if inside a table - table_row: row number if in table - table_col: column number if in table - indented: true if text is indented Group consecutive lines of the same paragraph into ONE element. Output format: JSON array