Presets Sapling Broadside
Sapling Broadside
Retro-modern nonprofit system: leaf-green actions, bold Unbounded headlines and hard-edged print shadows on green-tinted neutrals.
Colour
Five ramps, 50 to 950
Semantic tokens
Light and dark
Typography
Unbounded, Onest and JetBrains Mono
Grow what matters
display-lg · 48/1.08 · 700 · -0.025em
Unbounded
Grow what matters
display-md · 38/1.12 · 700 · -0.02em
Unbounded
A calmer way to work
heading-lg · 30/1.2 · 600 · -0.01em
Unbounded
A calmer way to work
heading-md · 24/1.3 · 600 · -0.01em
Onest
A calmer way to work
heading-sm · 18/1.4 · 600 · -0.005em
Onest
Good systems disappear. People notice the product, not the parts.
body-lg · 18/1.6 · 400
Onest
Good systems disappear. People notice the product, not the parts.
body-md · 16/1.55 · 400
Onest
Good systems disappear. People notice the product, not the parts.
body-sm · 14/1.5 · 400
Onest
Save changes
label · 14/1.25 · 500 · 0.01em
Onest
Updated 2 minutes ago
caption · 12/1.4 · 500 · 0.02em
Onest
const theme = preset("sapling-broadside")
code · 14/1.5 · 400
JetBrains Mono
Spacing · radius · shadow
The quiet rules
2px
6px
10px
16px
full
Components
Every part, every state
Buttons
Inputs
Navigation
Feedback
Cards, table and overlays
$48,210
74% of the $65k goalWhat changed this quarter, and what to do next.
Product designer
| Customer | Date | Status | Amount | |
|---|---|---|---|---|
| MRMd Rakib Shekh | Mar 12 | Paid | $2,400.00 | |
| NJNusrat Jahan | Mar 11 | Pending | $860.00 | |
| IJIsrat Jahan | Mar 09 | Failed | $1,120.00 |
“Q3 launch” and its 24 files will be removed for everyone. You can’t undo this.
When customers write to you, their messages show up here.
Invite your teamScreens
Sapling Broadside as a real product
Landing page
Sapling Broadside
Retro-modern nonprofit system: leaf-green actions, bold Unbounded headlines and hard-edged print shadows on green-tinted neutrals.
+24.6%
Dashboard
Good morning, Rakib
Overview
$48,210
+12.4%2,318
+4.1%1.8%
-0.3%| Customer | Date | Status | Amount | |
|---|---|---|---|---|
| MRMd Rakib Shekh | Mar 12 | Paid | $2,400.00 | |
| NJNusrat Jahan | Mar 11 | Pending | $860.00 | |
| IJIsrat Jahan | Mar 09 | Failed | $1,120.00 |
Phone app
Welcome back
Md Rakib Shekh$12,480
Q3 launch
Pricing
$0 /month
For trying things out
Start free- 1 project
- Basic reports
- Email support
$24 /month
For growing teams
Choose Pro- Unlimited projects
- Team workspaces
- Priority support
- Advanced reports
$79 /month
For larger organisations
Choose Business- Everything in Pro
- SSO and audit log
- A dedicated manager
Sign in
Welcome back
Sign in to continue to your workspace.
“We set up our whole workspace in an afternoon.”
NJNusrat JahanHead of operations
Settings
Settings
Use Sapling Broadside
In Figma
Open UIX, go to Presets and search “Sapling Broadside”. Press Use this preset, then Sync to Figma.
Install UIXIn code
Install the theme with shadcn/ui, or download the files.
DESIGN.mdtheme.csstokens.dtcg.jsonfigma-variables.jsonshadcn-theme.jsonpreset.json
Send to your AI agent
Connect the UIX MCP once, then ask Claude Code, Cursor or any MCP client: “Use the Sapling Broadside preset”.
Get your MCP linkAbout Sapling Broadside
Overview
Sapling Broadside is for nonprofit donation, volunteer sign-up and membership flows. Display headlines use the wide Unbounded face, floating layers use hard offset shadows, and one leaf green marks every action. These details come from 1970s and 1980s printed bulletins and early desktop software. Every text pair in both modes is 5:1 or higher, so the retro styling never reduces legibility.
Color
Fernfield (brand) is the only action hue. Primary is brand.700 (#146d3d) in light mode, which gives 6.4:1 against primary-foreground white. In dark mode primary is brand.400 (#55c57f) with brand.950 text, which gives 7.9:1. Ring is brand.600 in light mode and brand.400 in dark mode, and both clear 3:1 against background. All neutral steps share one hue near 145° at low chroma. The 700 step was corrected so it no longer drifts blue, and muted-foreground (neutral.700) now reaches 6.7:1 on muted. Destructive is crimson, danger.600 in light mode and danger.400 in dark mode, and sits nearly opposite the brand on the hue wheel. Success has been pulled back from cyan to a cool green-teal, with success.700 (#0e6b55) giving 6.5:1 with white. It stays separate from Fernfield, but both share the same temperature. Warning is a warm mustard that matches the yellow undertone of the brand greens.
Typography
Display and heading sizes step up by about 1.25: 18, 24, 30, 38, 48. Unbounded at 600/700 is used only for display-lg, display-md and heading-lg (30px and up). Because the face is wide, its letterSpacing tightens from -0.01em at 30px to -0.025em at 48px. Onest at 400/500/600 sets heading-md and below, body text, labels, buttons and form fields. Body line height is 1.6 at body-lg, 1.55 at body-md and 1.5 at body-sm. JetBrains Mono at 400/500 is used only for receipt IDs, transaction references and code.
Layout
Comfortable density on a 4px base grid using the space tokens. Content columns cap at 1152px. Campaign sections are separated by 48px (space.12) to 80px (space.20) of vertical spacing, so each block reads as its own printed panel. Buttons and inputs share a 40px height so they align when placed side by side in forms.
Elevation
Surfaces are mostly flat and separated by 1px border (neutral.200 light, neutral.800 dark) lines. Cards use shadow.sm. The hard offset shadows, shadow.md (3px) and shadow.lg (6px), are the signature print detail and are used only on popovers, dialogs and toasts. In dark mode the offset shadow barely shows against neutral.950, so floating layers depend on their 1px border and the lifted popover surface (neutral.900).
Shapes
Rounding is tight, close to print-era corners: radius.md (6px) on buttons and inputs, radius.lg (10px) on cards and radius.xl (16px) on dialogs. radius.full is used only for badges and avatar chips.
Do
- Give each view one primary button for its main action, such as Donate or Join. Set every other action to the secondary or ghost variant.
- Set campaign headlines in Unbounded at heading-lg (30px), display-md (38px) or display-lg (48px), and write them in sentence case.
- Use shadow.md or shadow.lg only on popovers, dialogs and toasts. In dark mode, keep their 1px border, because the offset shadow barely shows on neutral.950.
- Pair every success, warning and destructive badge or alert with an icon and a text label, so status never depends on color alone.
- Use muted-foreground only for captions, helper text and placeholder text at 12px or larger. Long text belongs in foreground at body-md (16px) or larger.
- Show keyboard focus on every button, input and link with a 2px ring outline offset 2px from the element.
Don’t
- Don't use primary green for errors, failed payments or validation messages. Use destructive with an error icon.
- Don't set Unbounded below 30px, and don't use it for form labels, table cells, badges or button text. Use Onest at label or heading-md instead.
- Don't place body-sm (14px) or smaller text on the accent surface (brand.100 light, brand.900 dark) for more than one line.
- Don't introduce pure black, #000 or neutral grey hex values. Every surface, border and text color must come from the green-tinted neutral ramp.
- Don't show more than one element with shadow.md or shadow.lg in the same view, such as a dialog over an open popover.
- Don't put body text directly on success, warning or destructive fills. Use their paired -foreground tokens only for short labels in badges, alerts and buttons.
- Access
- Free
- Industries
- nonprofit, civic tech, community
- Mood
- optimistic, retro, confident, approachable
- Display font
- Unbounded
- Body font
- Onest
- Mono font
- JetBrains Mono
- Density
- Comfortable
- Contrast
- High
- Corner radius
- 6px