Spacing-Only Pass · Per Archetype

No layout changes. Each archetype is reproduced as-is from the actual app, then the AFTER column applies only the snug+1 spacing tokens — padding, gaps, margins. Same components, same columns, same visual hierarchy. Only the rhythm changes.

1 · Index / Grid

Stats + upload (top) · FilterBar · LetterBar · Masonry — or empty-state Panel

Spacing changes here are limited: the masonry grid, FilterBar, and LetterBar already have their own (correct) rhythm. The only thing that adopts the new tokens is the empty-state Panel shown when nothing matches.

BEFORE — empty state · p-16 + mb-3

Nothing Matches

All filtered out — switch back to All.

AFTER — Panel · p-card + mb-label

Nothing Matches

All filtered out — switch back to All.

2 · Detail

Already shipped on /id/[code] — reference only

No further changes. Showing the spec for cross-checking.

3 · Settings

Existing sidebar + Card stack · only Card padding/header spacing changes

Layout stays exactly as-is — sidebar nav on the left, stacked cards on the right. The only thing that changes is the Card helper inside SettingsPanel.tsx: p-5p-card (20→15) and header margin mb-3mb-label (12→7). Card-to-card stacking gap also tightens to gap-card-gap (9 px) from the existing space-y-4 (16 px).

BEFORE — p-5 · mb-3 · space-y-4
General
Default sort
Newest ↓OldestTitle
Fade transitions
OnOff
Display
Cover columns
234
AFTER — p-card · mb-label · gap-card-gap
General
Default sort
Newest ↓OldestTitle
Fade transitions
OnOff
Display
Cover columns
234

4 · List (trash, queue)

Header strip + body · only empty-state Panel padding changes

Same layout as today: header at the top of the modal/page, scrollable body below. Body is either an empty-state Panel or a grid. Only the empty-state Panel adopts the new tokens (p-16p-card). Header strip and grid stay untouched.

BEFORE — empty trash · p-16
🗑

Trash Is Empty

Deleted images appear here for 30 days before they're gone for good.

AFTER — Panel · p-card
🗑

Trash Is Empty

Deleted images appear here for 30 days before they're gone for good.