Added a :::ai content block syntax via a new remark plugin (remark-ai-content.ts). This lets me annotate AI-generated sections within posts with the model name, rendering them with dual badges to clearly distinguish AI-written content from my own.

Moved drafts from the root _drafts/ directory into an Astro content collection at src/content/_drafts/. Created a dev-only drafts index and slug page so I can preview draft posts during local development without them appearing in production builds. Added a drafts link to the site header for easy access.

Extracted an AutoResizeIframe component to replace the duplicated iframe resizing logic in the bookmarklet-builder and bubble-bobble pages. Also added a new link submission page for authenticated users, proxying the submit function through Netlify, and switched the local dev workflow to use netlify dev for function support.