Presets Understory Array

Understory Array

Dense, dark-first UI for climate data teams: 1px borders, tabular figures, 4px-grid spacing and one signal-green action color.

Free Use in Figma, free Download

Colour

Five ramps, 50 to 950

brand50edfcf2100d3f8e0200aaf0c530074e2a34003ecf825001fb3686001290547000f71448000e59379000d463095004271a
neutral50f2f6f6100e5ecec200cdd8d8300aebcbc4008a9b9c5006a7c7d6005263647003d4c4d8002a37389001a24259500d1415
success50e6fbf6100c4f5ea2008ce8d43004fd5ba40022bb9f5000f9d856000b7f6d7000a6458800094e45900083c3695003231f
warning50fff8e5100ffedb8200fcdb7f300f3c244400e0a617500c28a006009d6f007007b56008005d4100900432e009502a1c00
danger50fff1f2100ffe1e3200ffc3c9300ff98a3400f96a7c500e63f59600c7283f700a31c328007f12269005e0a1a9503d0310

Semantic tokens

Light and dark

LightPrimarySecondary
background#f2f6f6
foreground#0d1415
card#ffffff
card-foreground#0d1415
popover#ffffff
popover-foreground#0d1415
primary#0f7144
primary-foreground#ffffff
secondary#e5ecec
secondary-foreground#1a2425
muted#e5ecec
muted-foreground#3d4c4d
accent#d3f8e0
accent-foreground#0d4630
destructive#c7283f
destructive-foreground#ffffff
success#0a6458
success-foreground#ffffff
warning#fcdb7f
warning-foreground#432e00
border#aebcbc
input#6a7c7d
ring#129054
DarkPrimarySecondary
background#0d1415
foreground#f2f6f6
card#1a2425
card-foreground#f2f6f6
popover#1a2425
popover-foreground#f2f6f6
primary#3ecf82
primary-foreground#04271a
secondary#2a3738
secondary-foreground#e5ecec
muted#2a3738
muted-foreground#aebcbc
accent#0d4630
accent-foreground#d3f8e0
destructive#f96a7c
destructive-foreground#3d0310
success#22bb9f
success-foreground#03231f
warning#e0a617
warning-foreground#2a1c00
border#2a3738
input#6a7c7d
ring#3ecf82

Typography

Atkinson Hyperlegible, Atkinson Hyperlegible and JetBrains Mono

Grow what matters

display-lg · 36/1.11 · 700 · -0.022em
Atkinson Hyperlegible

Grow what matters

display-md · 28/1.14 · 700 · -0.018em
Atkinson Hyperlegible

A calmer way to work

heading-lg · 22/1.27 · 700 · -0.012em
Atkinson Hyperlegible

A calmer way to work

heading-md · 18/1.33 · 700 · -0.006em
Atkinson Hyperlegible

A calmer way to work

heading-sm · 14/1.43 · 700
Atkinson Hyperlegible

Good systems disappear. People notice the product, not the parts.

body-lg · 16/1.5 · 400
Atkinson Hyperlegible

Good systems disappear. People notice the product, not the parts.

body-md · 14/1.43 · 400
Atkinson Hyperlegible

Good systems disappear. People notice the product, not the parts.

body-sm · 13/1.38 · 400
Atkinson Hyperlegible

Save changes

label · 13/1.23 · 700 · 0.005em
Atkinson Hyperlegible

Updated 2 minutes ago

caption · 12/1.33 · 400 · 0.01em
Atkinson Hyperlegible

const theme = preset("understory-array")

code · 13/1.54 · 400
JetBrains Mono

Spacing · radius · shadow

The quiet rules

0.52px
14px
1.56px
28px
312px
416px
520px
624px
832px
1040px
1248px
1664px
2080px
2496px
sm
2px
md
4px
lg
6px
xl
10px
full
full
sm
md
lg

Components

Every part, every state

Buttons

DefaultHoverFocusDisabledPrimaryPrimaryPrimaryPrimaryPrimarySecondarySecondarySecondarySecondarySecondaryOutlineOutlineOutlineOutlineOutlineGhostGhostGhostGhostGhostDestructiveDeleteDeleteDeleteDelete
SmallMediumLargeNew invoiceSavingLearn more

Inputs

Md Rakib ShekhPlaceholder
nusrat@studio.coFocused
••••••Use at least 8 characters
Design
EngineeringDesign Marketing
Search customersisrat-jahan.studioDisabled
Hi Israt, the new onboarding is ready for review.
Email updatesSMS alerts–Some selectedDisabled
MonthlyYearlyLifetime
Dark modeAuto-saveLocked

Navigation

ProductPricingCustomersDocsSign inGet started
OverviewActivityMembersBilling
DayWeekMonthHome / Projects / Q3 launch
123…12

Feedback

New version availableReload to get the latest features.
Payment received$2,400 from Md Rakib Shekh.
Card expires soonUpdate it before Friday.
Sync failedWe will try again in 30 seconds.
NJ
Nusrat JahanCommented on Q3 launch
View
Invoice sent to Israt Jahan
Undo
PrimarySecondaryOutlineActivePendingFailedNew
Copied to clipboard72%
MRNJIJMRNJIJ+5

Cards, table and overlays

Monthly revenue12.4%

$48,210

74% of the $65k goal
The climate report

What changed this quarter, and what to do next.

MRMd Rakib Shekh4 min read
IJ
Israt Jahan

Product designer

MessageFollow
CustomerDateStatusAmount
MRMd Rakib ShekhMar 12Paid$2,400.00
NJNusrat JahanMar 11Pending$860.00
IJIsrat JahanMar 09Failed$1,120.00
Showing 1–3 of 36
123…12
Delete project?

“Q3 launch” and its 24 files will be removed for everyone. You can’t undo this.

CancelDelete
No messages yet

When customers write to you, their messages show up here.

Invite your team

Screens

Understory Array as a real product

Landing page

understory-array.com
ProductPricingCustomersDocsSign inGet started
New · climate

Understory Array

Dense, dark-first UI for climate data teams: 1px borders, tabular figures, 4px-grid spacing and one signal-green action color.

Get startedBook a demo
MRNJIJLoved by 2,000+ teams
This week

+24.6%

Dashboard

OverviewReportsInbox12CustomersProjectsSettings

Good morning, Rakib

Overview

New report
Revenue

$48,210

+12.4%
Customers

2,318

+4.1%
Churn

1.8%

-0.3%
RevenueWeekMonthYear
CustomerDateStatusAmount
MRMd Rakib ShekhMar 12Paid$2,400.00
NJNusrat JahanMar 11Pending$860.00
IJIsrat JahanMar 09Failed$1,120.00

Phone app

9:41●●● 100%

Welcome back

Md Rakib Shekh
MR
Balance

$12,480

SendRequest
Search
MR
Md Rakib ShekhPaid
$2,400
NJ
Nusrat JahanPending
$860
IJ
Israt JahanFailed
$1,120
HomeStatsInboxProfile
9:41●●● 100%

Q3 launch

TasksFilesChat
Write onboarding copyMd Rakib Shekh · Today
Review new pricingNusrat Jahan · Tomorrow
Ship release notesIsrat Jahan · Friday
1 of 3 doneOn track for Friday.
HomeStatsInboxProfile

Pricing

Starter

$0 /month

For trying things out

Start free
  • 1 project
  • Basic reports
  • Email support
ProPopular

$24 /month

For growing teams

Choose Pro
  • Unlimited projects
  • Team workspaces
  • Priority support
  • Advanced reports
Business

$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.

Continue with Googleor
israt@studio.co
••••••••••
Remember meForgot password?
Sign in

“We set up our whole workspace in an afternoon.”

NJNusrat Jahan
Head of operations

Settings

OverviewReportsInbox12CustomersProjectsSettings

Settings

ProfileNotificationsBilling
MRMd Rakib Shekhrakib@studio.coChange photo
Email notificationsA summary every Monday.
Two-factor sign-inProtect your account with a code.
LanguageUsed across the app.English
Delete accountThis removes all your data.Delete
CancelSave changes

Use Understory Array

In Figma

Open UIX, go to Presets and search “Understory Array”. Press Use this preset, then Sync to Figma.

Install UIX

In 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 Understory Array preset”.

Get your MCP link

About Understory Array

Overview

Understory Array is for analysts, researchers and operators who watch emissions, sensor networks and energy models for hours at a time. It is dark-first because dashboards stay open on secondary screens. It is compact because the job is comparing many numbers at once: 32px controls, 28–32px table rows, 16px card padding. The target feel is an instrument panel: exact, quiet, and legible at 12–14px.

Color

One action color, Signal Green (OKLCH hue ≈150), carries primary, ring and selected states. Light mode uses brand.700 #0f7144 (6.1:1 with white primary-foreground, 5.5:1 on background) and dark mode uses brand.400 #3ecf82 with brand.950 text (8:1). Brand.400 is bright but not neon. Neutrals are blue-green slates at hue ≈195 with low, even chroma, so green accents and chart series sit on a related ground. Success is teal-green (hue ≈175), close in temperature to the brand but separate from primary. Warning is amber, and destructive is crimson (danger.600 light, danger.400 dark). Destructive sits at hue ≈15, far from primary green in both modes. Input borders use neutral.500 in both modes so field edges reach 3:1 against the page. Dark mode is the reference design: neutral.950 page, neutral.900 card, neutral.800 muted and secondary.

Typography

Atkinson Hyperlegible is used for display and UI text. Its distinct 1/l/I and 0/O shapes stay clear in dense tables. Use only its shipped weights, 400 and 700. JetBrains Mono at 400/500 sets sensor IDs, coordinates, units and code. The scale steps by about 1.25 from a 14px body: 12, 13, 14, 16, 18, 22, 28, 36. Every line height lands on the 4px grid: body-md 14/20, body-lg 16/24, heading-md 18/24, heading-lg 22/28, display-md 28/32, display-lg 36/40. Letter spacing tightens as size grows, from -0.022em at 36px to 0 at 14px and below. Caption opens up to +0.01em. Enable tabular figures on every numeric column.

Layout

Compact density on a 4px base grid. Controls are 32px tall and table rows are 28–32px. Cells use space.2 (8px) padding and cards use space.4 (16px). Divide regions with 1px border lines instead of extra whitespace. Page content can run full width with 12–16px gutters.

Elevation

Almost flat. Surfaces step up in neutral value: 950 page, 900 card, 800 raised and muted. They are separated by 1px border. Cards use only shadow.sm. Use shadow.md for menus and popovers and shadow.lg for dialogs. All shadows are dark and tight.

Shapes

Small radii keep edges crisp: radius.sm 2px for badges and chips, radius.md 4px for buttons and inputs, radius.lg 6px for cards. radius.xl 10px is for dialogs only. radius.full is only for status dots and count badges.

Do

  • Design in dark mode first, then verify light. Use background (neutral.950) for the page, card (neutral.900) for cards and muted (neutral.800) for table header rows.
  • Apply font-variant-numeric: tabular-nums to every number in tables, stat tiles and chart axis labels. Right-align numeric columns.
  • Keep button and input at 32px height and table rows at 28–32px. Use space.2 (8px) horizontal padding inside cells.
  • Separate regions with a 1px border token instead of extra padding or shadow.
  • Use one primary button (brand.700 light, brand.400 dark) per view. Make other actions secondary or ghost.
  • Show focus with a 2px ring token outline at 2px offset on every interactive element, including table rows that open detail panels.
  • Set sensor IDs, coordinates and units in JetBrains Mono using the code style (13/20, weight 400). Use weight 500 only for the selected or active value.
  • Use display-lg (36px) only for single headline KPIs. Page titles use heading-lg (22px) and card titles use heading-sm (14px, weight 700).

Don’t

  • Don't use primary green to mean 'good' or 'low emissions'. Use the success token (teal-green) with a label.
  • Don't put shadow.md or shadow.lg on cards. Use shadow.md for menus and popovers and shadow.lg for dialogs.
  • Don't use radius above radius.lg (6px) on cards or controls. Only badges and status dots may use radius.full.
  • Don't set body text below 13px (body-sm) or captions below 12px. Use Atkinson Hyperlegible at weights 400 and 700 only.
  • Don't use pure black (#000) backgrounds. Use neutral.950 so neutral.800 borders and neutral.900 cards stay visible.
  • Don't use destructive crimson for warnings. Warnings use warning tokens: warning.200 fill in light, warning.400 fill in dark.
  • Don't use input borders lighter than neutral.500. Field edges must stay at 3:1 or more against background.
  • Don't rely on proportional figures in data columns. They misalign digits across rows.
Access
Free
Industries
climate, environmental monitoring, energy analytics
Mood
technical, precise, focused, calm
Display font
Atkinson Hyperlegible
Body font
Atkinson Hyperlegible
Mono font
JetBrains Mono
Density
Compact
Contrast
High
Corner radius
4px

Similar presets

All 251 presets →