Controls
Buttons name their action. Primary is reserved for the one action that commits the user's work.
Buttons
.mds-button with --primary, --subtle and --small.
Quiet actions
.mds-link-button and .mds-icon-button for secondary and toolbar actions.
initSelect() draws the menu with the same theme as the control.
A disabled control keeps its current value visible.
Segmented tabs
.mds-tabs with initTabs(): arrow keys, Home and End.
The form panel is showing.
The YAML panel is showing.
Settings
Label on the left, control on the right. Rows stack when the group itself is narrower than 560px.
Connecting and signing in are separate. Closing the window keeps the app in the menu bar.
HTTP and SOCKS share this entry point.
How this device appears to others.
Let direct connections use IPv6.
Disabled controls keep their value visible.
Largest packet size.
Resolved through the selected exit.
One per line. Subdomains match.
Section notes sit outside the group, for consequences that apply to the whole page. Inline code uses the mono face.
Feedback
Each message names the problem and the way forward.
Your draft is kept. Reload the latest configuration before saving so other changes are not overwritten.
The network service did not respond. Check that it is running, then try again.
Installing ends the current connection and restarts the app.
Status
.mds-status with data-tone.
Pills
One pending action in the titlebar.
Toast and dialog
toast() and openDialog().
Loading
Code
A panel for a live file preview, and .mds-pre for logs.
2026-11-10 09:41:07 INFO service ready 2026-11-10 09:41:08 INFO exit node selected: relay-tokyo 2026-11-10 09:41:12 WARN exit unavailable, traffic held until it returns
Colour
Values read live from the current theme. Switch the theme in the toolbar to compare.
Type and icons
Montserrat for large titles and actions, regular Monda for headings, and Lato for body copy and other interface text.
Large title
Montserrat · 600 · 1.25rem
Change the Tailscale network?
Heading
Monda · 400 · 1rem
Connection settings
Action
Montserrat · 500
Body
--mds-text-body · 0.875rem
Choose an exit you are authorised to use. 选择已获准使用的出口设备。
Note
--mds-text-note · 0.8125rem
Applies to direct connections only.
Caption
--mds-text-caption · 0.75rem
Only this device can open this page
Mono
--mds-mono · code, addresses, files
tail12345.ts.net · 172.31.255.2:53
Icons
icons/icons.svg · Phosphor Regular · 256px grid