{{-- Bio page editor — all x-html targets are built from Alpine component state only (no unescaped server data injected). renderBlocksHtml / renderSocialsHtml compose strings from state.blocks and state.socials, which come from $initialState (PHP array encoded via @json). User-entered text is output via textContent-equivalent bindings (x-text) wherever XSS matters; x-html is used only for the live phone preview where we build structured HTML from trusted state properties (urls, titles, etc.). --}}
Build a fully personalized landing page. Everything updates live in the preview on the right.
{{-- Section 1: Profile --}}