Warm neutrals. Precise type. Disciplined space.

The palette, type scale, spacing system, dark-mode behavior, and accessibility gates that every public and product surface inherits.

Color system

Light-mode working tokens

Warm neutrals do most of the work. Semantic accents stay muted and explicit.

Paper
#F6F1E8 · Main light background
Oat
#EFE7DB · Muted band / grouped section surface
Ink
#221C18 · Primary text / strong fill
Ink 2
#4A4039 · Secondary text
Cortado
#7B6250 · Tertiary text / quiet emphasis
Fog fill
#E8EDF1 · Neutral chip fill / quiet status background
Fog text
#5E6872 · Neutral status text
Eucalyptus fill
#E5EEE9 · Confirmed / available background
Eucalyptus text
#4F625B · Confirmed / available text
Clove fill
#F3E1D5 · Due / attention background
Clove text
#7B492F · Due / attention text
Border
#8E8073 · Lines, field outlines, separators
Key pairings: Ink on Paper, Ink on Surface, Fog for neutral state, Eucalyptus for confirmed, Clove for due or missing.
Dark mode

Dark mode is first-class

Dark mode stays warm and avoids pure black or neon inversion.

Night canvas
#171311 · Main page canvas
Night surface
#201B18 · Cards, sheets, panels
Night muted
#2A2320 · Grouped sections and filled fields
Night text
#F6F1E8 · Primary text
Night secondary
#E7DDD0 · Secondary text
Night tertiary
#D4C5B5 · Meta labels
Night border
#6E645B · Outlines and dividers
Night focus
#90A69C · Focus ring / selection
Sensitive or private states still need to look intentional when masked. Dark mode cannot rely on bright color to create hierarchy.
Typography

One family, no decorative second voice.

Instrument Sans is the primary family. Fallbacks are Noto Sans and system UI. Use tabular numerals for money, dates, times, counts, and scanning-heavy data.

StyleMobileDesktopUse
Hero40 / 4448 / 52Homepage hero or short opener
H132 / 3636 / 40Primary page title
H224 / 3028 / 34Section title
H318 / 2420 / 26Subsection or module title
Body16 / 2416 / 24Running product copy
Body small14 / 2014 / 20Helper or secondary text
Meta12 / 1612 / 16Meta labels
Spacing, shape, and containment

One plane. One layer of containment.

Settle breathes, but it never drifts. Density comes from hierarchy and disclosure, not from tiny type or crowded chrome.

TokenUse
4Tight micro-gap between icon and label
8Icon padding, chip inset, row subdivisions
12Compact stack gap, card inset adjustment
16Default compact margin and field padding
24Primary section gap, medium-screen side margin
32Desktop section gap, hero padding
48Large section break / figure top spacing
64Public page band spacing / hero depth
ElementValueUse
Field / small card radius10 pxText fields, list rows, compact cards
Standard surface radius12 pxPanels, bottom sheets, dialogs
Hero / image radius16 pxStill-image containers, key marketing blocks
Pill999 pxStatus chips
Border thickness1 px default / 2 px focusNormal state vs active state
Motion

Fast, quiet, and short.

Motion should feel like a page settling into place—never like the interface is performing.

PatternDefaultRule
State change100–120 ms fadeChip update, save confirmation, inline validation
Screen transition160–180 ms short slide + fadeForward navigation or pane change
Bottom sheet180 ms riseSheet or modal presentation
Reduce Motion modeFade onlyNo scale, bounce, parallax, or spring depth cues
Hard gates

Accessibility is part of the visual language.

GateRequirement
Text contrastAt least 4.5:1 for normal text; 3:1 for large text
Non-text contrastAt least 3:1 for field outlines, icons, and key controls
Color useNo state relies on color alone; pair color with text and/or iconography
Touch target48 × 48 px target size across product controls
Text resizingSupport 200% text size without clipping or loss of function
MotionRespect system Reduce Motion settings; fade-only fallback
LabelsVisible, descriptive labels for controls and form inputs
PrivacyMask sensitive notifications and shared-state previews by default

Icon system

Render contract

Every production icon uses a 24 × 24 viewBox, 1.5 px stroke weight, round caps, round joins, and currentColor inheritance. The browser pages and the TypeScript registry must stay aligned with the raw assets under icons/.

Icons do not carry their own colors. Status meaning comes from the surrounding chip or text color, while the icon inherits the same foreground value.

Size and compact priority

Render slots use token-driven sizes: xs 14 px, sm 16 px, md 20 px, lg 24 px. Dedicated slots exist for chip icons, bottom-nav icons, and app-sheet icons.

Compact widths keep only high-value placements: bottom-bar destinations, Capture, app headers, search results, object rows, Linked / Related headers, related app rows, and status chips. Decorative duplicate icons are explicitly excluded.

Source wireframes preserved

The packet also carries forward the earlier graphic artifacts. They are preserved under source_assets/ and the earlier DOCX has been dumped into semantic JSON under archive/settle_v1_docx_dump.json, so the machine-readable packet does not discard the previous level of detail.