Skip to content

Typography

Every named text role in Silo's UI — modal content today, the full set as more surfaces adopt the design system. Sizes are relative to the app's base font size (--silo-font-size-base, default 13px, user-scalable with Cmd/Ctrl +/-). Modal content rides a +1 scale: the host rebinds the size tokens inside a modal, so "base" below already means base+1px (14px at defaults). You inherit this — never compensate for it, and never set a px font size.

Every role at once, in a composite modal:

/Users/dweaver/Projects/ai/xerro-agent/projects/xerro-editprimary
Auto-save
Save this workspace's layout as you work, not just on close.
Silo Development
RoleRendered bySizeWeightColor token
Titlethe modal shell (title option)base+2600--silo-color-text-hi
Bodyyour prose / Calloutsm400--silo-color-text
Section label (NAME, FOLDERS)Sectionchrome−1, UPPERCASE, letter-spaced400--silo-color-text-lo
Setting labelSettingRowbase400--silo-color-text-hi
Setting hintSettingRowsm400--silo-color-text-lo
List row textListRowsm400--silo-color-text-hi
Badge textBadgechrome−1600tone color
Footer metaModalActions start slotsm400--silo-color-text-lo
Button textButtonbase (sm buttons: chrome)400variant text token
Inline errorInlineEditsm400--silo-color-err

Where sm = base−1 and chrome = base−2, both derived tokens (--silo-font-size-sm, --silo-font-size-chrome).

The rules

  • 600 is the only "bold." Titles, badges, and active states use weight 600; everything else is 400. There is no 500 or 700 in modal content.
  • Titles outrank by size. The title is the single largest text in a modal (base+2). Nothing in your content should match or exceed it.
  • Hierarchy comes from color as much as size. text-hitexttext-lo is the emphasis ladder; two roles at the same size are still distinct if their colors differ.
  • Uppercase is reserved for Section labels (and the host's rail header) — don't uppercase anything else.
  • If a piece of text doesn't fit any role above, you're probably building something the kit should provide — check the inventory or raise it, rather than improvising a style.