myapps-365/design systemArk UI

Primer, on Ark UI

A code-forward design system: functional density, blue-on-white precision, hairline borders instead of negative space. Tokens are CSS variables remapped by one data-theme attribute, so every component themes itself.

system-ui14px body4px base unit6px radius80ms hover

Color

Semantic tokens only. A component never names a hex value or a raw scale step.

Canvas

canvas-default
canvas-subtle
canvas-inset
canvas-overlay
Page and pane surfaces. No warmth, no tint.

Foreground

fg-default
fg-muted
fg-subtle
Ink. Muted carries captions and file paths.

Border

border-default
border-muted
border-subtle
Hairlines. Every pane is outlined rather than floated.

Accent

accent-fg
accent-emphasis
accent-muted
accent-subtle
Primer blue — links, primary actions, focus.

Success

success-fg
success-emphasis
success-muted
success-subtle
Merge green. Open issues, passing checks, the merge button.

Danger

danger-fg
danger-emphasis
danger-muted
danger-subtle
Closed PRs, destructive actions, validation errors.

Attention

attention-fg
attention-emphasis
attention-muted
attention-subtle
Warnings — amber surface, dark amber text.

Done & Sponsors

done-fg
done-emphasis
sponsors-fg
sponsors-subtle
Merged-and-archived purple; the sponsors heart.

Typography

System fonts always — no webfont for chrome. Weight is binary: 400, or 600 for emphasis.

Merge pull requesttext-4xl32px / 600 / -0.01em
Merge pull requesttext-2xl24px / 600
Merge pull requesttext-xl20px / 600
Merge pull requesttext-lg16px / 600
Merge pull requesttext-base14px / 400 — the default
Merge pull requesttext-xs12px / 400
git rebase --onto main featurefont-mono12px SFMono — code and diffs

Shape & depth

Hairline borders define panes; shadow is reserved for things that actually float.

Radius

rounded-sm
rounded-md
rounded-lg
rounded-xl
rounded-full
6px everywhere; 12px only for a dialog.

Elevation

shadow-xs
shadow-btn
shadow-md
shadow-overlay
Shadow marks what floats above the page — nothing else.

Space & motion

A 4px grid, a 1280px page, and animation short enough to go unnoticed.

Spacing — 4px base unit

p-14px
p-28px
p-312px
p-416px
p-520px
p-624px
p-832px
p-1040px
p-1248px
Rows are 16px horizontal / 12px vertical. Lists are dense by design.

Motion

duration-80   ease-out   /* hover, press, color */
duration-200  ease-out   /* menu / dialog / popover open */
duration-120  ease-in    /* close */

/* Avoided: page-load animation, parallax, persistent
   micro-interactions. Things appear; they do not perform. */