@utopia-studio-design/design-system-cli 0.1.0 → 0.3.0

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 (52) hide show
  1. package/README.md +12 -41
  2. package/bin/utopia-ds-mcp.mjs +55 -0
  3. package/bin/utopia-ds.mjs +233 -318
  4. package/data/docs/ai-platform-plan.md +53 -0
  5. package/data/docs/arabic-friendly.md +72 -0
  6. package/data/docs/foundations.md +154 -0
  7. package/data/docs/guide.md +37 -0
  8. package/data/docs/quick-start-ai.md +122 -0
  9. package/data/docs/shadcn-conversion.md +35 -0
  10. package/data/docs/theme-authoring.md +46 -0
  11. package/data/manifests/catalog.json +547 -0
  12. package/data/manifests/components.json +4780 -0
  13. package/data/manifests/patterns.json +12 -0
  14. package/data/manifests/templates.json +96 -0
  15. package/data/manifests/theme-barrier-intelligence.json +123 -0
  16. package/data/manifests/theme-dextrum.json +255 -0
  17. package/data/manifests/theme-utopia-default.json +163 -0
  18. package/data/manifests/themes.json +417 -0
  19. package/data/templates/saas-solution-homepage/README.md +52 -0
  20. package/data/templates/saas-solution-homepage/agents/index.html +1 -0
  21. package/data/templates/saas-solution-homepage/changelog/index.html +1 -0
  22. package/data/templates/saas-solution-homepage/contact-sales/index.html +1 -0
  23. package/data/templates/saas-solution-homepage/customers/aster-labs/index.html +1 -0
  24. package/data/templates/saas-solution-homepage/customers/index.html +1 -0
  25. package/data/templates/saas-solution-homepage/index.html +17 -0
  26. package/data/templates/saas-solution-homepage/integrations/index.html +1 -0
  27. package/data/templates/saas-solution-homepage/integrations/slack/index.html +1 -0
  28. package/data/templates/saas-solution-homepage/main.tsx +642 -0
  29. package/data/templates/saas-solution-homepage/pricing/index.html +1 -0
  30. package/data/templates/saas-solution-homepage/product/index.html +1 -0
  31. package/data/templates/saas-solution-homepage/styles.css +863 -0
  32. package/data/templates/saas-solution-homepage/template.manifest.json +36 -0
  33. package/lib/api.mjs +152 -0
  34. package/package.json +17 -15
  35. package/LICENSE +0 -21
  36. package/templates/agent-docs/examples.md +0 -33
  37. package/templates/agent-docs/index.md +0 -78
  38. package/templates/agent-docs/llms.txt +0 -33
  39. package/templates/components/badge.tsx +0 -12
  40. package/templates/components/brand-action.tsx +0 -32
  41. package/templates/components/button-group.tsx +0 -30
  42. package/templates/components/button.tsx +0 -44
  43. package/templates/components/card.tsx +0 -23
  44. package/templates/components/cta-section.tsx +0 -34
  45. package/templates/components/icon-button.tsx +0 -44
  46. package/templates/components/page-hero.tsx +0 -47
  47. package/templates/components/tooltip.tsx +0 -48
  48. package/templates/components/topbar.tsx +0 -59
  49. package/templates/lib/utils.ts +0 -6
  50. package/templates/styles/styles.css +0 -271
  51. package/templates/styles/tokens.css +0 -21
  52. package/templates/tokens.json +0 -41
@@ -0,0 +1,12 @@
1
+ {
2
+ "intent": "AI-first, shadcn-founded, theme-extensible, Arabic-friendly, architectural, precise, and commercially credible.",
3
+ "principles": [
4
+ "Design System is the parent system; production sites are consumers.",
5
+ "Use shadcn/ui as the component architecture foundation.",
6
+ "Use semantic tokens before raw primitives.",
7
+ "Core owns semantic contracts and component architecture, not brand-specific visual philosophy.",
8
+ "Themes are token-contract and visual-policy implementations, not decorative skins.",
9
+ "Arabic-friendly support is a baseline requirement."
10
+ ],
11
+ "antiPatterns": ["Invented tokens", "Generic SaaS gradients", "Rounded marketing cards", "Glassmorphism", "Raw left/right APIs", "Unreviewed Arabic copy"]
12
+ }
@@ -0,0 +1,96 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "intent": "Runnable, production-ready Ceramic templates with source files, routes, manifests, and deterministic demo data.",
4
+ "statusModel": {
5
+ "available": "A runnable template bundled with source files and available through the CLI copy command."
6
+ },
7
+ "templates": [
8
+ {
9
+ "id": "template-saas-solution-homepage",
10
+ "title": "SaaS Solution Website",
11
+ "category": "website-page",
12
+ "status": "available",
13
+ "purpose": "A complete product-led SaaS website with marketing, product, automation, integrations, customer proof, pricing, changelog, and sales-contact pages.",
14
+ "referenceNote": "Uses Linear only as a reference for information density, section rhythm, and product-led storytelling. Do not copy Linear branding, assets, layouts, or product copy.",
15
+ "starterFor": [
16
+ "B2B SaaS",
17
+ "operations platforms",
18
+ "AI automation products"
19
+ ],
20
+ "sections": [
21
+ "Top navigation",
22
+ "Hero and value",
23
+ "Product interface preview",
24
+ "Core workflow",
25
+ "Agents and automation",
26
+ "Integrations",
27
+ "Security and reliability",
28
+ "Team proof",
29
+ "Adoption CTA",
30
+ "Footer"
31
+ ],
32
+ "requiredComponents": [
33
+ "Top Nav",
34
+ "Button",
35
+ "Badge",
36
+ "Card",
37
+ "Input",
38
+ "Select",
39
+ "Textarea"
40
+ ],
41
+ "sourcePath": "templates/saas-solution-homepage/main.tsx",
42
+ "entryPath": "templates/saas-solution-homepage/index.html",
43
+ "manifestPath": "templates/saas-solution-homepage/template.manifest.json",
44
+ "bundlePath": "templates/saas-solution-homepage",
45
+ "pageCount": 10,
46
+ "pages": [
47
+ "Home",
48
+ "Product",
49
+ "Agents",
50
+ "Integrations",
51
+ "Integration Detail",
52
+ "Customers",
53
+ "Customer Story",
54
+ "Pricing",
55
+ "Changelog",
56
+ "Contact Sales"
57
+ ],
58
+ "useWhen": [
59
+ "A SaaS product needs a complete product-led marketing narrative",
60
+ "Workflow, automation, integrations, and reliability are material buying criteria"
61
+ ],
62
+ "avoidWhen": [
63
+ "The page is a single-feature launch",
64
+ "There is no reviewed product model behind the interface claims"
65
+ ],
66
+ "rtlReady": true,
67
+ "preview": {
68
+ "kind": "saas-solution-homepage",
69
+ "density": "balanced"
70
+ },
71
+ "translations": {
72
+ "ar": {
73
+ "title": "موقع متكامل لحل SaaS",
74
+ "purpose": "عائلة صفحات SaaS متكاملة تشمل التسويق والمنتج والأتمتة والتكاملات وأدلة العملاء والأسعار والتحديثات والتواصل مع المبيعات.",
75
+ "starterFor": [
76
+ "منتجات SaaS للأعمال",
77
+ "منصات العمليات",
78
+ "منتجات أتمتة الذكاء الاصطناعي"
79
+ ],
80
+ "sections": [
81
+ "التنقل العلوي",
82
+ "القيمة الرئيسية",
83
+ "معاينة واجهة المنتج",
84
+ "سير العمل الأساسي",
85
+ "الوكلاء والأتمتة",
86
+ "التكاملات",
87
+ "الأمان والموثوقية",
88
+ "دليل الفريق",
89
+ "دعوة الاعتماد",
90
+ "التذييل"
91
+ ]
92
+ }
93
+ }
94
+ }
95
+ ]
96
+ }
@@ -0,0 +1,123 @@
1
+ {
2
+ "$schema": "https://utopia-studio.co/design-system/theme.schema.json",
3
+ "id": "barrier-intelligence",
4
+ "name": "Barrier Intelligence",
5
+ "type": "theme-policy",
6
+ "locked": false,
7
+ "summary": "Barrier Intelligence brand theme mapped to the Ceramic semantic contract. Near-black product surfaces with warm gold accents and a measured neutral hierarchy. Hanken Grotesk drives product UI and documentation; any marketing typography remains scoped to theme-owned selectors only.",
8
+ "sourceFiles": [
9
+ "packages/design-system/src/themes/barrier-intelligence.css",
10
+ "packages/design-system/src/manifests/theme-barrier-intelligence.json"
11
+ ],
12
+ "brandPrimitives": {
13
+ "colors": {
14
+ "black": "#000000",
15
+ "bgElev": "#0A0A0A",
16
+ "card": "#0E0E0E",
17
+ "cardHi": "#141414",
18
+ "hairline": "#1C1C1C",
19
+ "ink": "#F5F5F2",
20
+ "ink2": "#C9C7C1",
21
+ "ink3": "#9A9893",
22
+ "ink4": "#6D6B67",
23
+ "goldDark": "#8A6637",
24
+ "gold": "#A6824C",
25
+ "goldLight": "#D2AC6C",
26
+ "goldForeground": "#1A1208"
27
+ },
28
+ "typography": {
29
+ "appWebsite": {
30
+ "ui": "Hanken Grotesk",
31
+ "use": "Product UI, dashboards, documentation, and long-form reading"
32
+ },
33
+ "arabicFamily": "IBM Plex Sans Arabic",
34
+ "weights": {
35
+ "hankenGrotesk": [400, 500, 600, 700]
36
+ },
37
+ "arabicWeights": [400, 500, 700],
38
+ "headlineCasing": "sentence",
39
+ "headlineTracking": "-0.02em to -0.04em",
40
+ "arabicDisplayFamily": "IBM Plex Sans Arabic",
41
+ "arabicDisplayCasing": "none",
42
+ "arabicDisplayRule": "Use Arabic display scale and IBM Plex Sans Arabic. Do not apply Latin negative tracking rules to Arabic.",
43
+ "rationale": "The brand language is quiet and rigorous: restrained type, high legibility on dark surfaces, and gold accents reserved for signal and action."
44
+ },
45
+ "geometry": {
46
+ "surfaceRadius": "14px",
47
+ "controlRadius": "6px",
48
+ "chatBubbleRadius": "18px",
49
+ "chatComposerRadius": "24px",
50
+ "chatTokenRadius": "14px",
51
+ "elevation": "border-led depth with subtle floating shadow on popovers only"
52
+ }
53
+ },
54
+ "semanticMappings": {
55
+ "--background": "Black",
56
+ "--foreground": "Ink",
57
+ "--primary": "Gold",
58
+ "--secondary": "Card High",
59
+ "--border": "Hairline",
60
+ "--radius-control": "6px rounded controls",
61
+ "--radius-surface": "14px rounded surfaces",
62
+ "--radius-chat-bubble": "18px rounded chat bubbles",
63
+ "--radius-chat-composer": "24px rounded chat composer",
64
+ "--radius-chat-token": "14px rounded chat tokens",
65
+ "--font-display": "Hanken Grotesk (headings + display scale)",
66
+ "--font-sans": "Hanken Grotesk",
67
+ "--font-ui-support": "Hanken Grotesk",
68
+ "--font-marketing-display": "Hanken Grotesk scoped through theme selectors",
69
+ "--font-arabic": "IBM Plex Sans Arabic",
70
+ "--sidebar-width": "17rem",
71
+ "--shadow-control": "none",
72
+ "--control-height-sm": "2rem",
73
+ "--sidebar-width-collapsed": "4rem",
74
+ "--sidebar-min-block-size": "30rem",
75
+ "--sidebar-rail-size": "8px",
76
+ "--overlay": "Black modal dim",
77
+ "--modal-surface": "Card High",
78
+ "--popover-surface": "Card High"
79
+ },
80
+ "visualPolicy": {
81
+ "tone": ["rigorous", "quiet", "technical", "premium"],
82
+ "allow": [
83
+ "near-black structural surfaces",
84
+ "warm gold accents for primary action and signal",
85
+ "neutral ink hierarchy for reading",
86
+ "rounded cards with hairline borders",
87
+ "minimal shadow; depth via border and surface steps"
88
+ ],
89
+ "avoid": [
90
+ "bright neon accents",
91
+ "colorful gradients as a default surface treatment",
92
+ "overly rounded, playful geometry",
93
+ "Utopia brick red palette",
94
+ "marketing display fonts in dense app UI"
95
+ ]
96
+ },
97
+ "iconPolicy": {
98
+ "system": "lucide",
99
+ "description": "Barrier Intelligence uses lucide icons in UI; brand marks remain outside Ceramic shell chrome.",
100
+ "allow": ["lucide icons in components", "monochrome currentColor icons", "directional mirroring in RTL"],
101
+ "avoid": ["emoji", "mixed icon families in one surface"],
102
+ "coreNote": "Icon policy is theme-owned. Core components remain icon-system neutral."
103
+ },
104
+ "translations": {
105
+ "ar": {
106
+ "summary": "ثيم Barrier Intelligence مربوط بعقد Ceramic الدلالي. يستخدم أسطح منتجات شبه سوداء ولمسات ذهبية دافئة وتسلسلا محايدا محسوبا. يقود Hanken Grotesk واجهة المنتج والتوثيق، وتبقى أي طباعة تسويقية محصورة في محددات يملكها الثيم.",
107
+ "iconPolicy": {
108
+ "system": "Lucide",
109
+ "description": "يستخدم Barrier Intelligence أيقونات Lucide في الواجهة، وتبقى علامات الهوية خارج شريط هيكل Ceramic.",
110
+ "allow": ["أيقونات Lucide في المكونات", "أيقونات أحادية بلون currentColor", "عكس الاتجاه في RTL"]
111
+ }
112
+ }
113
+ },
114
+ "aiRules": [
115
+ "Read this theme policy after the core semantic contract.",
116
+ "Map Barrier Intelligence palette through semantic tokens only.",
117
+ "Use gold for primary actions and high-signal emphasis, not as a full-page wash.",
118
+ "Prefer near-black and stepped card surfaces with ink hierarchy.",
119
+ "Use Hanken Grotesk for Latin app UI and body copy in this theme.",
120
+ "Keep Arabic on IBM Plex Sans Arabic tokens.",
121
+ "Do not swap Ceramic shell navigation branding when this theme is active."
122
+ ]
123
+ }
@@ -0,0 +1,255 @@
1
+ {
2
+
3
+ "$schema": "https://utopia-studio.co/design-system/theme.schema.json",
4
+
5
+ "id": "dextrum",
6
+
7
+ "name": "Dextrum",
8
+
9
+ "type": "theme-policy",
10
+
11
+ "locked": false,
12
+
13
+ "summary": "Dextrum brand theme mapped to the Ceramic semantic contract. Ocean blue accents on dark blue surfaces with Manrope driving product UI, docs, and default headings. Clash Grotesk is reserved for explicit marketing surfaces.",
14
+
15
+ "sourceFiles": [
16
+
17
+ "packages/design-system/src/themes/dextrum.css",
18
+
19
+ "packages/design-system/src/manifests/theme-dextrum.json"
20
+
21
+ ],
22
+
23
+ "brandPrimitives": {
24
+
25
+ "colors": {
26
+
27
+ "darkBlue": "#192B39",
28
+
29
+ "oceanBlue": "#3E8ECC",
30
+
31
+ "charcoalBlue": "#2F3F4C",
32
+
33
+ "matteBlack": "#141414",
34
+
35
+ "timidWhite": "#EAEAEA",
36
+
37
+ "logoTeal": "#063946"
38
+
39
+ },
40
+
41
+ "typography": {
42
+
43
+ "marketingSales": {
44
+
45
+ "display": "Clash Grotesk",
46
+
47
+ "body": "Satoshi",
48
+
49
+ "use": "Pitch decks, campaigns, sales collateral, and website headers"
50
+
51
+ },
52
+
53
+ "appWebsite": {
54
+
55
+ "ui": "Manrope",
56
+
57
+ "support": "Satoshi",
58
+
59
+ "use": "Product UI, dashboards, documentation, and long-form web reading"
60
+
61
+ },
62
+
63
+ "arabicFamily": "IBM Plex Sans Arabic",
64
+
65
+ "weights": {
66
+
67
+ "clashGrotesk": [300, 400, 500, 600, 700],
68
+
69
+ "satoshi": [400, 500, 700],
70
+
71
+ "manrope": [300, 400, 500, 600, 700, 800]
72
+
73
+ },
74
+
75
+ "arabicWeights": [400, 500, 700],
76
+
77
+ "headlineCasing": "sentence",
78
+
79
+ "headlineTracking": "-0.03em to -0.05em",
80
+
81
+ "arabicDisplayFamily": "IBM Plex Sans Arabic",
82
+
83
+ "arabicDisplayCasing": "none",
84
+
85
+ "arabicDisplayRule": "Use Arabic display scale and IBM Plex Sans Arabic. Do not apply Latin negative tracking rules to Arabic.",
86
+
87
+ "rationale": "Marketing type sets brand vibe; app type optimizes readability on small screens and in dark mode. Marketing display may still appear in website headers."
88
+
89
+ },
90
+
91
+ "geometry": {
92
+
93
+ "surfaceRadius": "8px",
94
+
95
+ "controlRadius": "6px",
96
+
97
+ "elevation": "calm surfaces with subtle borders; restrained shadow on floating layers only"
98
+
99
+ }
100
+
101
+ },
102
+
103
+ "semanticMappings": {
104
+
105
+ "--background": "Dark Blue",
106
+
107
+ "--foreground": "Timid White",
108
+
109
+ "--primary": "Ocean Blue",
110
+
111
+ "--secondary": "Charcoal Blue",
112
+
113
+ "--radius-control": "6px rounded controls",
114
+
115
+ "--radius-surface": "8px rounded surfaces",
116
+
117
+ "--font-display": "Manrope (product UI headings and display scale)",
118
+
119
+ "--font-sans": "Manrope",
120
+
121
+ "--font-ui-support": "Satoshi",
122
+
123
+ "--font-marketing-display": "Clash Grotesk (marketing surfaces only)",
124
+
125
+ "--font-arabic": "IBM Plex Sans Arabic",
126
+
127
+ "--overlay": "Dark Blue modal dim",
128
+
129
+ "--modal-surface": "Charcoal Blue",
130
+
131
+ "--popover-surface": "Charcoal Blue"
132
+
133
+ },
134
+
135
+ "visualPolicy": {
136
+
137
+ "tone": [
138
+
139
+ "precise",
140
+
141
+ "technical",
142
+
143
+ "calm",
144
+
145
+ "confident"
146
+
147
+ ],
148
+
149
+ "allow": [
150
+
151
+ "dark blue structural surfaces",
152
+
153
+ "ocean blue accents for action and links",
154
+
155
+ "rounded controls and cards",
156
+
157
+ "muted neutral hierarchy",
158
+
159
+ "Clash Grotesk for marketing display and website headers",
160
+
161
+ "Manrope for product UI and long reading"
162
+
163
+ ],
164
+
165
+ "avoid": [
166
+
167
+ "Utopia brick red palette",
168
+
169
+ "square Utopia geometry defaults",
170
+
171
+ "decorative gradients",
172
+
173
+ "heavy glass effects",
174
+
175
+ "startup-cute styling",
176
+
177
+ "fancy marketing display fonts in dense app menus or long paragraphs"
178
+
179
+ ]
180
+
181
+ },
182
+
183
+ "iconPolicy": {
184
+
185
+ "system": "lucide",
186
+
187
+ "description": "Dextrum uses standard lucide icons inside product UI while keeping the Dextrum mark for brand surfaces.",
188
+
189
+ "allow": [
190
+
191
+ "lucide icons in components",
192
+
193
+ "monochrome currentColor icons",
194
+
195
+ "directional mirroring in RTL"
196
+
197
+ ],
198
+
199
+ "avoid": [
200
+
201
+ "Utopia dot-bar icon policy",
202
+
203
+ "emoji",
204
+
205
+ "mixed icon families in one surface"
206
+
207
+ ],
208
+
209
+ "coreNote": "Icon policy is theme-owned. Core components remain icon-system neutral."
210
+
211
+ },
212
+
213
+ "translations": {
214
+
215
+ "ar": {
216
+
217
+ "summary": "ثيم Dextrum مربوط بعقد Ceramic الدلالي. يستخدم لمسات Ocean Blue فوق أسطح Dark Blue، ويقود Manrope واجهة المنتج والتوثيق والعناوين الافتراضية، بينما يقتصر Clash Grotesk على أسطح التسويق الصريحة.",
218
+
219
+ "iconPolicy": {
220
+
221
+ "system": "Lucide",
222
+
223
+ "description": "يستخدم Dextrum أيقونات Lucide القياسية داخل واجهة المنتج، مع إبقاء علامة Dextrum لأسطح العلامة.",
224
+
225
+ "allow": ["أيقونات Lucide في المكونات", "أيقونات أحادية بلون currentColor", "عكس الاتجاه في RTL"]
226
+
227
+ }
228
+
229
+ }
230
+
231
+ },
232
+
233
+ "aiRules": [
234
+
235
+ "Read this theme policy after the core semantic contract.",
236
+
237
+ "Map Dextrum palette through semantic tokens only.",
238
+
239
+ "Use Ocean Blue for primary actions and links, not as a full-page wash.",
240
+
241
+ "Prefer dark blue and charcoal surfaces with timid white type.",
242
+
243
+ "Use Manrope for Latin app UI and body copy in this theme.",
244
+
245
+ "Use Clash Grotesk for marketing display and website headers only.",
246
+
247
+ "Use Satoshi for marketing body copy and supporting UI labels where needed.",
248
+
249
+ "Keep Arabic on IBM Plex Sans Arabic tokens.",
250
+
251
+ "Do not import Utopia brand primitives into Dextrum-themed surfaces."
252
+
253
+ ]
254
+
255
+ }
@@ -0,0 +1,163 @@
1
+ {
2
+ "$schema": "https://utopia-studio.co/design-system/theme.schema.json",
3
+ "id": "utopia-default",
4
+ "name": "The Utopia Studio Default",
5
+ "shortName": "Utopia Default",
6
+ "type": "theme-policy",
7
+ "locked": true,
8
+ "summary": "The default locked theme for The Utopia Studio. It maps the Ceramic semantic contract to the studio's brand primitives while keeping those decisions out of reusable core components.",
9
+ "brandAssets": {
10
+ "wordmark": {
11
+ "src": "/brand/the-utopia-studio-wordmark.avif",
12
+ "alt": "The Utopia Studio",
13
+ "usage": "May identify The Utopia Studio branded products, documents, and template surfaces. Core components must not depend on this asset."
14
+ }
15
+ },
16
+ "sourceFiles": [
17
+ "packages/design-system/src/themes/utopia-default.css",
18
+ "packages/design-system/src/manifests/theme-utopia-default.json"
19
+ ],
20
+ "brandPrimitives": {
21
+ "colors": {
22
+ "brickRed": "#CC5536",
23
+ "specialBlack": "#3C3235",
24
+ "lightGrey": "#EEEEEE",
25
+ "white": "#FFFFFF"
26
+ },
27
+ "typography": {
28
+ "family": "TWK Lausanne",
29
+ "arabicFamily": "IBM Plex Sans Arabic",
30
+ "weights": [
31
+ 350,
32
+ 500,
33
+ 700
34
+ ],
35
+ "arabicWeights": [
36
+ 400,
37
+ 500,
38
+ 700
39
+ ],
40
+ "headlineCasing": "uppercase",
41
+ "headlineTracking": "0.02em to 0.04em",
42
+ "arabicDisplayFamily": "IBM Plex Sans Arabic",
43
+ "arabicDisplayCasing": "none",
44
+ "arabicDisplayRule": "Do not translate Latin all-caps styling into Arabic uppercase. Use Arabic display scale, weight, rhythm, and IBM Plex Sans Arabic instead."
45
+ },
46
+ "geometry": {
47
+ "surfaceRadius": "0px",
48
+ "controlRadius": "0px",
49
+ "elevation": "hairline borders and background shifts; no brand-surface drop shadows"
50
+ }
51
+ },
52
+ "semanticMappings": {
53
+ "--background": "Special Black",
54
+ "--foreground": "White",
55
+ "--primary": "Accessible Brick Red action tone (#B8472C); preserve #CC5536 as the brand primitive",
56
+ "--secondary": "Light Grey",
57
+ "--radius-control": "Square geometry",
58
+ "--radius-surface": "Square geometry",
59
+ "--radius-chat-bubble": "Square chat message geometry",
60
+ "--radius-chat-composer": "Square chat input geometry",
61
+ "--radius-chat-token": "Square chat token geometry",
62
+ "--motion-duration-press": "160ms physical press feedback",
63
+ "--motion-duration-page": "200ms quiet view transition",
64
+ "--motion-duration-expand": "320ms disclosure transition",
65
+ "--motion-duration-reveal": "520ms soft surface reveal",
66
+ "--motion-duration-icon": "640ms action-specific icon motion",
67
+ "--motion-ease-standard": "Direct interaction easing",
68
+ "--motion-ease-emphasized": "Soft reveal and icon easing",
69
+ "--motion-ease-icon": "Action-specific icon easing",
70
+ "--motion-press-scale": "0.97",
71
+ "--motion-distance-page": "8px logical view shift",
72
+ "--motion-distance-reveal": "8px soft entrance distance",
73
+ "--font-sans": "TWK Lausanne",
74
+ "--font-arabic": "IBM Plex Sans Arabic",
75
+ "--font-arabic-display": "IBM Plex Sans Arabic",
76
+ "--font-arabic-body": "IBM Plex Sans Arabic",
77
+ "--font-weight-arabic-body": "400",
78
+ "--font-weight-arabic-display": "700",
79
+ "--font-size-display": "clamp(44px, 8vw, 96px)",
80
+ "--font-size-arabic-body": "16px",
81
+ "--font-size-arabic-body-lg": "19px",
82
+ "--font-size-arabic-display": "clamp(42px, 7.6vw, 91px)",
83
+ "--line-height-arabic": "1.75",
84
+ "--line-height-arabic-body": "1.75",
85
+ "--line-height-arabic-display": "1.16",
86
+ "--tracking-arabic": "0",
87
+ "--tracking-arabic-display": "0",
88
+ "--sidebar-width": "17rem",
89
+ "--shadow-control": "none",
90
+ "--control-height-sm": "32px",
91
+ "--sidebar-width-collapsed": "4rem",
92
+ "--sidebar-min-block-size": "30rem",
93
+ "--sidebar-rail-size": "8px",
94
+ "--overlay": "Special Black at modal dim opacity",
95
+ "--modal-surface": "Special Black solid",
96
+ "--popover-surface": "Special Black solid"
97
+ },
98
+ "visualPolicy": {
99
+ "tone": [
100
+ "warm",
101
+ "confident",
102
+ "architectural",
103
+ "serious",
104
+ "spare"
105
+ ],
106
+ "allow": [
107
+ "asymmetric layouts",
108
+ "large uppercase headlines",
109
+ "Brick Red as a 5-15% accent",
110
+ "hairline borders",
111
+ "solid Special Black, Light Grey, Brick Red, and White surfaces"
112
+ ],
113
+ "avoid": [
114
+ "startup-cute styling",
115
+ "generic SaaS gradients",
116
+ "drop shadows on brand surfaces",
117
+ "glassmorphism",
118
+ "textures",
119
+ "rounded marketing cards",
120
+ "pure black"
121
+ ]
122
+ },
123
+ "iconPolicy": {
124
+ "system": "utopia-dot-bar",
125
+ "description": "Icons are brand marks made from solid dots and rectangular bars. They are graphic breaks, not decoration.",
126
+ "allow": [
127
+ "solid circles",
128
+ "rectangular bars",
129
+ "three-bar mark",
130
+ "monochrome Special Black or current foreground"
131
+ ],
132
+ "avoid": [
133
+ "Lucide",
134
+ "Heroicons",
135
+ "Feather",
136
+ "emoji",
137
+ "outlined icon sets",
138
+ "rounded bubbly forms"
139
+ ],
140
+ "coreNote": "This restriction belongs to Utopia Default only. Other themes may declare different icon systems."
141
+ },
142
+ "translations": {
143
+ "ar": {
144
+ "summary": "الثيم الافتراضي المقفل لـ The Utopia Studio. يربط عقد Ceramic الدلالي بقيم الاستوديو الأولية مع إبقاء قرارات العلامة خارج مكونات الجوهر القابلة لإعادة الاستخدام.",
145
+ "iconPolicy": {
146
+ "system": "نظام النقاط والأشرطة الخاص بـ Utopia",
147
+ "description": "الأيقونات علامات للهوية مبنية من نقاط صلبة وأشرطة مستطيلة. هي فواصل بصرية وليست زخرفة.",
148
+ "allow": ["دوائر صلبة", "أشرطة مستطيلة", "علامة الأشرطة الثلاثة", "لون أحادي Special Black أو لون المقدمة الحالي"]
149
+ }
150
+ }
151
+ },
152
+ "aiRules": [
153
+ "Read this theme policy after the core semantic contract.",
154
+ "Do not apply Utopia brand restrictions to other themes unless their manifests say so.",
155
+ "Do not hardcode Brick Red, Special Black, TWK Lausanne, or Utopia icon rules inside reusable core components.",
156
+ "When Arabic or lang=\"ar\" content is present, use --font-arabic mapped to IBM Plex Sans Arabic and the Arabic line-height role.",
157
+ "Arabic display sizing follows the Latin display scale at approximately 95%, rather than making Arabic headings larger than Latin headings.",
158
+ "Do not apply Latin uppercase display styling to Arabic. Use Arabic display/body tokens and text-transform: none.",
159
+ "When this theme is active, do not use Lucide icons as brand-facing component icons.",
160
+ "Modal content uses --modal-surface and must stay solid in Utopia Default; only the overlay dims the page behind it.",
161
+ "Floating content such as select, menu, popover, and tooltip uses --popover-surface so alpha page surfaces do not make controls look translucent."
162
+ ]
163
+ }