@jaimevalasek/aioson 1.30.0 → 1.30.2

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.
Files changed (93) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/docs/design-previews/cognitive-core-ui-auth.html +95 -0
  3. package/docs/design-previews/cognitive-core-ui-kanban.html +231 -0
  4. package/docs/design-previews/cognitive-core-ui-list-detail.html +174 -0
  5. package/docs/design-previews/cognitive-core-ui-preview.css +1315 -0
  6. package/docs/design-previews/cognitive-core-ui-settings.html +142 -0
  7. package/docs/design-previews/cognitive-core-ui-website.html +190 -1009
  8. package/docs/design-previews/cognitive-core-ui.html +281 -463
  9. package/docs/design-previews/index.html +83 -31
  10. package/package.json +1 -1
  11. package/src/constants.js +578 -514
  12. package/template/.aioson/docs/integrations/dashboard-app-form-publish-mapping.md +183 -0
  13. package/template/.aioson/docs/play/README.md +74 -0
  14. package/template/.aioson/docs/play/agent-usage-guide.md +112 -0
  15. package/template/.aioson/docs/play/app-compatibility-guide.md +117 -0
  16. package/template/.aioson/docs/play/auth-services-and-testing.md +235 -0
  17. package/template/.aioson/docs/play/llm-data-and-bindings.md +238 -0
  18. package/template/.aioson/docs/play/manifest-and-runtime.md +267 -0
  19. package/template/.aioson/docs/play/source-map.md +104 -0
  20. package/template/.aioson/skills/design/aurora-command-ui/SKILL.md +266 -243
  21. package/template/.aioson/skills/design/aurora-command-ui/references/art-direction.md +293 -293
  22. package/template/.aioson/skills/design/aurora-command-ui/references/components.md +827 -827
  23. package/template/.aioson/skills/design/aurora-command-ui/references/dashboards.md +250 -250
  24. package/template/.aioson/skills/design/aurora-command-ui/references/design-tokens.md +585 -585
  25. package/template/.aioson/skills/design/aurora-command-ui/references/motion.md +365 -365
  26. package/template/.aioson/skills/design/aurora-command-ui/references/patterns.md +485 -482
  27. package/template/.aioson/skills/design/aurora-command-ui/references/websites.md +386 -387
  28. package/template/.aioson/skills/design/bold-editorial-ui/SKILL.md +228 -205
  29. package/template/.aioson/skills/design/bold-editorial-ui/references/art-direction.md +338 -338
  30. package/template/.aioson/skills/design/bold-editorial-ui/references/components.md +977 -977
  31. package/template/.aioson/skills/design/bold-editorial-ui/references/dashboards.md +218 -218
  32. package/template/.aioson/skills/design/bold-editorial-ui/references/design-tokens.md +326 -326
  33. package/template/.aioson/skills/design/bold-editorial-ui/references/motion.md +461 -461
  34. package/template/.aioson/skills/design/bold-editorial-ui/references/patterns.md +293 -293
  35. package/template/.aioson/skills/design/bold-editorial-ui/references/websites.md +352 -352
  36. package/template/.aioson/skills/design/clean-saas-ui/SKILL.md +233 -210
  37. package/template/.aioson/skills/design/clean-saas-ui/references/art-direction.md +319 -319
  38. package/template/.aioson/skills/design/clean-saas-ui/references/components.md +365 -365
  39. package/template/.aioson/skills/design/clean-saas-ui/references/dashboards.md +196 -196
  40. package/template/.aioson/skills/design/clean-saas-ui/references/design-tokens.md +244 -244
  41. package/template/.aioson/skills/design/clean-saas-ui/references/motion.md +235 -235
  42. package/template/.aioson/skills/design/clean-saas-ui/references/patterns.md +215 -215
  43. package/template/.aioson/skills/design/clean-saas-ui/references/websites.md +295 -295
  44. package/template/.aioson/skills/design/cognitive-core-ui/SKILL.md +239 -203
  45. package/template/.aioson/skills/design/cognitive-core-ui/references/art-direction.md +339 -339
  46. package/template/.aioson/skills/design/cognitive-core-ui/references/components.md +417 -407
  47. package/template/.aioson/skills/design/cognitive-core-ui/references/dashboards.md +289 -272
  48. package/template/.aioson/skills/design/cognitive-core-ui/references/design-tokens.md +525 -524
  49. package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +279 -279
  50. package/template/.aioson/skills/design/cognitive-core-ui/references/patterns.md +355 -289
  51. package/template/.aioson/skills/design/cognitive-core-ui/references/websites.md +443 -437
  52. package/template/.aioson/skills/design/glassmorphism-ui/SKILL.md +245 -222
  53. package/template/.aioson/skills/design/glassmorphism-ui/references/art-direction.md +159 -159
  54. package/template/.aioson/skills/design/glassmorphism-ui/references/components.md +498 -498
  55. package/template/.aioson/skills/design/glassmorphism-ui/references/dashboards.md +236 -236
  56. package/template/.aioson/skills/design/glassmorphism-ui/references/design-tokens.md +274 -274
  57. package/template/.aioson/skills/design/glassmorphism-ui/references/motion.md +355 -355
  58. package/template/.aioson/skills/design/glassmorphism-ui/references/patterns.md +198 -198
  59. package/template/.aioson/skills/design/glassmorphism-ui/references/websites.md +307 -307
  60. package/template/.aioson/skills/design/interface-design/SKILL.md +68 -47
  61. package/template/.aioson/skills/design/interface-design/references/components-and-states.md +105 -105
  62. package/template/.aioson/skills/design/interface-design/references/design-directions.md +101 -101
  63. package/template/.aioson/skills/design/interface-design/references/handoff-and-quality.md +92 -71
  64. package/template/.aioson/skills/design/interface-design/references/intent-and-domain.md +74 -74
  65. package/template/.aioson/skills/design/interface-design/references/tokens-and-depth.md +173 -173
  66. package/template/.aioson/skills/design/neo-brutalist-ui/SKILL.md +236 -213
  67. package/template/.aioson/skills/design/neo-brutalist-ui/references/art-direction.md +228 -228
  68. package/template/.aioson/skills/design/neo-brutalist-ui/references/components.md +855 -855
  69. package/template/.aioson/skills/design/neo-brutalist-ui/references/dashboards.md +334 -334
  70. package/template/.aioson/skills/design/neo-brutalist-ui/references/design-tokens.md +342 -342
  71. package/template/.aioson/skills/design/neo-brutalist-ui/references/motion.md +286 -286
  72. package/template/.aioson/skills/design/neo-brutalist-ui/references/patterns.md +458 -458
  73. package/template/.aioson/skills/design/neo-brutalist-ui/references/websites.md +723 -723
  74. package/template/.aioson/skills/design/premium-command-center-ui/SKILL.md +83 -62
  75. package/template/.aioson/skills/design/premium-command-center-ui/references/operations.md +74 -74
  76. package/template/.aioson/skills/design/premium-command-center-ui/references/patterns.md +116 -116
  77. package/template/.aioson/skills/design/premium-command-center-ui/references/validation.md +47 -47
  78. package/template/.aioson/skills/design/premium-command-center-ui/references/visual-system.md +215 -215
  79. package/template/.aioson/skills/design/pt.squarespace.com/.skill-meta.json +31 -31
  80. package/template/.aioson/skills/design/pt.squarespace.com/SKILL.md +94 -66
  81. package/template/.aioson/skills/design/pt.squarespace.com/references/components.md +366 -366
  82. package/template/.aioson/skills/design/pt.squarespace.com/references/design-tokens.md +150 -150
  83. package/template/.aioson/skills/design/pt.squarespace.com/references/motion.md +270 -270
  84. package/template/.aioson/skills/design/pt.squarespace.com/references/patterns.md +189 -189
  85. package/template/.aioson/skills/design/pt.squarespace.com/references/websites.md +161 -161
  86. package/template/.aioson/skills/design/warm-craft-ui/SKILL.md +232 -209
  87. package/template/.aioson/skills/design/warm-craft-ui/references/art-direction.md +324 -324
  88. package/template/.aioson/skills/design/warm-craft-ui/references/components.md +508 -508
  89. package/template/.aioson/skills/design/warm-craft-ui/references/dashboards.md +223 -223
  90. package/template/.aioson/skills/design/warm-craft-ui/references/design-tokens.md +374 -374
  91. package/template/.aioson/skills/design/warm-craft-ui/references/motion.md +356 -356
  92. package/template/.aioson/skills/design/warm-craft-ui/references/patterns.md +288 -288
  93. package/template/.aioson/skills/design/warm-craft-ui/references/websites.md +289 -289
@@ -1,288 +1,288 @@
1
- # Page Patterns — Warm Craft UI
2
-
3
- Layout patterns for common page types. Each pattern is a composition guide, not a rigid template. Use tokens from `design-tokens.md` and components from `components.md`.
4
-
5
- ---
6
-
7
- ## App Shell
8
-
9
- The main layout container for all app pages.
10
-
11
- ```
12
- +----------------------------------------------------------+
13
- | TOP BAR (64px) |
14
- +----------+-----------------------------------------------+
15
- | | |
16
- | SIDEBAR | CONTENT AREA |
17
- | 240px | padding: var(--space-8) |
18
- | | max-width: var(--content-xl) or fluid |
19
- | | |
20
- +----------+-----------------------------------------------+
21
- ```
22
-
23
- Rules:
24
- - Sidebar background: `var(--bg-void)` — one level deeper than content
25
- - Content background: `var(--bg-base)`
26
- - Sidebar collapses to bottom tab bar on mobile (< 768px)
27
- - Content area scrolls independently; sidebar and topbar are fixed
28
- - Sidebar width: 240px default. Can collapse to 64px icon-only with toggle
29
-
30
- ### Compact Shell (no sidebar)
31
- ```
32
- +----------------------------------------------------------+
33
- | TOP BAR (64px) |
34
- +----------------------------------------------------------+
35
- | |
36
- | CONTENT AREA |
37
- | max-width: var(--content-lg) |
38
- | margin: 0 auto |
39
- | padding: var(--space-8) var(--space-6) |
40
- | |
41
- +----------------------------------------------------------+
42
- ```
43
-
44
- Use when: simple apps with fewer than 5 navigation items, single-purpose tools.
45
-
46
- ---
47
-
48
- ## Dashboard Page
49
-
50
- ```
51
- PAGE HEADER
52
- font: var(--font-display), var(--text-3xl), var(--weight-bold)
53
- color: var(--text-heading)
54
- subtitle: var(--font-body), var(--text-base), var(--text-secondary)
55
- margin-bottom: var(--space-8)
56
-
57
- STAT ROW (optional — do NOT always start with this)
58
- display: grid
59
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr))
60
- gap: var(--space-5)
61
- margin-bottom: var(--space-8)
62
- uses: Stat Card component
63
-
64
- SECTION
65
- title:
66
- font: var(--font-display), var(--text-xl), var(--weight-semibold)
67
- color: var(--text-heading)
68
- margin-bottom: var(--space-5)
69
- content:
70
- Card grid, Table, Chart, or Activity Feed
71
- margin-bottom: var(--space-10)
72
- ```
73
-
74
- Variation rules:
75
- - Do NOT always use 4 stat cards as the first element
76
- - Prefer one hero insight or greeting above stats
77
- - Charts use warm palette (see `design-tokens.md` palette rules)
78
- - Tables should feel native to the warm system, not pasted from a data library
79
-
80
- ---
81
-
82
- ## Detail / Profile Page
83
-
84
- ```
85
- BACK NAVIGATION
86
- Ghost Button with arrow icon + "Back to {list}"
87
- margin-bottom: var(--space-4)
88
-
89
- HEADER ZONE
90
- display: flex; gap: var(--space-6); align-items: flex-start
91
- avatar: var(--space-20) (80px)
92
- title: var(--font-display), var(--text-3xl), var(--weight-bold)
93
- subtitle: var(--text-secondary)
94
- badges: inline-flex after subtitle
95
- actions: flex-end (Edit, Delete, etc.)
96
-
97
- TAB NAVIGATION (optional)
98
- border-bottom: 1px solid var(--border-subtle)
99
- margin: var(--space-6) 0
100
- tab:
101
- padding: var(--space-3) var(--space-4)
102
- font: var(--text-sm), var(--weight-medium)
103
- color: var(--text-secondary)
104
- active:
105
- color: var(--text-heading)
106
- border-bottom: 2px solid var(--accent)
107
-
108
- CONTENT SECTIONS
109
- Two-column layout on desktop (content 2/3 + sidebar 1/3)
110
- Single column on mobile
111
- gap: var(--space-8)
112
- ```
113
-
114
- ---
115
-
116
- ## Settings Page
117
-
118
- ```
119
- PAGE HEADER
120
- title: "Settings"
121
- no subtitle needed
122
-
123
- SETTINGS NAVIGATION (left column or tabs)
124
- vertical list: General, Profile, Notifications, Security, Billing...
125
- uses: Sidebar Navigation item style
126
-
127
- SETTINGS CONTENT (right column)
128
- sections:
129
- SECTION TITLE
130
- font: var(--font-display), var(--text-lg), var(--weight-semibold)
131
- border-bottom: 1px solid var(--border-subtle)
132
- padding-bottom: var(--space-3)
133
- margin-bottom: var(--space-6)
134
-
135
- SETTING ROW
136
- display: flex; justify-content: space-between; align-items: center
137
- padding: var(--space-4) 0
138
- border-bottom: 1px solid var(--border-subtle)
139
-
140
- label + description (left):
141
- label: var(--text-sm), var(--weight-medium), var(--text-heading)
142
- description: var(--text-sm), var(--text-secondary)
143
-
144
- control (right):
145
- Toggle, Select, or Button
146
- ```
147
-
148
- ---
149
-
150
- ## List / Browse Page
151
-
152
- ```
153
- PAGE HEADER + ACTIONS
154
- title + description (left)
155
- Primary Button "Create New" (right)
156
- margin-bottom: var(--space-6)
157
-
158
- FILTERS / SEARCH BAR
159
- display: flex; gap: var(--space-3); align-items: center
160
- Search Input (pill-shaped, flexible width)
161
- Filter badges or dropdown buttons
162
- margin-bottom: var(--space-6)
163
-
164
- CONTENT
165
- Option A — Card Grid:
166
- display: grid
167
- grid-template-columns: repeat(auto-fill, minmax(300px, 1fr))
168
- gap: var(--space-5)
169
- uses: Base Card or Media Card
170
-
171
- Option B — Table:
172
- uses: Table component
173
- with rounded outer corners and warm hover
174
-
175
- Option C — List:
176
- vertical stack with Base Card items
177
- gap: var(--space-3)
178
-
179
- PAGINATION
180
- display: flex; justify-content: center; gap: var(--space-2)
181
- margin-top: var(--space-8)
182
- pill-shaped page buttons
183
- ```
184
-
185
- ---
186
-
187
- ## Onboarding / Setup Flow
188
-
189
- ```
190
- LAYOUT
191
- centered, max-width: 560px
192
- padding: var(--space-16) var(--space-6)
193
- no sidebar, minimal topbar (logo only)
194
-
195
- PROGRESS
196
- Step indicator above content
197
- Numbered or dot-based, horizontal
198
- Current step: accent color
199
- Completed: accent-dim with checkmark
200
- Future: var(--border-medium)
201
-
202
- STEP CONTENT
203
- title:
204
- font: var(--font-display), var(--text-2xl), var(--weight-bold)
205
- text-align: center
206
- margin-bottom: var(--space-2)
207
-
208
- description:
209
- font: var(--text-base), var(--text-secondary)
210
- text-align: center
211
- max-width: 440px
212
- margin: 0 auto var(--space-8)
213
-
214
- form or content:
215
- text-align: left
216
- uses standard form components
217
-
218
- ACTIONS
219
- display: flex; justify-content: space-between
220
- margin-top: var(--space-8)
221
- "Back" (Ghost Button) + "Continue" (Primary Button)
222
- ```
223
-
224
- ---
225
-
226
- ## Auth Pages (Login / Register)
227
-
228
- ```
229
- LAYOUT
230
- Option A — Centered card:
231
- max-width: 420px
232
- margin: auto
233
- min-height: 100vh
234
- display: flex; align-items: center; justify-content: center
235
- background: var(--bg-void)
236
-
237
- Option B — Split screen:
238
- left 50%: illustration or brand panel (warm gradient or warm photography)
239
- right 50%: auth form centered
240
-
241
- CARD
242
- background: var(--bg-surface)
243
- border-radius: var(--radius-2xl)
244
- padding: var(--space-10)
245
- shadow: var(--shadow-lg)
246
-
247
- logo:
248
- centered, margin-bottom: var(--space-8)
249
-
250
- title:
251
- font: var(--font-display), var(--text-2xl), var(--weight-bold)
252
- text-align: center
253
-
254
- form:
255
- margin-top: var(--space-6)
256
- fields stacked with var(--space-4) gap
257
- "Remember me" checkbox + "Forgot password?" link row
258
-
259
- submit:
260
- Primary Button, full width
261
- margin-top: var(--space-6)
262
-
263
- footer:
264
- "Don't have an account? Sign up" — centered link
265
- margin-top: var(--space-6)
266
- font: var(--text-sm), var(--text-secondary)
267
- ```
268
-
269
- ---
270
-
271
- ## Responsive Breakpoints
272
-
273
- ```css
274
- /* Mobile first */
275
- @media (min-width: 640px) { /* sm — phone landscape */ }
276
- @media (min-width: 768px) { /* md — tablet */ }
277
- @media (min-width: 1024px) { /* lg — desktop */ }
278
- @media (min-width: 1280px) { /* xl — wide desktop */ }
279
- @media (min-width: 1440px) { /* 2xl — ultra-wide */ }
280
- ```
281
-
282
- Rules:
283
- - Sidebar → bottom tab bar below 768px
284
- - Card grids → single column below 640px
285
- - Split layouts (detail page, auth) → stacked below 768px
286
- - Content max-width respects `var(--content-*)` tokens
287
- - Touch targets: minimum 44px on mobile
288
- - Spacing reduces by one step on mobile (e.g., `--space-8` → `--space-6`)
1
+ # Page Patterns — Warm Craft UI
2
+
3
+ Layout patterns for common page types. Each pattern is a composition guide, not a rigid template. Use tokens from `design-tokens.md` and components from `components.md`.
4
+
5
+ ---
6
+
7
+ ## App Shell
8
+
9
+ The main layout container for all app pages.
10
+
11
+ ```
12
+ +----------------------------------------------------------+
13
+ | TOP BAR (64px) |
14
+ +----------+-----------------------------------------------+
15
+ | | |
16
+ | SIDEBAR | CONTENT AREA |
17
+ | 240px | padding: var(--space-8) |
18
+ | | max-width: var(--content-xl) or fluid |
19
+ | | |
20
+ +----------+-----------------------------------------------+
21
+ ```
22
+
23
+ Rules:
24
+ - Sidebar background: `var(--bg-void)` — one level deeper than content
25
+ - Content background: `var(--bg-base)`
26
+ - Sidebar collapses to bottom tab bar on mobile (< 768px)
27
+ - Content area scrolls independently; sidebar and topbar are fixed
28
+ - Sidebar width: 240px default. Can collapse to 64px icon-only with toggle
29
+
30
+ ### Compact Shell (no sidebar)
31
+ ```
32
+ +----------------------------------------------------------+
33
+ | TOP BAR (64px) |
34
+ +----------------------------------------------------------+
35
+ | |
36
+ | CONTENT AREA |
37
+ | max-width: var(--content-lg) |
38
+ | margin: 0 auto |
39
+ | padding: var(--space-8) var(--space-6) |
40
+ | |
41
+ +----------------------------------------------------------+
42
+ ```
43
+
44
+ Use when: simple apps with fewer than 5 navigation items, single-purpose tools.
45
+
46
+ ---
47
+
48
+ ## Dashboard Page
49
+
50
+ ```
51
+ PAGE HEADER
52
+ font: var(--font-display), var(--text-3xl), var(--weight-bold)
53
+ color: var(--text-heading)
54
+ subtitle: var(--font-body), var(--text-base), var(--text-secondary)
55
+ margin-bottom: var(--space-8)
56
+
57
+ STAT ROW (optional — do NOT always start with this)
58
+ display: grid
59
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr))
60
+ gap: var(--space-5)
61
+ margin-bottom: var(--space-8)
62
+ uses: Stat Card component
63
+
64
+ SECTION
65
+ title:
66
+ font: var(--font-display), var(--text-xl), var(--weight-semibold)
67
+ color: var(--text-heading)
68
+ margin-bottom: var(--space-5)
69
+ content:
70
+ Card grid, Table, Chart, or Activity Feed
71
+ margin-bottom: var(--space-10)
72
+ ```
73
+
74
+ Variation rules:
75
+ - Do NOT always use 4 stat cards as the first element
76
+ - Prefer one hero insight or greeting above stats
77
+ - Charts use warm palette (see `design-tokens.md` palette rules)
78
+ - Tables should feel native to the warm system, not pasted from a data library
79
+
80
+ ---
81
+
82
+ ## Detail / Profile Page
83
+
84
+ ```
85
+ BACK NAVIGATION
86
+ Ghost Button with arrow icon + "Back to {list}"
87
+ margin-bottom: var(--space-4)
88
+
89
+ HEADER ZONE
90
+ display: flex; gap: var(--space-6); align-items: flex-start
91
+ avatar: var(--space-20) (80px)
92
+ title: var(--font-display), var(--text-3xl), var(--weight-bold)
93
+ subtitle: var(--text-secondary)
94
+ badges: inline-flex after subtitle
95
+ actions: flex-end (Edit, Delete, etc.)
96
+
97
+ TAB NAVIGATION (optional)
98
+ border-bottom: 1px solid var(--border-subtle)
99
+ margin: var(--space-6) 0
100
+ tab:
101
+ padding: var(--space-3) var(--space-4)
102
+ font: var(--text-sm), var(--weight-medium)
103
+ color: var(--text-secondary)
104
+ active:
105
+ color: var(--text-heading)
106
+ border-bottom: 2px solid var(--accent)
107
+
108
+ CONTENT SECTIONS
109
+ Two-column layout on desktop (content 2/3 + sidebar 1/3)
110
+ Single column on mobile
111
+ gap: var(--space-8)
112
+ ```
113
+
114
+ ---
115
+
116
+ ## Settings Page
117
+
118
+ ```
119
+ PAGE HEADER
120
+ title: "Settings"
121
+ no subtitle needed
122
+
123
+ SETTINGS NAVIGATION (left column or tabs)
124
+ vertical list: General, Profile, Notifications, Security, Billing...
125
+ uses: Sidebar Navigation item style
126
+
127
+ SETTINGS CONTENT (right column)
128
+ sections:
129
+ SECTION TITLE
130
+ font: var(--font-display), var(--text-lg), var(--weight-semibold)
131
+ border-bottom: 1px solid var(--border-subtle)
132
+ padding-bottom: var(--space-3)
133
+ margin-bottom: var(--space-6)
134
+
135
+ SETTING ROW
136
+ display: flex; justify-content: space-between; align-items: center
137
+ padding: var(--space-4) 0
138
+ border-bottom: 1px solid var(--border-subtle)
139
+
140
+ label + description (left):
141
+ label: var(--text-sm), var(--weight-medium), var(--text-heading)
142
+ description: var(--text-sm), var(--text-secondary)
143
+
144
+ control (right):
145
+ Toggle, Select, or Button
146
+ ```
147
+
148
+ ---
149
+
150
+ ## List / Browse Page
151
+
152
+ ```
153
+ PAGE HEADER + ACTIONS
154
+ title + description (left)
155
+ Primary Button "Create New" (right)
156
+ margin-bottom: var(--space-6)
157
+
158
+ FILTERS / SEARCH BAR
159
+ display: flex; gap: var(--space-3); align-items: center
160
+ Search Input (pill-shaped, flexible width)
161
+ Filter badges or dropdown buttons
162
+ margin-bottom: var(--space-6)
163
+
164
+ CONTENT
165
+ Option A — Card Grid:
166
+ display: grid
167
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr))
168
+ gap: var(--space-5)
169
+ uses: Base Card or Media Card
170
+
171
+ Option B — Table:
172
+ uses: Table component
173
+ with rounded outer corners and warm hover
174
+
175
+ Option C — List:
176
+ vertical stack with Base Card items
177
+ gap: var(--space-3)
178
+
179
+ PAGINATION
180
+ display: flex; justify-content: center; gap: var(--space-2)
181
+ margin-top: var(--space-8)
182
+ pill-shaped page buttons
183
+ ```
184
+
185
+ ---
186
+
187
+ ## Onboarding / Setup Flow
188
+
189
+ ```
190
+ LAYOUT
191
+ centered, max-width: 560px
192
+ padding: var(--space-16) var(--space-6)
193
+ no sidebar, minimal topbar (logo only)
194
+
195
+ PROGRESS
196
+ Step indicator above content
197
+ Numbered or dot-based, horizontal
198
+ Current step: accent color
199
+ Completed: accent-dim with checkmark
200
+ Future: var(--border-medium)
201
+
202
+ STEP CONTENT
203
+ title:
204
+ font: var(--font-display), var(--text-2xl), var(--weight-bold)
205
+ text-align: center
206
+ margin-bottom: var(--space-2)
207
+
208
+ description:
209
+ font: var(--text-base), var(--text-secondary)
210
+ text-align: center
211
+ max-width: 440px
212
+ margin: 0 auto var(--space-8)
213
+
214
+ form or content:
215
+ text-align: left
216
+ uses standard form components
217
+
218
+ ACTIONS
219
+ display: flex; justify-content: space-between
220
+ margin-top: var(--space-8)
221
+ "Back" (Ghost Button) + "Continue" (Primary Button)
222
+ ```
223
+
224
+ ---
225
+
226
+ ## Auth Pages (Login / Register)
227
+
228
+ ```
229
+ LAYOUT
230
+ Option A — Centered card:
231
+ max-width: 420px
232
+ margin: auto
233
+ min-height: 100vh
234
+ display: flex; align-items: center; justify-content: center
235
+ background: var(--bg-void)
236
+
237
+ Option B — Split screen:
238
+ left 50%: illustration or brand panel (warm gradient or warm photography)
239
+ right 50%: auth form centered
240
+
241
+ CARD
242
+ background: var(--bg-surface)
243
+ border-radius: var(--radius-2xl)
244
+ padding: var(--space-10)
245
+ shadow: var(--shadow-lg)
246
+
247
+ logo:
248
+ centered, margin-bottom: var(--space-8)
249
+
250
+ title:
251
+ font: var(--font-display), var(--text-2xl), var(--weight-bold)
252
+ text-align: center
253
+
254
+ form:
255
+ margin-top: var(--space-6)
256
+ fields stacked with var(--space-4) gap
257
+ "Remember me" checkbox + "Forgot password?" link row
258
+
259
+ submit:
260
+ Primary Button, full width
261
+ margin-top: var(--space-6)
262
+
263
+ footer:
264
+ "Don't have an account? Sign up" — centered link
265
+ margin-top: var(--space-6)
266
+ font: var(--text-sm), var(--text-secondary)
267
+ ```
268
+
269
+ ---
270
+
271
+ ## Responsive Breakpoints
272
+
273
+ ```css
274
+ /* Mobile first */
275
+ @media (min-width: 640px) { /* sm — phone landscape */ }
276
+ @media (min-width: 768px) { /* md — tablet */ }
277
+ @media (min-width: 1024px) { /* lg — desktop */ }
278
+ @media (min-width: 1280px) { /* xl — wide desktop */ }
279
+ @media (min-width: 1440px) { /* 2xl — ultra-wide */ }
280
+ ```
281
+
282
+ Rules:
283
+ - Sidebar → bottom tab bar below 768px
284
+ - Card grids → single column below 640px
285
+ - Split layouts (detail page, auth) → stacked below 768px
286
+ - Content max-width respects `var(--content-*)` tokens
287
+ - Touch targets: minimum 44px on mobile
288
+ - Spacing reduces by one step on mobile (e.g., `--space-8` → `--space-6`)