Foundations
Spacing
Crystal's Fibonacci-based spacing scale for harmonious layouts.
Crystal uses a Fibonacci-inspired spacing scale that provides natural visual rhythm. Each step is approximately the sum of the previous two, creating proportions found throughout nature and classical design.
The Scale
Fibonacci Spacing Scale
4 → 8 → 16 → 24 → 40 → 64 → 104 → 168 → 27200px
14px
28px
316px
424px
540px
664px
7104px
8168px
9272px
Click any bar to copy the CSS variable. Use: spacing-{n} in Tailwind or var(--spacing-{n}) in CSS.
Spacing Tokens
| Token | Variable | Value | Preview |
|---|---|---|---|
spacing-0 | --spacing-0 | 0px | |
spacing-1 | --spacing-1 | 4px | |
spacing-2 | --spacing-2 | 8px | |
spacing-3 | --spacing-3 | 16px | |
spacing-4 | --spacing-4 | 24px | |
spacing-5 | --spacing-5 | 40px | |
spacing-6 | --spacing-6 | 64px | |
spacing-7 | --spacing-7 | 104px | |
spacing-8 | --spacing-8 | 168px | |
spacing-9 | --spacing-9 | 272px |
Values update live with theme changes. Click any row to copy the CSS variable.
Tailwind Usage
The spacing scale maps to Tailwind's spacing utilities:
<div class="p-3">16px padding</div>
<div class="gap-2">8px gap</div>
<div class="mt-5">40px top margin</div>
<div class="py-6">64px vertical padding</div>CSS Custom Properties
.hero {
padding: var(--spacing-6) var(--spacing-4); /* 64px 24px */
margin-bottom: var(--spacing-7); /* 104px */
}
.card {
padding: var(--spacing-4); /* 24px */
gap: var(--spacing-2); /* 8px */
}Why Fibonacci?
Traditional spacing systems use linear scales (4, 8, 12, 16, 20...) or powers of 2 (4, 8, 16, 32, 64...). Crystal's Fibonacci-inspired scale provides:
- Natural harmony: Ratios approximate the golden ratio (1.618)
- Clear hierarchy: Each step is visually distinct from adjacent steps
- Fewer decisions: 10 values cover all use cases from inline gaps to full-page margins
- Consistent proportion: The ratio between any two adjacent steps feels balanced