Brushwork Design System
Product: Brushwork — Professional image editor for Mac
Owner: Apple (acquired 2024) | Platform: macOS native (AppKit)
Date: 2026-03-08
Brushwork is a macOS-native image editor known for its clean, dark editor UI, vibrant tool icons, ML-powered editing features, and single-window interface. The marketing website uses Apple's design language with a dark theme, while the app follows macOS HIG with custom touches for creative tool workflows.
Font note: The website and app use SF Pro (Apple's system font). This reference uses -apple-system / BlinkMacSystemFont which resolve to SF Pro on macOS and fall back to system defaults on other platforms.
Website Colors
Dark-themed marketing site following Apple design conventions. Deep blacks with blue and purple accents.
Primary Blue
Accent Purple / Pink
Neutrals (Apple Gray Scale)
Gradients
Website Typography
SF Pro Display for headings, SF Pro Text for body. Apple's standard type system.
reimagined.
| Style | Hero / H1 |
| Size | 56-80px |
| Weight | 700 |
| Tracking | -0.015em |
| Style | H2 |
| Size | 48px |
| Weight | 600 |
| Tracking | -0.01em |
| Style | H3 |
| Size | 32px |
| Weight | 600 |
| Style | Body Large |
| Size | 21px |
| Line-height | 31px |
| Weight | 400 |
| Style | Body |
| Size | 17px |
| Line-height | 27px |
| Style | Caption / Overline |
| Size | 12px |
| Transform | uppercase |
| Tracking | 0.06em |
Website Components
Navigation Bar
Frosted-glass nav with blur backdrop, Apple style. Fixed to viewport top.
height: 52px, bg: rgba(0,0,0,0.8), backdrop-filter: saturate(180%) blur(20px)
Buttons
| Variant | Background | Color | Radius | Padding |
|---|---|---|---|---|
| Primary | #0077ED | #ffffff | 100px (pill) | 10px 24px |
| Secondary | transparent | #2997FF | 100px (pill) | 10px 24px |
| Ghost / Link | transparent | #2997FF | none | 0 |
Feature Cards
Color Adjustments
Non-destructive, ML-enhanced color grading with over 30 presets and fine-tuned manual controls.
ML Super Resolution
Upscale images up to 6x their original resolution using machine learning trained on millions of photos.
Painting Tools
Nostalgia-perfect brushes with dual-texture engine, dynamic painting, and full Apple Pencil support.
bg: #1c1c1e, radius: 20px, padding: 40px, border: 1px solid rgba(255,255,255,0.06)
Website Layout
Container Widths
Breakpoints
App Colors
Brushwork uses a dark macOS-native theme. The editor chrome is built on warm dark grays with blue accent controls.
Chrome / Window
Controls
Tool Icon Colors — vibrant, distinct per tool category
Status Colors
App Typography
All app UI text uses SF Pro (via -apple-system). Small sizes throughout, matching macOS HIG.
| Element | Size | Weight | Color |
|---|---|---|---|
| Window Title | 13px | 600 | #e0e0e0 |
| Inspector Heading | 13px | 600 | #ffffff |
| Inspector Label | 11px | 400 | #999999 |
| Inspector Value | 11px | 400 | #e0e0e0 |
| Toolbar Label | 11px | 400 | #ababab |
| Layer Name | 12px | 400 | #ffffff |
| Menu Item | 13px | 400 | #ffffff |
| Menu Shortcut | 12px | 400 | #808080 |
| Status Bar | 11px | 400 | #999999 |
| Tooltip | 11px | 500 | #ffffff |
App Window & Layout
Single-window interface: Layers panel (left), Canvas (center), Inspector (right), Toolbar (top).
| Element | Dimension | Background |
|---|---|---|
| Title Bar | 28px height | #3a3a3a |
| Toolbar | 38px height | #323232 |
| Tool Brushwork | 36px width | #323232 |
| Layers Panel | 260px width | #2a2a2a |
| Inspector Panel | 260px width | #2e2e2e |
| Canvas Area | flexible | #1a1a1a |
| Status Bar | 22px height | #2a2a2a |
| Layer Row | 32px height | transparent |
| Window Radius | 10px | — |
Toolbar
Paystreamtal toolbar below title bar with grouped actions. Items have 6px padding and 6px border-radius.
height: 38px, bg: #323232, item-radius: 6px, hover: rgba(255,255,255,0.08), active: rgba(255,255,255,0.12)
Tool Brushwork
Vertical strip on the left edge. 36px wide, each tool icon 28×28px with 6px radius. Tools are color-coded by category.
Selection & Transform
Paint & Draw
Shape & Text
Retouch
Inspector Panel
Right-side panel, 260px wide. Collapsible sections with disclosure triangles. Contains Arrange, Style, Format, Color Adjustments, Effects.
Inspector Specs
| Property | Value |
|---|---|
| Width | 260px |
| Background | #2e2e2e |
| Border Left | 1px solid #1e1e1e |
| Section Padding | 10px 12px |
| Section Divider | 1px solid rgba(255,255,255,0.06) |
| Input Height | 22px |
| Input BG | rgba(255,255,255,0.06) |
| Input Border | 1px solid rgba(255,255,255,0.12) |
| Input Focus | 1px solid #0A84FF |
| Slider Height | 4px |
| Slider Track | #4a4a4a |
| Slider Fill | #0A84FF |
| Slider Thumb | 14px, #fff, shadow |
Layers Panel
Left-side panel showing layer stack with thumbnails. Supports grouping, drag-reorder, visibility toggles, blend modes.
| Property | Value |
|---|---|
| Panel Width | 260px |
| Background | #2a2a2a |
| Row Height | 32px |
| Row Padding | 4px 8px |
| Thumbnail | 24px, radius 4px |
| Selected BG | rgba(10,132,255,0.25) |
| Hover BG | rgba(255,255,255,0.04) |
| Group Indent | 16px |
| Divider | 1px rgba(255,255,255,0.06) |
Canvas & Selection
Central editing area with optional rulers, guides, and checkerboard transparency pattern.
Selection Handles
border: 1px dashed #0A84FF, handles: 8px white, 1px #0A84FF border
Transparency Checkerboard
#cccccc / #999999 checkerboard, 8px squares
Guide Lines
guides: 1px solid #FF9500
Color Picker
Custom color picker popover with inkwell, hue/opacity bars, hex/RGB inputs, and saved swatches.
| Property | Value |
|---|---|
| Width | 240px |
| Background | #3a3a3a |
| Border Radius | 8px |
| Padding | 12px |
| Inkwell Height | 140px |
| Bar Height | 12px |
| Swatch Size | 20px |
| Swatch Gap | 4px |
| Swatch Radius | 4px |
| Shadow | 0 4px 16px rgba(0,0,0,0.4) |
Controls
App Buttons
Segmented Control
Toggle / Switch
Progress Bar
Inputs
Dropdown / Select
ML-Powered Features
Machine learning features use a distinctive pink-to-purple gradient badge to differentiate them from standard tools.
Upscale images up to 6x using neural networks.
Remove noise while preserving detail using ML.
One-click ML color and exposure optimization.
Instantly remove backgrounds with subject detection.
Match color brushwork between two images via ML.
ML badge: gradient(135deg, #FF375F, #BF5AF2), radius: 100px, padding: 3px 10px, font: 600 11px
Spacing Scale
Borders & Shadows
Border Radius
Shadows
Glow Effects (Website)
Motion & Interaction
Website Transitions
| Element | Property | Duration | Easing |
|---|---|---|---|
| Default | all | 0.3s | ease |
| Fast (controls) | all | 0.15s | ease |
| Smooth (page) | all | 0.5s | cubic-bezier(0.4, 0, 0.2, 1) |
| Button hover | filter | 0.3s | ease |
| Card hover | transform | 0.3s | ease |
App Transitions
| Element | Duration | Easing |
|---|---|---|
| Panel reveal/hide | 0.25s | ease-in-out |
| Inspector collapse | 0.2s | ease |
| Tooltip fade | 0.15s | ease |
| Menu open | 0.1s | ease-out |
| Canvas zoom | 0.3s | ease-out |
| Layer reorder | 0.2s | ease |
| Tooltip delay | 500ms | — |
| Selection marquee | 2s linear infinite | animated dashes |
Interactive Demo
App Icon
Shape: macOS rounded rectangle (squircle), 28px radius at 128px
Gradient: Light blue (#4FC3F7) to deep blue (#01579B), top-to-bottom
Motif: Stylized bullion / light refraction in white
Shadow: 0 8px 32px rgba(2,136,209,0.4)
Tailwind Mapping
The paired JSON export now includes a tailwind section with theme extensions and component recipes. Use these mappings instead of default Tailwind tokens when recreating this system.
// tailwind.config.js
import designSystem from './design-system.json';
export default {
theme: {
extend: designSystem.tailwind.website.theme.extend,
},
};
// Swap to designSystem.tailwind.app.theme.extend for app/portal surfaces.
| Scope | Primary | Body Font | Radius | Shadow | Breakpoint |
|---|---|---|---|---|---|
| Website | — | — | 100px | — | {'max': '375px'} |
| App / Portal | — | -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", sans-serif | 6px | — | — |
| Scope | Recipe | Class Pattern | Notes |
|---|---|---|---|
| Website | buttonPrimary | inline-flex items-center justify-center gap-2 rounded-pill bg-brand-primary text-text-inverse shadow-sm px-4 py-2 font-semibold transition-colors | Primary action button using exported brand, radius, and shadow tokens. |
| Website | surfaceCard | rounded-md bg-surface-base text-text-primary border border-border-subtle shadow-sm p-6 | Default surface/card treatment for high-visibility content areas. |
| Website | inputField | rounded-sm border border-border-subtle bg-surface-base text-text-primary px-3 py-2 focus:outline-none focus:ring-2 focus:ring-focus-ring | Base text input treatment aligned to the exported radius, border, and focus tokens. |
| App / Portal | buttonPrimary | inline-flex items-center justify-center gap-2 rounded-button bg-brand-primary text-text-inverse shadow-sm px-4 py-2 font-semibold transition-colors | Primary action button using exported brand, radius, and shadow tokens. |
| App / Portal | surfaceCard | rounded-md bg-surface-base text-text-primary border border-border-subtle shadow-sm p-6 | Default surface/card treatment for high-visibility content areas. |
| App / Portal | inputField | rounded-button border border-border-subtle bg-surface-base text-text-primary px-3 py-2 focus:outline-none focus:ring-2 focus:ring-focus-ring | Base text input treatment aligned to the exported radius, border, and focus tokens. |