Frontend implementation strategy
Self-host the font files, define `@font-face`, and keep all glyph choices in one mapping file so charts, tables, and legends share the same source of truth.
Use Sans for UI-heavy screens, use Serif for report-style surfaces, and expose glyphs through a tiny `AstroGlyph` component instead of hardcoding characters all over the app.
Because the fonts are outline fonts, they work well in modern browsers, generated PDFs, canvas text, and server-rendered HTML.