Documentation

Typography

VitNode's type system - the native system font, a type scale with built-in letter spacing, hierarchy, balanced headings and tabular numbers, shown live.

VitNode uses each device's own system font and a type scale that already knows its letter spacing. Zero font downloads, zero layout shift.

Font

system-ui: San Francisco · Segoe UI · Roboto

  • CommunityRegular · 400
  • CommunityMedium · 500
  • CommunitySemibold · 600

font-sans is the system UI stack: San Francisco on Apple devices, Segoe UI on Windows, Roboto on Android. Swap --font-sans in src/styles.css for a brand font. Stick to three weights: font-normal, font-medium, font-semibold.

Type scale

  • text-6xl
    Hi there
  • text-5xl
    Welcome
  • text-4xl
    Dashboard
  • text-3xl
    Community
  • text-2xl
    Settings
  • text-xl
    Team members
  • text-lg
    Notifications
  • text-base
    Your changes were saved.
  • text-sm
    Show archived posts
  • text-xs
    Updated 2 hours ago

Every text-* size carries its own tracking: tighter as it grows, a little air at text-xs. Pick the size and you're done. Don't add tracking-tight on top. Sizes are rem, so the UI scales with the reader's browser font size.

Hierarchy

Notifications

Choose what lands in your inbox and what waits for you here.

Replies

Get an email when someone replies to a topic you started or follow. Replies to your own replies are bundled into one daily summary.

Last changed 3 days ago

A few clear steps beat many similar ones. Weight and color do as much work as size.

<h2 className="text-2xl font-semibold text-balance">Notifications</h2>
<p className="text-muted-foreground text-sm leading-relaxed">
  Choose what lands in your inbox.
</p>

Balanced headings

default wrap

Build a community your members actually enjoy visiting

text-balance

Build a community your members actually enjoy visiting

text-balance evens out heading lines, so no word is left alone. Use text-pretty on paragraphs.

Numbers that change

default
4,821members online
tabular-nums
4,821members online

tabular-nums gives every digit the same width, so counters, prices and table columns stop jiggling.

<span className="tabular-nums">{onlineCount} online</span>

Body text rules

  • leading-relaxed on paragraphs, never below text-sm (14px) for reading.
  • max-w-prose for long text.
  • text-xs only for labels, badges and timestamps.