@whykusanagi/corrupted-theme 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +133 -0
- package/README.md +6 -0
- package/docs/CAPABILITIES.md +209 -0
- package/docs/CHARACTER_LEVEL_CORRUPTION.md +264 -0
- package/docs/CORRUPTION_PHRASES.md +529 -0
- package/docs/FUTURE_WORK.md +189 -0
- package/docs/IMPLEMENTATION_VALIDATION.md +401 -0
- package/docs/LLM_PROVIDERS.md +345 -0
- package/docs/PERSONALITY.md +128 -0
- package/docs/ROADMAP.md +266 -0
- package/docs/ROUTING.md +324 -0
- package/docs/STYLE_GUIDE.md +605 -0
- package/docs/brand/BRAND_OVERVIEW.md +413 -0
- package/docs/brand/COLOR_SYSTEM.md +583 -0
- package/docs/brand/DESIGN_TOKENS.md +1009 -0
- package/docs/brand/TRANSLATION_FAILURE_AESTHETIC.md +525 -0
- package/docs/brand/TYPOGRAPHY.md +624 -0
- package/docs/components/ANIMATION_GUIDELINES.md +901 -0
- package/docs/components/COMPONENT_LIBRARY.md +1061 -0
- package/docs/components/GLASSMORPHISM.md +602 -0
- package/docs/components/INTERACTIVE_STATES.md +766 -0
- package/docs/governance/CONTRIBUTION_GUIDELINES.md +593 -0
- package/docs/governance/DESIGN_SYSTEM_GOVERNANCE.md +451 -0
- package/docs/governance/VERSION_MANAGEMENT.md +447 -0
- package/docs/governance/VERSION_REFERENCES.md +229 -0
- package/docs/platforms/CLI_IMPLEMENTATION.md +1025 -0
- package/docs/platforms/COMPONENT_MAPPING.md +579 -0
- package/docs/platforms/NPM_PACKAGE.md +854 -0
- package/docs/platforms/WEB_IMPLEMENTATION.md +1221 -0
- package/docs/standards/ACCESSIBILITY.md +715 -0
- package/docs/standards/ANTI_PATTERNS.md +554 -0
- package/docs/standards/SPACING_SYSTEM.md +549 -0
- package/examples/button.html +1 -1
- package/examples/card.html +1 -1
- package/examples/form.html +1 -1
- package/examples/index.html +2 -2
- package/examples/layout.html +1 -1
- package/examples/nikke-team-builder.html +1 -1
- package/examples/showcase-complete.html +840 -15
- package/examples/showcase.html +1 -1
- package/package.json +4 -2
- package/src/css/components.css +676 -0
- package/src/lib/character-corruption.js +563 -0
- package/src/lib/components.js +283 -0
|
@@ -0,0 +1,549 @@
|
|
|
1
|
+
# Spacing System
|
|
2
|
+
|
|
3
|
+
> **Celeste Brand System** | Standards Documentation
|
|
4
|
+
> **Document**: 8-Point Spacing Scale and Layout Guidelines
|
|
5
|
+
> **Version**: 1.0.0
|
|
6
|
+
> **Last Updated**: 2025-12-13
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Table of Contents
|
|
11
|
+
|
|
12
|
+
1. [Overview](#overview)
|
|
13
|
+
2. [8-Point Scale](#8-point-scale)
|
|
14
|
+
3. [Padding & Margin](#padding--margin)
|
|
15
|
+
4. [Vertical Rhythm](#vertical-rhythm)
|
|
16
|
+
5. [Grid System](#grid-system)
|
|
17
|
+
6. [Responsive Spacing](#responsive-spacing)
|
|
18
|
+
7. [CLI Spacing](#cli-spacing)
|
|
19
|
+
8. [Component Spacing](#component-spacing)
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Overview
|
|
24
|
+
|
|
25
|
+
Celeste uses an **8-point spacing scale** for consistent, harmonious layouts across all platforms. This mathematical approach creates visual rhythm and makes designs easier to implement.
|
|
26
|
+
|
|
27
|
+
### Spacing Philosophy
|
|
28
|
+
|
|
29
|
+
- **Predictable**: All spacing values are multiples of 4px or 8px
|
|
30
|
+
- **Scalable**: Spacing scales proportionally on larger screens
|
|
31
|
+
- **Consistent**: Same ratios across web and CLI
|
|
32
|
+
- **Accessible**: Sufficient touch target spacing (44px minimum)
|
|
33
|
+
- **Harmonious**: Visual rhythm through mathematical relationships
|
|
34
|
+
|
|
35
|
+
### Base Unit
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
Base Unit = 8px (0.5rem)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
All spacing values derive from this base, ensuring visual consistency.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 8-Point Scale
|
|
46
|
+
|
|
47
|
+
### Scale Definition
|
|
48
|
+
|
|
49
|
+
```css
|
|
50
|
+
:root {
|
|
51
|
+
/* 8-point spacing scale */
|
|
52
|
+
--spacing-0: 0; /* 0px - No spacing */
|
|
53
|
+
--spacing-xs: 0.25rem; /* 4px - Minimal gap */
|
|
54
|
+
--spacing-sm: 0.5rem; /* 8px - Small gap */
|
|
55
|
+
--spacing-md: 1rem; /* 16px - Medium gap (base) */
|
|
56
|
+
--spacing-lg: 1.5rem; /* 24px - Large gap */
|
|
57
|
+
--spacing-xl: 2rem; /* 32px - Extra large */
|
|
58
|
+
--spacing-2xl: 3rem; /* 48px - Double extra large */
|
|
59
|
+
--spacing-3xl: 4rem; /* 64px - Triple extra large */
|
|
60
|
+
--spacing-4xl: 6rem; /* 96px - Section spacing */
|
|
61
|
+
--spacing-5xl: 8rem; /* 128px - Page spacing */
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Visual Reference
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
0px │
|
|
69
|
+
4px │■
|
|
70
|
+
8px │■■
|
|
71
|
+
16px │■■■■
|
|
72
|
+
24px │■■■■■■
|
|
73
|
+
32px │■■■■■■■■
|
|
74
|
+
48px │■■■■■■■■■■■■
|
|
75
|
+
64px │■■■■■■■■■■■■■■■■
|
|
76
|
+
96px │■■■■■■■■■■■■■■■■■■■■■■■■
|
|
77
|
+
128px │■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Usage Guidelines
|
|
81
|
+
|
|
82
|
+
| Size | Value | Use Case |
|
|
83
|
+
|------|-------|----------|
|
|
84
|
+
| **xs** | 4px | Icon-text gap, badge padding |
|
|
85
|
+
| **sm** | 8px | Button padding, list item gaps |
|
|
86
|
+
| **md** | 16px | Card padding, section spacing |
|
|
87
|
+
| **lg** | 24px | Container padding (mobile) |
|
|
88
|
+
| **xl** | 32px | Container padding (desktop) |
|
|
89
|
+
| **2xl** | 48px | Section spacing |
|
|
90
|
+
| **3xl** | 64px | Hero spacing |
|
|
91
|
+
| **4xl** | 96px | Page section spacing |
|
|
92
|
+
| **5xl** | 128px | Landing page sections |
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Padding & Margin
|
|
97
|
+
|
|
98
|
+
### Component Padding
|
|
99
|
+
|
|
100
|
+
```css
|
|
101
|
+
/* Button padding */
|
|
102
|
+
.btn {
|
|
103
|
+
padding: var(--spacing-sm) var(--spacing-md); /* 8px 16px */
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.btn-large {
|
|
107
|
+
padding: var(--spacing-md) var(--spacing-xl); /* 16px 32px */
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/* Card padding */
|
|
111
|
+
.glass-card {
|
|
112
|
+
padding: var(--spacing-xl); /* 32px all sides */
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.glass-card-compact {
|
|
116
|
+
padding: var(--spacing-md); /* 16px all sides */
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/* Input padding */
|
|
120
|
+
.input {
|
|
121
|
+
padding: var(--spacing-sm) var(--spacing-md); /* 8px 16px */
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Margin Relationships
|
|
126
|
+
|
|
127
|
+
```css
|
|
128
|
+
/* Stack elements vertically */
|
|
129
|
+
.section {
|
|
130
|
+
margin-bottom: var(--spacing-2xl); /* 48px between sections */
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.section > * + * {
|
|
134
|
+
margin-top: var(--spacing-lg); /* 24px between elements */
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/* Horizontal spacing (button groups) */
|
|
138
|
+
.btn + .btn {
|
|
139
|
+
margin-left: var(--spacing-sm); /* 8px gap */
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Container Padding
|
|
144
|
+
|
|
145
|
+
```css
|
|
146
|
+
/* Page container */
|
|
147
|
+
.container {
|
|
148
|
+
padding: 0 var(--spacing-md); /* 16px horizontal padding */
|
|
149
|
+
max-width: 1200px;
|
|
150
|
+
margin: 0 auto;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/* Responsive container padding */
|
|
154
|
+
@media (min-width: 641px) {
|
|
155
|
+
.container {
|
|
156
|
+
padding: 0 var(--spacing-xl); /* 32px on tablet */
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
@media (min-width: 1025px) {
|
|
161
|
+
.container {
|
|
162
|
+
padding: 0 var(--spacing-2xl); /* 48px on desktop */
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Vertical Rhythm
|
|
170
|
+
|
|
171
|
+
### Line Height Relationships
|
|
172
|
+
|
|
173
|
+
Typography line heights should maintain 8px rhythm:
|
|
174
|
+
|
|
175
|
+
```css
|
|
176
|
+
:root {
|
|
177
|
+
/* Base line height: 24px (16px × 1.5) */
|
|
178
|
+
--line-height-tight: 1.2; /* 19.2px ≈ 20px */
|
|
179
|
+
--line-height-normal: 1.5; /* 24px ✓ (16px base) */
|
|
180
|
+
--line-height-relaxed: 1.75; /* 28px ≈ 32px */
|
|
181
|
+
--line-height-loose: 2; /* 32px ✓ */
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/* Body text */
|
|
185
|
+
body {
|
|
186
|
+
font-size: 1rem; /* 16px */
|
|
187
|
+
line-height: var(--line-height-normal); /* 24px - maintains rhythm */
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/* Headings */
|
|
191
|
+
h1 {
|
|
192
|
+
font-size: 3.75rem; /* 60px */
|
|
193
|
+
line-height: 1.2; /* 72px (60 × 1.2) - 8px multiple ✓ */
|
|
194
|
+
margin-bottom: var(--spacing-xl); /* 32px */
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
h2 {
|
|
198
|
+
font-size: 2.5rem; /* 40px */
|
|
199
|
+
line-height: 1.2; /* 48px (40 × 1.2) - 8px multiple ✓ */
|
|
200
|
+
margin-bottom: var(--spacing-lg); /* 24px */
|
|
201
|
+
}
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Vertical Spacing Stack
|
|
205
|
+
|
|
206
|
+
```css
|
|
207
|
+
/* Consistent vertical spacing between elements */
|
|
208
|
+
.content > * + * {
|
|
209
|
+
margin-top: var(--spacing-lg); /* 24px default gap */
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.content > h2 + * {
|
|
213
|
+
margin-top: var(--spacing-md); /* 16px after heading */
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
.content > p + p {
|
|
217
|
+
margin-top: var(--spacing-md); /* 16px between paragraphs */
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/* Section spacing */
|
|
221
|
+
.section {
|
|
222
|
+
padding-top: var(--spacing-4xl); /* 96px */
|
|
223
|
+
padding-bottom: var(--spacing-4xl); /* 96px */
|
|
224
|
+
}
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Grid System
|
|
230
|
+
|
|
231
|
+
### 12-Column Grid (Optional)
|
|
232
|
+
|
|
233
|
+
```css
|
|
234
|
+
.grid {
|
|
235
|
+
display: grid;
|
|
236
|
+
gap: var(--spacing-md); /* 16px gutter */
|
|
237
|
+
grid-template-columns: repeat(12, 1fr);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
/* Span utilities */
|
|
241
|
+
.col-1 { grid-column: span 1; }
|
|
242
|
+
.col-2 { grid-column: span 2; }
|
|
243
|
+
.col-3 { grid-column: span 3; }
|
|
244
|
+
.col-4 { grid-column: span 4; }
|
|
245
|
+
.col-6 { grid-column: span 6; }
|
|
246
|
+
.col-12 { grid-column: span 12; }
|
|
247
|
+
|
|
248
|
+
/* Responsive columns */
|
|
249
|
+
@media (max-width: 640px) {
|
|
250
|
+
.col-1, .col-2, .col-3, .col-4, .col-6 {
|
|
251
|
+
grid-column: span 12; /* Full width on mobile */
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### Flexbox Spacing
|
|
257
|
+
|
|
258
|
+
```css
|
|
259
|
+
/* Equal spacing between flex items */
|
|
260
|
+
.flex-row {
|
|
261
|
+
display: flex;
|
|
262
|
+
gap: var(--spacing-md); /* 16px gap (modern) */
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
/* Legacy browsers (no gap support) */
|
|
266
|
+
.flex-row-legacy {
|
|
267
|
+
display: flex;
|
|
268
|
+
margin: 0 calc(var(--spacing-md) * -0.5); /* Negative margin trick */
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
.flex-row-legacy > * {
|
|
272
|
+
margin: 0 calc(var(--spacing-md) * 0.5); /* Restore spacing */
|
|
273
|
+
}
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## Responsive Spacing
|
|
279
|
+
|
|
280
|
+
### Mobile-First Scaling
|
|
281
|
+
|
|
282
|
+
```css
|
|
283
|
+
/* Mobile: Compact spacing */
|
|
284
|
+
:root {
|
|
285
|
+
--spacing-page: var(--spacing-xl); /* 32px */
|
|
286
|
+
--spacing-section: var(--spacing-2xl); /* 48px */
|
|
287
|
+
--spacing-card: var(--spacing-md); /* 16px */
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
/* Tablet: Moderate spacing */
|
|
291
|
+
@media (min-width: 641px) {
|
|
292
|
+
:root {
|
|
293
|
+
--spacing-page: var(--spacing-2xl); /* 48px */
|
|
294
|
+
--spacing-section: var(--spacing-3xl); /* 64px */
|
|
295
|
+
--spacing-card: var(--spacing-lg); /* 24px */
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
/* Desktop: Generous spacing */
|
|
300
|
+
@media (min-width: 1025px) {
|
|
301
|
+
:root {
|
|
302
|
+
--spacing-page: var(--spacing-3xl); /* 64px */
|
|
303
|
+
--spacing-section: var(--spacing-4xl); /* 96px */
|
|
304
|
+
--spacing-card: var(--spacing-xl); /* 32px */
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/* Usage */
|
|
309
|
+
.page {
|
|
310
|
+
padding: var(--spacing-page); /* Scales automatically */
|
|
311
|
+
}
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### Viewport-Based Spacing (Advanced)
|
|
315
|
+
|
|
316
|
+
```css
|
|
317
|
+
/* Scale spacing with viewport width */
|
|
318
|
+
.hero {
|
|
319
|
+
padding: clamp(
|
|
320
|
+
var(--spacing-2xl), /* Minimum: 48px */
|
|
321
|
+
8vw, /* Preferred: 8% of viewport */
|
|
322
|
+
var(--spacing-5xl) /* Maximum: 128px */
|
|
323
|
+
);
|
|
324
|
+
}
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
## CLI Spacing
|
|
330
|
+
|
|
331
|
+
### Line-Based Spacing
|
|
332
|
+
|
|
333
|
+
Terminal spacing uses **line counts** instead of pixels:
|
|
334
|
+
|
|
335
|
+
```go
|
|
336
|
+
// Vertical spacing (newlines)
|
|
337
|
+
const (
|
|
338
|
+
SpacingNone = 0 // No gap
|
|
339
|
+
SpacingTight = 1 // 1 line gap
|
|
340
|
+
SpacingNormal = 2 // 2 line gap (default)
|
|
341
|
+
SpacingLoose = 3 // 3 line gap
|
|
342
|
+
SpacingWide = 5 // 5 line gap (sections)
|
|
343
|
+
)
|
|
344
|
+
|
|
345
|
+
// Horizontal spacing (characters)
|
|
346
|
+
const (
|
|
347
|
+
PaddingNone = 0 // No padding
|
|
348
|
+
PaddingTight = 1 // 1 char padding
|
|
349
|
+
PaddingNormal = 2 // 2 char padding (default)
|
|
350
|
+
PaddingWide = 4 // 4 char padding
|
|
351
|
+
)
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### CLI Spacing Examples
|
|
355
|
+
|
|
356
|
+
```go
|
|
357
|
+
// Vertical spacing between sections
|
|
358
|
+
func RenderSections(section1, section2 string) string {
|
|
359
|
+
gap := strings.Repeat("\n", SpacingNormal) // 2 newlines
|
|
360
|
+
return section1 + gap + section2
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
// Horizontal padding (lipgloss)
|
|
364
|
+
style := lipgloss.NewStyle().
|
|
365
|
+
Padding(1, 2) // 1 line vertical, 2 chars horizontal
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
### CLI-to-Web Mapping
|
|
369
|
+
|
|
370
|
+
| CLI Spacing | Web Equivalent | Use Case |
|
|
371
|
+
|-------------|----------------|----------|
|
|
372
|
+
| 1 line | 16px (`--spacing-md`) | Between list items |
|
|
373
|
+
| 2 lines | 32px (`--spacing-xl`) | Between sections |
|
|
374
|
+
| 3 lines | 48px (`--spacing-2xl`) | Between major sections |
|
|
375
|
+
| 5 lines | 96px (`--spacing-4xl`) | Between pages |
|
|
376
|
+
| 1 char | 8px (`--spacing-sm`) | Compact padding |
|
|
377
|
+
| 2 chars | 16px (`--spacing-md`) | Normal padding |
|
|
378
|
+
| 4 chars | 32px (`--spacing-xl`) | Wide padding |
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
## Component Spacing
|
|
383
|
+
|
|
384
|
+
### Button Spacing
|
|
385
|
+
|
|
386
|
+
```css
|
|
387
|
+
/* Button internal spacing */
|
|
388
|
+
.btn {
|
|
389
|
+
padding: var(--spacing-sm) var(--spacing-md); /* 8px 16px */
|
|
390
|
+
gap: var(--spacing-xs); /* 4px between icon + text */
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
/* Button group spacing */
|
|
394
|
+
.btn-group {
|
|
395
|
+
display: flex;
|
|
396
|
+
gap: var(--spacing-sm); /* 8px between buttons */
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
/* Stacked buttons (mobile) */
|
|
400
|
+
@media (max-width: 640px) {
|
|
401
|
+
.btn-group {
|
|
402
|
+
flex-direction: column;
|
|
403
|
+
gap: var(--spacing-sm); /* 8px vertical gap */
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
.btn {
|
|
407
|
+
width: 100%; /* Full width on mobile */
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
### Card Spacing
|
|
413
|
+
|
|
414
|
+
```css
|
|
415
|
+
/* Card internal spacing */
|
|
416
|
+
.glass-card {
|
|
417
|
+
padding: var(--spacing-xl); /* 32px all sides */
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
.glass-card > * + * {
|
|
421
|
+
margin-top: var(--spacing-md); /* 16px between children */
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
/* Card grid spacing */
|
|
425
|
+
.card-grid {
|
|
426
|
+
display: grid;
|
|
427
|
+
gap: var(--spacing-lg); /* 24px gutter */
|
|
428
|
+
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
|
429
|
+
}
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
### Form Spacing
|
|
433
|
+
|
|
434
|
+
```css
|
|
435
|
+
/* Form field spacing */
|
|
436
|
+
.form-group {
|
|
437
|
+
margin-bottom: var(--spacing-lg); /* 24px between fields */
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
.form-group label {
|
|
441
|
+
display: block;
|
|
442
|
+
margin-bottom: var(--spacing-xs); /* 4px label-input gap */
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
/* Input internal spacing */
|
|
446
|
+
.input {
|
|
447
|
+
padding: var(--spacing-sm) var(--spacing-md); /* 8px 16px */
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
/* Form actions */
|
|
451
|
+
.form-actions {
|
|
452
|
+
margin-top: var(--spacing-xl); /* 32px above buttons */
|
|
453
|
+
display: flex;
|
|
454
|
+
gap: var(--spacing-sm); /* 8px between buttons */
|
|
455
|
+
}
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
### Navigation Spacing
|
|
459
|
+
|
|
460
|
+
```css
|
|
461
|
+
/* Navbar spacing */
|
|
462
|
+
.navbar {
|
|
463
|
+
padding: var(--spacing-md) var(--spacing-xl); /* 16px 32px */
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
.navbar-links {
|
|
467
|
+
display: flex;
|
|
468
|
+
gap: var(--spacing-lg); /* 24px between links */
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
/* Breadcrumb spacing */
|
|
472
|
+
.breadcrumb {
|
|
473
|
+
display: flex;
|
|
474
|
+
gap: var(--spacing-xs); /* 4px around separator */
|
|
475
|
+
}
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
---
|
|
479
|
+
|
|
480
|
+
## Quick Reference
|
|
481
|
+
|
|
482
|
+
### Spacing Cheat Sheet
|
|
483
|
+
|
|
484
|
+
```css
|
|
485
|
+
/* Copy-paste ready spacing utilities */
|
|
486
|
+
|
|
487
|
+
/* Padding utilities */
|
|
488
|
+
.p-0 { padding: 0; }
|
|
489
|
+
.p-xs { padding: var(--spacing-xs); }
|
|
490
|
+
.p-sm { padding: var(--spacing-sm); }
|
|
491
|
+
.p-md { padding: var(--spacing-md); }
|
|
492
|
+
.p-lg { padding: var(--spacing-lg); }
|
|
493
|
+
.p-xl { padding: var(--spacing-xl); }
|
|
494
|
+
|
|
495
|
+
/* Margin utilities */
|
|
496
|
+
.m-0 { margin: 0; }
|
|
497
|
+
.m-xs { margin: var(--spacing-xs); }
|
|
498
|
+
.m-sm { margin: var(--spacing-sm); }
|
|
499
|
+
.m-md { margin: var(--spacing-md); }
|
|
500
|
+
.m-lg { margin: var(--spacing-lg); }
|
|
501
|
+
.m-xl { margin: var(--spacing-xl); }
|
|
502
|
+
|
|
503
|
+
/* Gap utilities (flexbox/grid) */
|
|
504
|
+
.gap-xs { gap: var(--spacing-xs); }
|
|
505
|
+
.gap-sm { gap: var(--spacing-sm); }
|
|
506
|
+
.gap-md { gap: var(--spacing-md); }
|
|
507
|
+
.gap-lg { gap: var(--spacing-lg); }
|
|
508
|
+
.gap-xl { gap: var(--spacing-xl); }
|
|
509
|
+
```
|
|
510
|
+
|
|
511
|
+
### Common Patterns
|
|
512
|
+
|
|
513
|
+
```css
|
|
514
|
+
/* Stack pattern (consistent vertical spacing) */
|
|
515
|
+
.stack > * + * {
|
|
516
|
+
margin-top: var(--spacing-md);
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
/* Cluster pattern (horizontal spacing with wrapping) */
|
|
520
|
+
.cluster {
|
|
521
|
+
display: flex;
|
|
522
|
+
flex-wrap: wrap;
|
|
523
|
+
gap: var(--spacing-sm);
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
/* Center pattern (centered content with side padding) */
|
|
527
|
+
.center {
|
|
528
|
+
max-width: 1200px;
|
|
529
|
+
margin: 0 auto;
|
|
530
|
+
padding: 0 var(--spacing-xl);
|
|
531
|
+
}
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
---
|
|
535
|
+
|
|
536
|
+
## Related Documentation
|
|
537
|
+
|
|
538
|
+
- [DESIGN_TOKENS.md](../brand/DESIGN_TOKENS.md) - Spacing token specifications
|
|
539
|
+
- [TYPOGRAPHY.md](../brand/TYPOGRAPHY.md) - Line height and vertical rhythm
|
|
540
|
+
- [WEB_IMPLEMENTATION.md](../platforms/WEB_IMPLEMENTATION.md) - Responsive spacing examples
|
|
541
|
+
- [CLI_IMPLEMENTATION.md](../platforms/CLI_IMPLEMENTATION.md) - Terminal spacing patterns
|
|
542
|
+
|
|
543
|
+
---
|
|
544
|
+
|
|
545
|
+
**Last Updated**: 2025-12-13
|
|
546
|
+
**Version**: 1.0.0
|
|
547
|
+
**Base Unit**: 8px
|
|
548
|
+
**Maintainer**: Celeste Brand System
|
|
549
|
+
**Status**: ✅ Production Ready
|
package/examples/button.html
CHANGED
|
@@ -438,7 +438,7 @@
|
|
|
438
438
|
</section>
|
|
439
439
|
|
|
440
440
|
<footer style="text-align: center; padding: var(--spacing-2xl) var(--spacing-lg); margin-top: var(--spacing-2xl); border-top: 1px solid var(--border); color: var(--text-secondary);">
|
|
441
|
-
<p>Button Component Documentation • Corrupted Theme v0.1.
|
|
441
|
+
<p>Button Component Documentation • Corrupted Theme v0.1.3</p>
|
|
442
442
|
<p style="font-size: 0.875rem; margin-top: var(--spacing-md);">
|
|
443
443
|
<a href="index.html" style="color: var(--accent); text-decoration: none;">← Back to Showcase</a>
|
|
444
444
|
</p>
|
package/examples/card.html
CHANGED
|
@@ -681,7 +681,7 @@
|
|
|
681
681
|
</section>
|
|
682
682
|
|
|
683
683
|
<footer style="text-align: center; padding: var(--spacing-2xl) var(--spacing-lg); margin-top: var(--spacing-2xl); border-top: 1px solid var(--border); color: var(--text-secondary);">
|
|
684
|
-
<p>Card Components Documentation • Corrupted Theme v0.1.
|
|
684
|
+
<p>Card Components Documentation • Corrupted Theme v0.1.3</p>
|
|
685
685
|
<p style="font-size: 0.875rem; margin-top: var(--spacing-md);">
|
|
686
686
|
<a href="index.html" style="color: var(--accent); text-decoration: none;">← Back to Showcase</a>
|
|
687
687
|
</p>
|
package/examples/form.html
CHANGED
|
@@ -550,7 +550,7 @@
|
|
|
550
550
|
</section>
|
|
551
551
|
|
|
552
552
|
<footer style="text-align: center; padding: var(--spacing-2xl) var(--spacing-lg); margin-top: var(--spacing-2xl); border-top: 1px solid var(--border); color: var(--text-secondary);">
|
|
553
|
-
<p>Form Components Documentation • Corrupted Theme v0.1.
|
|
553
|
+
<p>Form Components Documentation • Corrupted Theme v0.1.3</p>
|
|
554
554
|
<p style="font-size: 0.875rem; margin-top: var(--spacing-md);">
|
|
555
555
|
<a href="index.html" style="color: var(--accent); text-decoration: none;">← Back to Showcase</a>
|
|
556
556
|
</p>
|
package/examples/index.html
CHANGED
|
@@ -473,7 +473,7 @@
|
|
|
473
473
|
<div class="hero-content">
|
|
474
474
|
<div class="hero-badge">
|
|
475
475
|
<i class="fas fa-sparkles"></i>
|
|
476
|
-
<span>v0.1.
|
|
476
|
+
<span>v0.1.3 — Production Ready</span>
|
|
477
477
|
</div>
|
|
478
478
|
<h1>Corrupted Theme</h1>
|
|
479
479
|
<p class="hero-description">
|
|
@@ -722,7 +722,7 @@
|
|
|
722
722
|
<a href="https://www.npmjs.com/package/@whykusanagi/corrupted-theme" target="_blank"><i class="fab fa-npm"></i> npm</a>
|
|
723
723
|
</div>
|
|
724
724
|
<p class="footer-meta">
|
|
725
|
-
Corrupted Theme v0.1.
|
|
725
|
+
Corrupted Theme v0.1.3 • Built with <i class="fas fa-heart" style="color: var(--accent);"></i> by
|
|
726
726
|
<a href="https://whykusanagi.xyz" target="_blank">@whykusanagi</a>
|
|
727
727
|
</p>
|
|
728
728
|
</div>
|
package/examples/layout.html
CHANGED
|
@@ -511,7 +511,7 @@
|
|
|
511
511
|
</section>
|
|
512
512
|
|
|
513
513
|
<footer style="text-align: center; padding: var(--spacing-2xl) var(--spacing-lg); margin-top: var(--spacing-2xl); border-top: 1px solid var(--border); color: var(--text-secondary);">
|
|
514
|
-
<p>Layout Patterns Documentation • Corrupted Theme v0.1.
|
|
514
|
+
<p>Layout Patterns Documentation • Corrupted Theme v0.1.3</p>
|
|
515
515
|
<p style="font-size: 0.875rem; margin-top: var(--spacing-md);">
|
|
516
516
|
<a href="index.html" style="color: var(--accent); text-decoration: none;">← Back to Showcase</a>
|
|
517
517
|
</p>
|
|
@@ -563,7 +563,7 @@
|
|
|
563
563
|
</section>
|
|
564
564
|
|
|
565
565
|
<footer style="text-align: center; padding: var(--spacing-2xl) var(--spacing-lg); margin-top: var(--spacing-2xl); border-top: 1px solid var(--border); color: var(--text-secondary);">
|
|
566
|
-
<p>Nikke Team Builder Example • Corrupted Theme v0.1.
|
|
566
|
+
<p>Nikke Team Builder Example • Corrupted Theme v0.1.3</p>
|
|
567
567
|
<p style="font-size: 0.875rem; margin-top: var(--spacing-md);">
|
|
568
568
|
<a href="index.html" style="color: var(--accent); text-decoration: none;">← Back to Showcase</a> •
|
|
569
569
|
<a href="../docs/COMPONENTS_REFERENCE.md#nikke-components" style="color: var(--accent); text-decoration: none;">Documentation</a>
|