The text/sx AJAX response path (handle-sx-response) never called hoist-head-elements, so <style> elements stayed in #sx-content instead of moving to <head>. Additionally, CSS rules collected during client-side island hydration were never flushed to the DOM. - Add hoist-head-elements call to handle-sx-response (matching handle-html-response which already had it) - Add flush-collected-styles helper that drains collected CSS rules into a <style data-sx-css> element in <head> - Call flush after island hydration in post-swap, boot-init, and run-post-render-hooks to catch reactive re-renders - Unify on data-sx-css attribute (existing convention) in ~tw/flush and shell template, removing the ad-hoc data-cssx attribute Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3.9 KiB
3.9 KiB