···266266 // unless we break *only* on urls, this is better than tailwind 'break-all'
267267 // b/c break-all can cause breaks in the middle of words, but break-word still
268268 // forces break if a single text string (e.g. a url) spans more than a full line
269269- style={{ wordBreak: "break-word" }}
269269+ style={{ wordBreak: "break-word", fontFamily: props.type === "heading" ? "var(--theme-heading-font)" : "var(--theme-font)" }}
270270 className={`
271271 ${alignmentClass}
272272 grow resize-none align-top whitespace-pre-wrap bg-transparent
+2-4
components/FontLoader.tsx
···5454 const headingFontValue = getFontFamilyValue(headingFont);
5555 const bodyFontValue = getFontFamilyValue(bodyFont);
56565757- // Generate CSS that sets the font family via CSS variables
5858- // --theme-font is used for body text (keeps backwards compatibility)
5959- // --theme-heading-font is used for headings
5757+ // Set font CSS variables scoped to .leafletWrapper so they don't affect app UI
6058 const fontVariableCSS = `
6161-:root {
5959+.leafletWrapper {
6260 --theme-heading-font: ${headingFontValue};
6361 --theme-font: ${bodyFontValue};
6462}