cdragon 0.1.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.
- package/README.md +110 -0
- package/bin/cdragon.js +170 -0
- package/package.json +31 -0
- package/skills/agent-browser/SKILL.md +50 -0
- package/skills/grill-me/SKILL.md +7 -0
- package/skills/herdr-agent/SKILL.md +142 -0
- package/skills/herdr-cli/SKILL.md +388 -0
- package/skills/herdr-cli/scripts/herdr-agent-run-and-wait +203 -0
- package/skills/herdr-cli/scripts/herdr-agent-wait-complete +168 -0
- package/skills/notion-presentation/SKILL.md +170 -0
- package/skills/notion-presentation/references/example-redis-deck.md +97 -0
- package/skills/setup-matt-pocock-skills/SKILL.md +127 -0
- package/skills/setup-matt-pocock-skills/domain.md +51 -0
- package/skills/setup-matt-pocock-skills/issue-tracker-github.md +34 -0
- package/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +35 -0
- package/skills/setup-matt-pocock-skills/issue-tracker-local.md +19 -0
- package/skills/setup-matt-pocock-skills/triage-labels.md +15 -0
- package/skills/tdd/SKILL.md +108 -0
- package/skills/tdd/mocking.md +59 -0
- package/skills/tdd/refactoring.md +10 -0
- package/skills/tdd/tests.md +61 -0
- package/skills/to-html/SKILL.md +83 -0
- package/skills/to-html/designs/INDEX.md +74 -0
- package/skills/to-html/designs/airbnb.DESIGN.md +581 -0
- package/skills/to-html/designs/airtable.DESIGN.md +275 -0
- package/skills/to-html/designs/alipay.DESIGN.md +456 -0
- package/skills/to-html/designs/apple.DESIGN.md +566 -0
- package/skills/to-html/designs/banksalad.DESIGN.md +621 -0
- package/skills/to-html/designs/channeltalk.DESIGN.md +374 -0
- package/skills/to-html/designs/clay.DESIGN.md +398 -0
- package/skills/to-html/designs/clickhouse.DESIGN.md +374 -0
- package/skills/to-html/designs/cohere.DESIGN.md +361 -0
- package/skills/to-html/designs/coinone.DESIGN.md +218 -0
- package/skills/to-html/designs/coupang.DESIGN.md +502 -0
- package/skills/to-html/designs/cursor.DESIGN.md +416 -0
- package/skills/to-html/designs/elevenlabs.DESIGN.md +376 -0
- package/skills/to-html/designs/expo.DESIGN.md +373 -0
- package/skills/to-html/designs/figma.DESIGN.md +490 -0
- package/skills/to-html/designs/framer.DESIGN.md +393 -0
- package/skills/to-html/designs/freee.DESIGN.md +572 -0
- package/skills/to-html/designs/gangnamunni.DESIGN.md +621 -0
- package/skills/to-html/designs/gmarket.DESIGN.md +483 -0
- package/skills/to-html/designs/gogolook.DESIGN.md +131 -0
- package/skills/to-html/designs/hahow.DESIGN.md +158 -0
- package/skills/to-html/designs/hashicorp.DESIGN.md +369 -0
- package/skills/to-html/designs/hyundaicard.DESIGN.md +177 -0
- package/skills/to-html/designs/ibm.DESIGN.md +420 -0
- package/skills/to-html/designs/kakaobank.DESIGN.md +548 -0
- package/skills/to-html/designs/kakaopay.DESIGN.md +544 -0
- package/skills/to-html/designs/karrot.DESIGN.md +445 -0
- package/skills/to-html/designs/kdan.DESIGN.md +160 -0
- package/skills/to-html/designs/krds.DESIGN.md +997 -0
- package/skills/to-html/designs/line.DESIGN.md +431 -0
- package/skills/to-html/designs/linear.app.DESIGN.md +548 -0
- package/skills/to-html/designs/miro.DESIGN.md +272 -0
- package/skills/to-html/designs/mistral.ai.DESIGN.md +353 -0
- package/skills/to-html/designs/money-forward.DESIGN.md +401 -0
- package/skills/to-html/designs/mongodb.DESIGN.md +357 -0
- package/skills/to-html/designs/naver.DESIGN.md +533 -0
- package/skills/to-html/designs/nhncloud.DESIGN.md +174 -0
- package/skills/to-html/designs/opencode.ai.DESIGN.md +388 -0
- package/skills/to-html/designs/pinterest.DESIGN.md +322 -0
- package/skills/to-html/designs/posthog.DESIGN.md +430 -0
- package/skills/to-html/designs/raycast.DESIGN.md +422 -0
- package/skills/to-html/designs/remember.DESIGN.md +460 -0
- package/skills/to-html/designs/resend.DESIGN.md +396 -0
- package/skills/to-html/designs/sanity.DESIGN.md +449 -0
- package/skills/to-html/designs/sendbird.DESIGN.md +285 -0
- package/skills/to-html/designs/smarthr.DESIGN.md +404 -0
- package/skills/to-html/designs/socar.DESIGN.md +403 -0
- package/skills/to-html/designs/spotify.DESIGN.md +265 -0
- package/skills/to-html/designs/supabase.DESIGN.md +348 -0
- package/skills/to-html/designs/superhuman.DESIGN.md +414 -0
- package/skills/to-html/designs/together.ai.DESIGN.md +356 -0
- package/skills/to-html/designs/toss.DESIGN.md +655 -0
- package/skills/to-html/designs/uber.DESIGN.md +387 -0
- package/skills/to-html/designs/upstage.DESIGN.md +232 -0
- package/skills/to-html/designs/velog.DESIGN.md +168 -0
- package/skills/to-html/designs/vercel.DESIGN.md +479 -0
- package/skills/to-html/designs/wanted.DESIGN.md +529 -0
- package/skills/to-html/designs/wise.DESIGN.md +276 -0
- package/skills/to-html/designs/yanolja.DESIGN.md +463 -0
- package/skills/to-html/designs/yeogiotte.DESIGN.md +459 -0
- package/skills/to-html/designs/zapier.DESIGN.md +433 -0
- package/skills/to-html/designs/zigzag.DESIGN.md +633 -0
- package/skills/to-issues/SKILL.md +84 -0
- package/skills/to-prd/SKILL.md +75 -0
- package/src/colors.js +15 -0
- package/src/link.js +47 -0
- package/src/prompt.js +137 -0
- package/src/skills.js +75 -0
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: miro
|
|
3
|
+
name: Miro
|
|
4
|
+
country: US
|
|
5
|
+
category: design-tools
|
|
6
|
+
homepage: "https://miro.com"
|
|
7
|
+
primary_color: "#ffd02f"
|
|
8
|
+
logo:
|
|
9
|
+
type: simpleicons
|
|
10
|
+
slug: miro
|
|
11
|
+
verified: "2026-05-15"
|
|
12
|
+
omd: "0.1"
|
|
13
|
+
ds:
|
|
14
|
+
name: Mirotone
|
|
15
|
+
url: "https://mirotone.xyz"
|
|
16
|
+
type: system
|
|
17
|
+
description: Miro's CSS component library for apps built on the Miro platform.
|
|
18
|
+
og_image: "https://www.mirotone.xyz/cover.png"
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Design System Inspiration of Miro
|
|
22
|
+
|
|
23
|
+
## 1. Visual Theme & Atmosphere
|
|
24
|
+
|
|
25
|
+
Miro's website is a clean, collaborative-tool-forward platform that communicates "visual thinking" through generous whitespace, pastel accent colors, and a confident geometric font. The design uses a predominantly white canvas with near-black text (`#1c1c1e`) and a distinctive pastel color palette — coral, rose, teal, orange, yellow, moss — each representing different collaboration contexts.
|
|
26
|
+
|
|
27
|
+
The typography uses Roobert PRO Medium as the primary display font with OpenType character variants (`"blwf", "cv03", "cv04", "cv09", "cv11"`) and negative letter-spacing (-1.68px at 56px). Noto Sans handles body text with its own stylistic set (`"liga" 0, "ss01", "ss04", "ss05"`). The design is built with Framer, giving it smooth animations and modern component patterns.
|
|
28
|
+
|
|
29
|
+
**Key Characteristics:**
|
|
30
|
+
- White canvas with near-black (`#1c1c1e`) text
|
|
31
|
+
- Roobert PRO Medium with multiple OpenType character variants
|
|
32
|
+
- Pastel accent palette: coral, rose, teal, orange, yellow, moss (light + dark pairs)
|
|
33
|
+
- Blue 450 (`#5b76fe`) as primary interactive color
|
|
34
|
+
- Success green (`#00b473`) for positive states
|
|
35
|
+
- Generous border-radius: 8px–50px range
|
|
36
|
+
- Framer-built with smooth motion patterns
|
|
37
|
+
- Ring shadow border: `rgb(224,226,232) 0px 0px 0px 1px`
|
|
38
|
+
|
|
39
|
+
## 2. Color Palette & Roles
|
|
40
|
+
|
|
41
|
+
### Primary
|
|
42
|
+
- **Near Black** (`#1c1c1e`): Primary text
|
|
43
|
+
- **White** (`#ffffff`): `--tw-color-white`, primary surface
|
|
44
|
+
- **Blue 450** (`#5b76fe`): `--tw-color-blue-450`, primary interactive
|
|
45
|
+
- **Actionable Pressed** (`#2a41b6`): `--tw-color-actionable-pressed`
|
|
46
|
+
|
|
47
|
+
### Pastel Accents (Light/Dark pairs)
|
|
48
|
+
- **Coral**: Light `#ffc6c6` / Dark `#600000`
|
|
49
|
+
- **Rose**: Light `#ffd8f4` / Dark (implied)
|
|
50
|
+
- **Teal**: Light `#c3faf5` / Dark `#187574`
|
|
51
|
+
- **Orange**: Light `#ffe6cd`
|
|
52
|
+
- **Yellow**: Dark `#746019`
|
|
53
|
+
- **Moss**: Dark `#187574`
|
|
54
|
+
- **Pink** (`#fde0f0`): Soft pink surface
|
|
55
|
+
- **Red** (`#fbd4d4`): Light red surface
|
|
56
|
+
- **Dark Red** (`#e3c5c5`): Muted red
|
|
57
|
+
|
|
58
|
+
### Semantic
|
|
59
|
+
- **Success** (`#00b473`): `--tw-color-success-accent`
|
|
60
|
+
|
|
61
|
+
### Neutral
|
|
62
|
+
- **Slate** (`#555a6a`): Secondary text
|
|
63
|
+
- **Input Placeholder** (`#a5a8b5`): `--tw-color-input-placeholder`
|
|
64
|
+
- **Border** (`#c7cad5`): Button borders
|
|
65
|
+
- **Ring** (`rgb(224,226,232)`): Shadow-as-border
|
|
66
|
+
|
|
67
|
+
## 3. Typography Rules
|
|
68
|
+
|
|
69
|
+
### Font Families
|
|
70
|
+
- **Display**: `Roobert PRO Medium`, fallback: Placeholder — `"blwf", "cv03", "cv04", "cv09", "cv11"`
|
|
71
|
+
- **Display Variants**: `Roobert PRO SemiBold`, `Roobert PRO SemiBold Italic`, `Roobert PRO`
|
|
72
|
+
- **Body**: `Noto Sans` — `"liga" 0, "ss01", "ss04", "ss05"`
|
|
73
|
+
|
|
74
|
+
### Hierarchy
|
|
75
|
+
|
|
76
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing |
|
|
77
|
+
|------|------|------|--------|-------------|----------------|
|
|
78
|
+
| Display Hero | Roobert PRO Medium | 56px | 400 | 1.15 | -1.68px |
|
|
79
|
+
| Section Heading | Roobert PRO Medium | 48px | 400 | 1.15 | -1.44px |
|
|
80
|
+
| Card Title | Roobert PRO Medium | 24px | 400 | 1.15 | -0.72px |
|
|
81
|
+
| Sub-heading | Noto Sans | 22px | 400 | 1.35 | -0.44px |
|
|
82
|
+
| Feature | Roobert PRO Medium | 18px | 600 | 1.35 | normal |
|
|
83
|
+
| Body | Noto Sans | 18px | 400 | 1.45 | normal |
|
|
84
|
+
| Body Standard | Noto Sans | 16px | 400–600 | 1.50 | -0.16px |
|
|
85
|
+
| Button | Roobert PRO Medium | 17.5px | 700 | 1.29 | 0.175px |
|
|
86
|
+
| Caption | Roobert PRO Medium | 14px | 400 | 1.71 | normal |
|
|
87
|
+
| Small | Roobert PRO Medium | 12px | 400 | 1.15 | -0.36px |
|
|
88
|
+
| Micro Uppercase | Roobert PRO | 10.5px | 400 | 0.90 | uppercase |
|
|
89
|
+
|
|
90
|
+
## 4. Component Stylings
|
|
91
|
+
|
|
92
|
+
### Buttons
|
|
93
|
+
|
|
94
|
+
**Blue Primary**
|
|
95
|
+
- Background: `#5b76fe` (`--tw-color-blue-450`)
|
|
96
|
+
- Text: `#ffffff`
|
|
97
|
+
- Radius: 8px
|
|
98
|
+
- Padding: 7px 12px
|
|
99
|
+
- Font: 17.5px / 700 / Roobert PRO Medium
|
|
100
|
+
- Hover: `#2a41b6` (`--tw-color-actionable-pressed`)
|
|
101
|
+
- Use: Primary CTA — implied from interactive blue
|
|
102
|
+
|
|
103
|
+
**Outlined**
|
|
104
|
+
- Background: transparent
|
|
105
|
+
- Text: `#1c1c1e`
|
|
106
|
+
- Border: 1px solid `#c7cad5`
|
|
107
|
+
- Radius: 8px
|
|
108
|
+
- Padding: 7px 12px
|
|
109
|
+
- Font: 17.5px / 700 / Roobert PRO Medium
|
|
110
|
+
- Use: Secondary outlined button
|
|
111
|
+
|
|
112
|
+
**White Circle**
|
|
113
|
+
- Background: `#ffffff`
|
|
114
|
+
- Radius: 50%
|
|
115
|
+
- Padding: 12px (icon button)
|
|
116
|
+
- Shadow: `rgb(224,226,232) 0px 0px 0px 1px` (ring shadow)
|
|
117
|
+
- Use: Circular icon button
|
|
118
|
+
|
|
119
|
+
### Inputs
|
|
120
|
+
|
|
121
|
+
**Default**
|
|
122
|
+
- Background: `#ffffff`
|
|
123
|
+
- Text: `#1c1c1e`
|
|
124
|
+
- Border: 1px solid `#e9eaef`
|
|
125
|
+
- Radius: 8px
|
|
126
|
+
- Padding: 16px
|
|
127
|
+
- Font: 16px / 400 / Noto Sans
|
|
128
|
+
- Placeholder: `#a5a8b5` (`--tw-color-input-placeholder`)
|
|
129
|
+
- Use: Standard input
|
|
130
|
+
|
|
131
|
+
### Cards
|
|
132
|
+
|
|
133
|
+
**Standard**
|
|
134
|
+
- Background: `#ffffff`
|
|
135
|
+
- Radius: 12px
|
|
136
|
+
- Padding: 16px
|
|
137
|
+
- Shadow: `rgb(224,226,232) 0px 0px 0px 1px` (ring shadow)
|
|
138
|
+
- Use: Default card with ring-shadow border
|
|
139
|
+
|
|
140
|
+
**Pastel Surface**
|
|
141
|
+
- Background: pastel accent (e.g., `#ffc6c6` Coral, `#c3faf5` Teal, `#ffe6cd` Orange, `#fde0f0` Pink)
|
|
142
|
+
- Text: `#1c1c1e`
|
|
143
|
+
- Radius: 12-24px
|
|
144
|
+
- Padding: 24px
|
|
145
|
+
- Use: Feature card with pastel surface
|
|
146
|
+
|
|
147
|
+
**Large Panel**
|
|
148
|
+
- Background: `#ffffff`
|
|
149
|
+
- Radius: 24px
|
|
150
|
+
- Padding: 32px
|
|
151
|
+
- Shadow: `rgb(224,226,232) 0px 0px 0px 1px`
|
|
152
|
+
- Use: Large containers
|
|
153
|
+
|
|
154
|
+
### Badges
|
|
155
|
+
|
|
156
|
+
**Default**
|
|
157
|
+
- Background: `#5b76fe`
|
|
158
|
+
- Text: `#ffffff`
|
|
159
|
+
- Radius: 8px
|
|
160
|
+
- Padding: 4px 8px
|
|
161
|
+
- Font: 12px / 400 / Roobert PRO Medium
|
|
162
|
+
- Use: Inferred from §1-§2 baseline (no explicit DS variant in source).
|
|
163
|
+
|
|
164
|
+
**Success**
|
|
165
|
+
- Background: `#00b473` (`--tw-color-success-accent`)
|
|
166
|
+
- Text: `#ffffff`
|
|
167
|
+
- Radius: 8px
|
|
168
|
+
- Padding: 4px 8px
|
|
169
|
+
- Use: Inferred from §1-§2 baseline (no explicit DS variant in source).
|
|
170
|
+
|
|
171
|
+
## 5. Layout Principles
|
|
172
|
+
- Spacing: 1–24px base scale
|
|
173
|
+
- Radius: 8px (buttons), 10px–12px (cards), 20px–24px (panels), 40px–50px (large containers)
|
|
174
|
+
- Ring shadow: `rgb(224,226,232) 0px 0px 0px 1px`
|
|
175
|
+
|
|
176
|
+
## 6. Depth & Elevation
|
|
177
|
+
Minimal — ring shadow + pastel surface contrast
|
|
178
|
+
|
|
179
|
+
## 7. Do's and Don'ts
|
|
180
|
+
### Do
|
|
181
|
+
- Use pastel light/dark pairs for feature sections
|
|
182
|
+
- Apply Roobert PRO with OpenType character variants
|
|
183
|
+
- Use Blue 450 (#5b76fe) for interactive elements
|
|
184
|
+
### Don't
|
|
185
|
+
- Don't use heavy shadows
|
|
186
|
+
- Don't mix more than 2 pastel accents per section
|
|
187
|
+
|
|
188
|
+
## 8. Responsive Behavior
|
|
189
|
+
Breakpoints: 425px, 576px, 768px, 896px, 1024px, 1200px, 1280px, 1366px, 1700px, 1920px
|
|
190
|
+
|
|
191
|
+
## 9. Agent Prompt Guide
|
|
192
|
+
### Quick Color Reference
|
|
193
|
+
- Text: Near Black (`#1c1c1e`)
|
|
194
|
+
- Background: White (`#ffffff`)
|
|
195
|
+
- Interactive: Blue 450 (`#5b76fe`)
|
|
196
|
+
- Success: `#00b473`
|
|
197
|
+
- Border: `#c7cad5`
|
|
198
|
+
### Example Component Prompts
|
|
199
|
+
- "Create hero: white background. Roobert PRO Medium 56px, line-height 1.15, letter-spacing -1.68px. Blue CTA (#5b76fe). Outlined secondary (1px solid #c7cad5, 8px radius)."
|
|
200
|
+
|
|
201
|
+
## 10. Voice & Tone
|
|
202
|
+
|
|
203
|
+
Miro's voice is **collaboration-warm and workshop-confident.** "AI 이노베이션 워크스페이스" (homepage 2026-05) — brand evolution from "online whiteboard" to "AI innovation workspace". Marketing copy emphasizes team workshops + collaborative moments. Yellow `#fde050` CTA signals "playful, sticky-note inspired."
|
|
204
|
+
|
|
205
|
+
| Context | Tone |
|
|
206
|
+
|---|---|
|
|
207
|
+
| CTA | Verb. "Sign up free", "Save your spot", "Start free" |
|
|
208
|
+
| Marketing | Workshop-language. Customer co-creation moments |
|
|
209
|
+
| Documentation | Visual-heavy, screenshot-driven |
|
|
210
|
+
| Error | Specific. "Board permissions changed. Refresh to see updates." |
|
|
211
|
+
|
|
212
|
+
**Voice samples**
|
|
213
|
+
- Marketing CTA: *"SAVE YOUR SPOT"* <!-- verified: miro.com/ko homepage 2026-05 -->
|
|
214
|
+
|
|
215
|
+
**Forbidden phrases.** "Revolutionary whiteboard". Aggressive Mural-comparison framing.
|
|
216
|
+
|
|
217
|
+
## 11. Brand Narrative
|
|
218
|
+
|
|
219
|
+
Miro was founded **2011 as RealtimeBoard** in **Perm, Russia** (~1,150 km east of Moscow) by **Andrey Khusid** and **Oleg Shardin** ([Miro — Wikipedia](https://en.wikipedia.org/wiki/Miro_(collaboration_platform)), [bne IntelliNews — Miro $17.5B](https://www.intellinews.com/founded-in-russia-11-years-ago-the-miro-visual-collaboration-software-startup-is-now-valued-at-17-5bn-231861/)). Khusid + Shardin had previously **founded the design agency Vitamin Group in 2005** offering web/product/app design services; **2012 they left Vitamin to focus on RealtimeBoard full-time**. Funding ladder: **$25M Series A (2018)** led by **Accel** with Altair Capital + Scale Venture Partners → **$50M Series B (April 2020)**, after which user base grew **5×** (5M → 30M) and paying customers **5.5×** (20K → 130K) → **$400M Series C (January 2022)** co-led by **ICONIQ Growth + Accel + Atlassian + Dragoneer + GIC + Scale Venture Partners** at **$17.5B post-money valuation**, total funding ~**$476M** ([Miro Newsroom — $400M Series C](https://miro.com/newsroom/miro-series-c/), [BusinessWire — Series B $50M April 2020](https://www.businesswire.com/news/home/20200427005109/en/Miro-Secures-%2450-Million-in-Series-B-Funding-for-Virtual-Whiteboarding-for-Remote-Teams)). **Rebranded RealtimeBoard → Miro in 2019** reflecting a global identity. Strong adoption in design teams, agile workshops, and consulting. AI features added 2024-2025 to position Miro as the **"AI innovation workspace"** (live `miro.com/ko` page-title confirms 2026-05).
|
|
220
|
+
|
|
221
|
+
## 12. Principles
|
|
222
|
+
|
|
223
|
+
1. **Yellow signals action.** `#fde050` CTA inherited from sticky-note culture. *UI implication:* primary actions yellow on white.
|
|
224
|
+
2. **Roobert PRO is the type voice.** Medium weight throughout. *UI implication:* don't substitute system fonts.
|
|
225
|
+
3. **Workshop > toolbox.** *UI implication:* product positioning treats Miro as a meeting/workshop space, not a static design tool.
|
|
226
|
+
4. **Generous radius for warmth.** *UI implication:* 8px+ on cards, 16px+ on hero modules.
|
|
227
|
+
5. **AI as workshop participant.** *UI implication:* AI features framed as joining the workshop, not replacing humans.
|
|
228
|
+
|
|
229
|
+
## 13. Personas
|
|
230
|
+
|
|
231
|
+
*Personas are fictional archetypes informed by Miro user segments (UX designers, agile coaches, consulting partners), not individual people.*
|
|
232
|
+
|
|
233
|
+
**Yuki Tanaka, 32, Tokyo.** UX designer at agency. Runs client workshops in Miro 3× per week.
|
|
234
|
+
|
|
235
|
+
**Marcus Chen, 41, San Francisco.** Agile coach at Series C SaaS. Sprint planning + retros in Miro.
|
|
236
|
+
|
|
237
|
+
**Sofia Russo, 36, Milan.** Independent design consultant. Miro for client research + brainstorming.
|
|
238
|
+
|
|
239
|
+
## 14. States
|
|
240
|
+
|
|
241
|
+
| State | Treatment |
|
|
242
|
+
|---|---|
|
|
243
|
+
| **Empty (no boards)** | "Create your first board" CTA + template gallery |
|
|
244
|
+
| **Empty (no team)** | "Invite teammates" with email picker |
|
|
245
|
+
| **Loading (board opening)** | Skeleton with sticky-note placeholders |
|
|
246
|
+
| **Loading (cursor sync)** | Cursor avatars appear with name labels |
|
|
247
|
+
| **Error (sync)** | Banner + retry; never block editing |
|
|
248
|
+
| **Error (permission)** | "Read-only — request edit access" inline link |
|
|
249
|
+
| **Success (saved)** | Implicit; auto-save with subtle indicator |
|
|
250
|
+
| **Success (export)** | Download triggered + toast confirmation |
|
|
251
|
+
| **Skeleton (board grid)** | Yellow-tinted placeholders |
|
|
252
|
+
| **Disabled (free plan limit)** | Upgrade link |
|
|
253
|
+
| **Loading (long export)** | Persistent progress chip |
|
|
254
|
+
|
|
255
|
+
## 15. Motion & Easing
|
|
256
|
+
|
|
257
|
+
| Token | Value | Use |
|
|
258
|
+
|---|---|---|
|
|
259
|
+
| `motion-instant` | 0ms | Selection |
|
|
260
|
+
| `motion-fast` | 150ms | Hover |
|
|
261
|
+
| `motion-standard` | 250ms | Modal, panel |
|
|
262
|
+
| `motion-cursor` | continuous | Live cursor sync |
|
|
263
|
+
|
|
264
|
+
Standard cubic-bezier; minimal bounce. Cursor sync motion is signature. `prefers-reduced-motion: reduce` removes hover transitions; cursor sync becomes step-discrete.
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
**Verified:** 2026-05-08 (omd:migrate run 38 — Apple-tier)
|
|
269
|
+
**Tier 1 sources:** miro.com/ko home + /pricing (live DOM via playwright — **three-color 8px Primary**: Yellow banner `#fde050` 40px / 16px·**900** ALL CAPS (banner-only) + Charcoal `#1c1c1e` 42-44px / 16px·**600** (canonical default) + Miro Blue `#3859ff` 48px / 18px·600 (featured-tier accent); Outline transparent / Charcoal text).
|
|
270
|
+
**Tier 2 sources:** styles.refero.design / getdesign.md — no record.
|
|
271
|
+
**Tier 2 (Philosophy/founders/funding):** Wikipedia (Miro), bne IntelliNews ($17.5B), Crunchbase, Miro Newsroom (Series C $400M Jan 2022), BusinessWire (Series B $50M Apr 2020), Contrary Research, EWDN.
|
|
272
|
+
**Style ref:** `notion`. **Conflicts unresolved:** none. **Earlier mistake reverted:** prior footer captured Yellow banner only; canonical default Primary is **Charcoal `#1c1c1e`** with Miro Blue `#3859ff` featured-tier accent — three-color discipline was undocumented.
|
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: mistral.ai
|
|
3
|
+
name: Mistral AI
|
|
4
|
+
country: FR
|
|
5
|
+
category: ai
|
|
6
|
+
homepage: "https://mistral.ai"
|
|
7
|
+
primary_color: "#ff7000"
|
|
8
|
+
logo:
|
|
9
|
+
type: simpleicons
|
|
10
|
+
slug: mistralai
|
|
11
|
+
verified: "2026-05-15"
|
|
12
|
+
omd: "0.1"
|
|
13
|
+
ds:
|
|
14
|
+
name: Mistral Brand
|
|
15
|
+
url: "https://mistral.ai/brand"
|
|
16
|
+
type: brand
|
|
17
|
+
description: Mistral AI's logo, colors, typography, and brand asset kit.
|
|
18
|
+
og_image: "https://mistral.ai/-/brand/opengraph-image-1robrb.png"
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Design System Inspiration of Mistral AI
|
|
22
|
+
|
|
23
|
+
## 1. Visual Theme & Atmosphere
|
|
24
|
+
|
|
25
|
+
Mistral AI's interface is a sun-drenched landscape rendered in code — a warm, bold, unapologetically European design that trades the typical blue-screen AI aesthetic for golden amber, burnt orange, and the feeling of late-afternoon light in southern France. Every surface glows with warmth: backgrounds fade from pale cream to deep amber, shadows carry golden undertones (`rgba(127, 99, 21, ...)`), and the brand's signature orange (`#fa520f`) burns through the page like a signal fire.
|
|
26
|
+
|
|
27
|
+
The design language is maximalist in its warmth but minimalist in its structure. Huge display headlines (82px) crash into the viewport with aggressive negative tracking (-2.05px), creating text blocks that feel like billboards or protest posters — declarations rather than descriptions. The typography uses Arial (likely a custom font with Arial as fallback) at extreme sizes, creating a raw, unadorned voice that says "we build frontier AI" with no decoration needed.
|
|
28
|
+
|
|
29
|
+
What makes Mistral distinctive is the complete commitment to a warm color temperature. The signature "block" identity — a gradient system flowing from bright yellow (`#ffd900`) through amber (`#ffa110`) to burnt orange (`#fa520f`) — creates a visual identity that's immediately recognizable. Even the shadows are warm, using amber-tinted blacks instead of cool grays. Combined with dramatic landscape photography in golden tones, the design feels less like a tech company and more like a European luxury brand that happens to build language models.
|
|
30
|
+
|
|
31
|
+
**Key Characteristics:**
|
|
32
|
+
- Golden-amber color universe: every tone from pale cream (#fffaeb) to burnt orange (#fa520f)
|
|
33
|
+
- Massive display typography (82px) with aggressive negative letter-spacing (-2.05px)
|
|
34
|
+
- Warm golden shadow system using amber-tinted rgba values
|
|
35
|
+
- The Mistral "M" block identity — a gradient from yellow to orange
|
|
36
|
+
- Dramatic landscape photography in warm golden tones
|
|
37
|
+
- Uppercase typography used strategically for section labels and CTAs
|
|
38
|
+
- Near-zero border-radius — sharp, architectural geometry
|
|
39
|
+
- French-European confidence: bold, warm, declarative
|
|
40
|
+
|
|
41
|
+
## 2. Color Palette & Roles
|
|
42
|
+
|
|
43
|
+
### Primary
|
|
44
|
+
- **Mistral Orange** (`#fa520f`): The core brand color — a vivid, saturated orange-red that anchors the entire identity. Used for primary emphasis, the brand block, and the highest-signal moments.
|
|
45
|
+
- **Mistral Flame** (`#fb6424`): A slightly warmer, lighter variant of the brand orange used for secondary brand moments and hover states.
|
|
46
|
+
- **Block Orange** (`#ff8105`): A pure orange used in the gradient block system — warmer and less red than Mistral Orange.
|
|
47
|
+
|
|
48
|
+
### Secondary & Accent
|
|
49
|
+
- **Sunshine 900** (`#ff8a00`): Deep golden amber — the darkest sunshine tone, used for strong accent moments.
|
|
50
|
+
- **Sunshine 700** (`#ffa110`): Warm amber-gold — the core sunshine accent for backgrounds and interactive elements.
|
|
51
|
+
- **Sunshine 500** (`#ffb83e`): Medium golden — balanced warmth for mid-level emphasis.
|
|
52
|
+
- **Sunshine 300** (`#ffd06a`): Light golden — for subtle warm tints and secondary backgrounds.
|
|
53
|
+
- **Block Gold** (`#ffe295`): Pale gold — soft background accents and gentle warmth.
|
|
54
|
+
- **Bright Yellow** (`#ffd900`): The brightest tone in the gradient — used at the "top" of the block identity.
|
|
55
|
+
|
|
56
|
+
### Surface & Background
|
|
57
|
+
- **Warm Ivory** (`#fffaeb`): The lightest page background — barely tinted with warmth, the foundation canvas.
|
|
58
|
+
- **Cream** (`#fff0c2`): The primary warm surface and secondary button background — noticeably golden.
|
|
59
|
+
- **Pure White** (`#ffffff`): Used for maximum contrast elements and popover surfaces.
|
|
60
|
+
- **Mistral Black** (`#1f1f1f`): The primary dark surface for buttons, text, and dark sections.
|
|
61
|
+
- **Accent Orange** (defined as `hsl(17, 96%, 52%)`): The functional accent color for interactive states.
|
|
62
|
+
|
|
63
|
+
### Neutrals & Text
|
|
64
|
+
- **Mistral Black** (`#1f1f1f`): Primary text color and dark button backgrounds — a near-black that's warmer than pure #000.
|
|
65
|
+
- **Black Tint** (defined as `hsl(0, 0%, 24%)`): A medium dark gray for secondary text on light backgrounds.
|
|
66
|
+
- **Pure White** (`#ffffff`): Text on dark surfaces and CTA labels.
|
|
67
|
+
|
|
68
|
+
### Semantic & Accent
|
|
69
|
+
- **Input Border** (defined as `hsl(240, 5.9%, 90%)`): A cool-tinted light gray for form borders — one of the few cool tones in the system.
|
|
70
|
+
- **White Overlay** (`oklab(1, 0, 0 / 0.088–0.1)`): Semi-transparent white for frosted glass effects and button overlays.
|
|
71
|
+
|
|
72
|
+
### Gradient System
|
|
73
|
+
- **Mistral Block Gradient**: The signature identity — a multi-step gradient flowing through Yellow (`#ffd900`) → Gold (`#ffe295`) → Amber (`#ffa110`) → Orange (`#ff8105`) → Flame (`#fb6424`) → Mistral Orange (`#fa520f`). This gradient appears in the logo blocks, section backgrounds, and decorative elements.
|
|
74
|
+
- **Golden Landscape Wash**: Photography and backgrounds use warm amber overlays creating a consistent golden temperature across the page.
|
|
75
|
+
- **Warm Shadow Cascade**: Multi-layered golden shadows that build depth with amber-tinted transparency rather than gray.
|
|
76
|
+
|
|
77
|
+
## 3. Typography Rules
|
|
78
|
+
|
|
79
|
+
### Font Family
|
|
80
|
+
- **Primary**: Likely a custom font (Font Source detected) with `Arial` as fallback, and extended stack: `ui-sans-serif, system-ui, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji`
|
|
81
|
+
|
|
82
|
+
### Hierarchy
|
|
83
|
+
|
|
84
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
85
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
86
|
+
| Display / Hero | Arial (custom) | 82px (5.13rem) | 400 | 1.00 (tight) | -2.05px | Maximum impact, billboard scale |
|
|
87
|
+
| Section Heading | Arial (custom) | 56px (3.5rem) | 400 | 0.95 (ultra-tight) | normal | Feature section anchors |
|
|
88
|
+
| Sub-heading Large | Arial (custom) | 48px (3rem) | 400 | 0.95 (ultra-tight) | normal | Secondary section titles |
|
|
89
|
+
| Sub-heading | Arial (custom) | 32px (2rem) | 400 | 1.15 (tight) | normal | Card headings, feature names |
|
|
90
|
+
| Card Title | Arial (custom) | 30px (1.88rem) | 400 | 1.20 (tight) | normal | Mid-level headings |
|
|
91
|
+
| Feature Title | Arial (custom) | 24px (1.5rem) | 400 | 1.33 | normal | Small headings |
|
|
92
|
+
| Body / Button | Arial (custom) | 16px (1rem) | 400 | 1.50 | normal | Standard body, button text |
|
|
93
|
+
| Button Uppercase | Arial (custom) | 16px (1rem) | 400 | 1.50 | normal | Uppercase CTA labels |
|
|
94
|
+
| Caption / Link | Arial (custom) | 14px (0.88rem) | 400 | 1.43 | normal | Metadata, secondary links |
|
|
95
|
+
|
|
96
|
+
### Principles
|
|
97
|
+
- **Single weight, maximum impact**: The entire system uses weight 400 (regular) — even at 82px. This creates a surprisingly elegant effect where the size alone carries authority without needing bold weight.
|
|
98
|
+
- **Ultra-tight at scale**: Line-heights of 0.95–1.00 at display sizes create text blocks where ascenders nearly touch descenders from the line above — creating dense, poster-like composition.
|
|
99
|
+
- **Aggressive tracking on display**: -2.05px letter-spacing at 82px compresses the hero text into a monolithic block.
|
|
100
|
+
- **Uppercase as emphasis**: Strategic `text-transform: uppercase` on button labels and section markers creates a formal, European signage quality.
|
|
101
|
+
- **No weight variation**: Unlike most systems that use 300–700 weight range, Mistral uses 400 everywhere. Hierarchy comes from size and color, never weight.
|
|
102
|
+
|
|
103
|
+
## 4. Component Stylings
|
|
104
|
+
|
|
105
|
+
### Buttons
|
|
106
|
+
|
|
107
|
+
**Cream Surface**
|
|
108
|
+
- Background: Cream (`#fff0c2`)
|
|
109
|
+
- Text: Mistral Black (`#1f1f1f`)
|
|
110
|
+
- No visible border
|
|
111
|
+
- The warm, inviting secondary CTA
|
|
112
|
+
|
|
113
|
+
**Dark Solid**
|
|
114
|
+
- Background: Mistral Black (`#1f1f1f`)
|
|
115
|
+
- Text: Pure White (`#ffffff`)
|
|
116
|
+
- Padding: 12px (all sides)
|
|
117
|
+
- No visible border
|
|
118
|
+
- The primary action button — dark on warm
|
|
119
|
+
|
|
120
|
+
**Ghost / Transparent**
|
|
121
|
+
- Background: transparent with slight dark overlay (`oklab(0, 0, 0 / 0.1)`)
|
|
122
|
+
- Text: Mistral Black (`#1f1f1f`)
|
|
123
|
+
- Opacity: 0.4
|
|
124
|
+
- For secondary/de-emphasized actions
|
|
125
|
+
|
|
126
|
+
**Text / Underline**
|
|
127
|
+
- Background: transparent
|
|
128
|
+
- Text: Mistral Black (`#1f1f1f`)
|
|
129
|
+
- Padding: 8px 0px 0px (top-only)
|
|
130
|
+
- Minimal styling — text link as button
|
|
131
|
+
- For tertiary navigation actions
|
|
132
|
+
|
|
133
|
+
### Cards & Containers
|
|
134
|
+
- Background: Warm Ivory (`#fffaeb`), Cream (`#fff0c2`), or Pure White
|
|
135
|
+
- Border: minimal to none — containers defined by background color
|
|
136
|
+
- Radius: near-zero — sharp, architectural corners
|
|
137
|
+
- Shadow: warm golden multi-layer (`rgba(127, 99, 21, 0.12) -8px 16px 39px, rgba(127, 99, 21, 0.1) -33px 64px 72px, rgba(127, 99, 21, 0.06) -73px 144px 97px, ...`) — a dramatic, cascading warm shadow
|
|
138
|
+
- Distinctive: the golden shadow creates a "golden hour" lighting effect
|
|
139
|
+
|
|
140
|
+
### Inputs & Forms
|
|
141
|
+
- Border: `hsl(240, 5.9%, 90%)` — the sole cool-toned element
|
|
142
|
+
- Focus: accent color ring
|
|
143
|
+
- Minimal styling consistent with sparse aesthetic
|
|
144
|
+
|
|
145
|
+
### Navigation
|
|
146
|
+
- Transparent nav overlaying the warm hero
|
|
147
|
+
- Logo: Mistral "M" wordmark
|
|
148
|
+
- Links: Dark text (white on dark sections)
|
|
149
|
+
- CTA: Dark solid button or cream surface button
|
|
150
|
+
- Minimal, wide-spaced layout
|
|
151
|
+
|
|
152
|
+
### Image Treatment
|
|
153
|
+
- Dramatic landscape photography in warm golden tones
|
|
154
|
+
- The winding road through golden hills — a recurring visual motif
|
|
155
|
+
- The Mistral "M" rendered at large scale on golden backgrounds
|
|
156
|
+
- Warm color grading on all photography
|
|
157
|
+
- Full-bleed sections with photography
|
|
158
|
+
|
|
159
|
+
### Distinctive Components
|
|
160
|
+
|
|
161
|
+
**Mistral Block Identity**
|
|
162
|
+
- A row of colored blocks forming the gradient: yellow → amber → orange → burnt orange
|
|
163
|
+
- Each block gets progressively more orange/red
|
|
164
|
+
- The visual DNA of the brand — recognizable at any size
|
|
165
|
+
|
|
166
|
+
**Golden Shadow Cards**
|
|
167
|
+
- Cards elevated with warm amber multi-layered shadows
|
|
168
|
+
- 5 layers of shadow from 16px to 400px offset
|
|
169
|
+
- Creates a "floating in golden light" effect unique to Mistral
|
|
170
|
+
|
|
171
|
+
**Dark Footer Gradient**
|
|
172
|
+
- Footer transitions from warm amber to dark through a dramatic gradient
|
|
173
|
+
- Creates a "sunset" effect as the page ends
|
|
174
|
+
|
|
175
|
+
## 5. Layout Principles
|
|
176
|
+
|
|
177
|
+
### Spacing System
|
|
178
|
+
- Base unit: 8px
|
|
179
|
+
- Scale: 2px, 4px, 8px, 10px, 12px, 16px, 20px, 24px, 32px, 40px, 48px, 64px, 80px, 98px, 100px
|
|
180
|
+
- Button padding: 12px or 8px 0px (compact)
|
|
181
|
+
- Section vertical spacing: very generous (80px–100px)
|
|
182
|
+
|
|
183
|
+
### Grid & Container
|
|
184
|
+
- Max container width: approximately 1280px, centered
|
|
185
|
+
- Hero: full-width with massive typography overlaying warm backgrounds
|
|
186
|
+
- Feature sections: wide-format layouts with dramatic imagery
|
|
187
|
+
- Card grids: 2–3 column layouts
|
|
188
|
+
|
|
189
|
+
### Whitespace Philosophy
|
|
190
|
+
- **Bold declarations**: Huge headlines surrounded by generous whitespace create billboard-like impact — each statement gets its own breathing space.
|
|
191
|
+
- **Warm void**: Empty space itself feels warm because the backgrounds are tinted ivory/cream rather than pure white.
|
|
192
|
+
- **Photography as space-filler**: Large landscape images serve double duty as content and decorative whitespace.
|
|
193
|
+
|
|
194
|
+
### Border Radius Scale
|
|
195
|
+
- Near-zero: The dominant radius — sharp, architectural corners on most elements
|
|
196
|
+
- This extreme sharpness contrasts with the warmth of the colors, creating a tension between soft color and hard geometry.
|
|
197
|
+
|
|
198
|
+
## 6. Depth & Elevation
|
|
199
|
+
|
|
200
|
+
| Level | Treatment | Use |
|
|
201
|
+
|-------|-----------|-----|
|
|
202
|
+
| Flat (Level 0) | No shadow | Page backgrounds, text blocks |
|
|
203
|
+
| Golden Float (Level 1) | Multi-layer warm shadow (5 layers, 12%→0% opacity, amber-tinted) | Feature cards, product showcases, elevated content |
|
|
204
|
+
|
|
205
|
+
**Shadow Philosophy**: Mistral uses a single but extraordinarily complex shadow — **five cascading layers** of amber-tinted shadow (`rgba(127, 99, 21, ...)`) that build from a close 16px offset to a distant 400px offset. The result is a rich, warm, "golden hour" lighting effect that makes elevated elements look like they're bathed in afternoon sunlight. This is the most distinctive shadow system in any major AI brand.
|
|
206
|
+
|
|
207
|
+
## 7. Do's and Don'ts
|
|
208
|
+
|
|
209
|
+
### Do
|
|
210
|
+
- Use the warm color spectrum exclusively: ivory, cream, amber, gold, orange
|
|
211
|
+
- Keep display typography at 82px+ with -2.05px letter-spacing for hero sections
|
|
212
|
+
- Use the Mistral block gradient (yellow → amber → orange) for brand moments
|
|
213
|
+
- Apply warm golden shadows (amber-tinted rgba) for elevated elements
|
|
214
|
+
- Use Mistral Black (#1f1f1f) for text — never pure #000000
|
|
215
|
+
- Keep font weight at 400 throughout — let size and color carry hierarchy
|
|
216
|
+
- Use sharp, architectural corners — near-zero border-radius
|
|
217
|
+
- Apply uppercase on button labels and section markers for European formality
|
|
218
|
+
- Use warm landscape photography with golden color grading
|
|
219
|
+
|
|
220
|
+
### Don't
|
|
221
|
+
- Don't introduce cool colors (blue, green, purple) — the palette is exclusively warm
|
|
222
|
+
- Don't use bold (700+) weight — 400 is the only weight
|
|
223
|
+
- Don't round corners — the sharp geometry is intentional
|
|
224
|
+
- Don't use cool-toned shadows — shadows must carry amber warmth
|
|
225
|
+
- Don't use pure white as a page background — always warm-tinted (#fffaeb minimum)
|
|
226
|
+
- Don't reduce hero text below 48px on desktop — the billboard scale is core
|
|
227
|
+
- Don't use more than 2 font weights — size variation replaces weight variation
|
|
228
|
+
- Don't add gradients outside the warm spectrum — no blue-to-purple, no cool transitions
|
|
229
|
+
- Don't use generic gray for text — even neutrals should be warm-tinted
|
|
230
|
+
|
|
231
|
+
## 8. Responsive Behavior
|
|
232
|
+
|
|
233
|
+
### Breakpoints
|
|
234
|
+
| Name | Width | Key Changes |
|
|
235
|
+
|------|-------|-------------|
|
|
236
|
+
| Mobile | <640px | Single column, stacked everything, hero text reduces to ~32px |
|
|
237
|
+
| Tablet | 640–768px | Minor layout adjustments |
|
|
238
|
+
| Small Desktop | 768–1024px | 2-column layouts begin |
|
|
239
|
+
| Desktop | 1024–1280px | Full layout with maximum typography scale |
|
|
240
|
+
|
|
241
|
+
### Touch Targets
|
|
242
|
+
- Buttons use generous padding (12px minimum)
|
|
243
|
+
- Navigation elements adequately spaced
|
|
244
|
+
- Cards serve as large touch targets
|
|
245
|
+
|
|
246
|
+
### Collapsing Strategy
|
|
247
|
+
- **Navigation**: Collapses to hamburger on mobile
|
|
248
|
+
- **Hero text**: 82px → 56px → 48px → 32px progressive scaling
|
|
249
|
+
- **Feature sections**: Multi-column → stacked
|
|
250
|
+
- **Photography**: Scales proportionally, may crop on mobile
|
|
251
|
+
- **Block identity**: Scales down proportionally
|
|
252
|
+
|
|
253
|
+
### Image Behavior
|
|
254
|
+
- Landscape photography scales proportionally
|
|
255
|
+
- Warm color grading maintained at all sizes
|
|
256
|
+
- Block gradient elements resize fluidly
|
|
257
|
+
- No art direction changes — same warm composition at all sizes
|
|
258
|
+
|
|
259
|
+
## 9. Agent Prompt Guide
|
|
260
|
+
|
|
261
|
+
### Quick Color Reference
|
|
262
|
+
- Brand Orange: "Mistral Orange (#fa520f)"
|
|
263
|
+
- Page Background: "Warm Ivory (#fffaeb)"
|
|
264
|
+
- Warm Surface: "Cream (#fff0c2)"
|
|
265
|
+
- Primary Text: "Mistral Black (#1f1f1f)"
|
|
266
|
+
- Sunshine Amber: "Sunshine 700 (#ffa110)"
|
|
267
|
+
- Bright Gold: "Bright Yellow (#ffd900)"
|
|
268
|
+
- Text on Dark: "Pure White (#ffffff)"
|
|
269
|
+
|
|
270
|
+
### Example Component Prompts
|
|
271
|
+
- "Create a hero section on Warm Ivory (#fffaeb) with a massive headline at 82px Arial weight 400, line-height 1.0, letter-spacing -2.05px. Mistral Black (#1f1f1f) text. Add a dark solid CTA button (#1f1f1f bg, white text, 12px padding, sharp corners) and a cream secondary button (#fff0c2 bg)."
|
|
272
|
+
- "Design a feature card on Cream (#fff0c2) with sharp corners (no border-radius). Apply the golden shadow system: rgba(127, 99, 21, 0.12) -8px 16px 39px as the primary layer. Title at 32px weight 400, body at 16px."
|
|
273
|
+
- "Build the Mistral block identity: a row of colored blocks from Bright Yellow (#ffd900) through Sunshine 700 (#ffa110) to Mistral Orange (#fa520f). Sharp corners, no gaps."
|
|
274
|
+
- "Create a dark footer section on Mistral Black (#1f1f1f) with Pure White (#ffffff) text. Footer links at 14px. Add a warm gradient from Sunshine 700 (#ffa110) at the top fading to Mistral Black."
|
|
275
|
+
|
|
276
|
+
### Iteration Guide
|
|
277
|
+
1. Keep the warm temperature — "shift toward amber" not "shift toward gray"
|
|
278
|
+
2. Use size for hierarchy — 82px → 56px → 48px → 32px → 24px → 16px
|
|
279
|
+
3. Never add border-radius — sharp corners only
|
|
280
|
+
4. Shadows are always warm: "golden shadow with amber tones"
|
|
281
|
+
5. Font weight is always 400 — describe emphasis through size and color
|
|
282
|
+
|
|
283
|
+
## 10. Voice & Tone
|
|
284
|
+
|
|
285
|
+
Mistral AI's voice is **European frontier-AI-confident** — measured, research-oriented, never breathless. The brand positions itself as the European alternative to American AI labs (OpenAI, Anthropic), with a focus on open-weights models and enterprise sovereignty. Copy stays restrained even when announcing major model releases.
|
|
286
|
+
|
|
287
|
+
| Context | Tone |
|
|
288
|
+
|---|---|
|
|
289
|
+
| CTA | Verb. "Discover Le Chat", "Discover Vibe", "Contact Sales" |
|
|
290
|
+
| Marketing | Product-named (Le Chat is the consumer product). European register |
|
|
291
|
+
| Documentation | Code-first, model-spec heavy |
|
|
292
|
+
| Error | Specific. Never wrapped in apology |
|
|
293
|
+
|
|
294
|
+
**Voice samples**
|
|
295
|
+
- Product CTAs: *"Discover Le Chat"*, *"Discover Vibe"* <!-- verified: mistral.ai homepage 2026-05 -->
|
|
296
|
+
|
|
297
|
+
**Forbidden phrases.** "AGI", "superintelligence". Casual emoji.
|
|
298
|
+
|
|
299
|
+
## 11. Brand Narrative
|
|
300
|
+
|
|
301
|
+
Mistral AI was founded **April 2023** in **Paris** by **Arthur Mensch (CEO, former Google DeepMind)**, **Guillaume Lample (former Meta AI)**, and **Timothée Lacroix (former Meta AI)** — the trio first met **as students at École Polytechnique** ([Mistral AI — Wikipedia](https://en.wikipedia.org/wiki/Mistral_AI), [École polytechnique — Mistral AI raised €500M in 2023](https://www.polytechnique.edu/en/news/mistral-ai-french-ai-nugget-co-founded-two-x-alumni-raised-eu500-mlns-2023)). The founding observation: Europe needed a sovereign AI option that didn't depend on American hyperscalers. Funding ladder: **€105M ($117M) seed (June 2023)** with **Lightspeed Venture Partners, Eric Schmidt, Xavier Niel, JCDecaux** → **€385M ($428M) Series A (Dec 10 2023)** with **Andreessen Horowitz, BNP Paribas, Salesforce** → continuing rounds bringing **valuation past $14B** as of 2025 ([Arthur Mensch — Wikipedia](https://en.wikipedia.org/wiki/Arthur_Mensch), [Tracxn — Mistral AI](https://tracxn.com/d/companies/mistralai/__SLZq7rzxLYqqA97jtPwO09jLDeb76RVJVb306OhciWU)). The three founders became **France's first AI billionaires** ([Crain Currency — first AI billionaires France](https://www.craincurrency.com/investing/mistrals-3-founders-timothee-lacroix-arthur-mensch-and-guillaume-lample-become-first-ai), [Bloomberg Law — first AI billionaires](https://news.bloomberglaw.com/private-equity/first-ai-billionaires-emerge-from-french-homegrown-startup)). Quickly became one of Europe's most-funded AI startups, with strong **open-weights model releases (Mistral 7B, Mixtral 8x7B)** alongside enterprise-only frontier models. The 0px-radius aesthetic + warm golden shadows reflect the Parisian design sensibility — sharp corners signal "frontier research", warm shadows signal "European craftsmanship".
|
|
302
|
+
|
|
303
|
+
## 12. Principles
|
|
304
|
+
|
|
305
|
+
1. **0px radius is intentional.** Sharp corners signal frontier research. *UI implication:* never round corners on Mistral chrome.
|
|
306
|
+
2. **Warm golden shadows.** *UI implication:* shadows always warm-toned; never cool-blue.
|
|
307
|
+
3. **Weight 400 throughout.** *UI implication:* emphasis via size + color, not weight.
|
|
308
|
+
4. **European register.** *UI implication:* avoid American startup hype; confident but understated.
|
|
309
|
+
5. **Open-weights ↔ Enterprise tension.** *UI implication:* both audiences served — open-source community + enterprise.
|
|
310
|
+
|
|
311
|
+
## 13. Personas
|
|
312
|
+
|
|
313
|
+
*Personas are fictional archetypes informed by Mistral user segments (European enterprise architects, ML researchers, sovereignty-conscious infrastructure leads), not individual people.*
|
|
314
|
+
|
|
315
|
+
**Catherine Dubois, 44, Paris.** CTO at French enterprise. Mistral as the sovereign AI option her board approved.
|
|
316
|
+
|
|
317
|
+
**Heinz Müller, 38, Berlin.** ML researcher. Uses open-weights Mistral models for fine-tuning experiments.
|
|
318
|
+
|
|
319
|
+
**Aisha Khan, 32, Dubai.** AI infrastructure lead. Evaluating Mistral vs OpenAI for region-specific deployment.
|
|
320
|
+
|
|
321
|
+
## 14. States
|
|
322
|
+
|
|
323
|
+
| State | Treatment |
|
|
324
|
+
|---|---|
|
|
325
|
+
| **Empty (no API keys)** | "Generate first API key" CTA |
|
|
326
|
+
| **Empty (no projects)** | "Try Le Chat" link |
|
|
327
|
+
| **Loading (model inference)** | Per-token streaming |
|
|
328
|
+
| **Error (model unavailable)** | Specific model name + region |
|
|
329
|
+
| **Error (rate limit)** | Tier limit + upgrade |
|
|
330
|
+
| **Success (generation)** | Result inline + copy/save |
|
|
331
|
+
| **Success (deployment)** | Endpoint visible |
|
|
332
|
+
| **Skeleton (deployments)** | 0px-radius placeholders |
|
|
333
|
+
| **Disabled (insufficient plan)** | Upgrade link |
|
|
334
|
+
| **Loading (long task)** | Persistent progress |
|
|
335
|
+
| **Loading (model loading)** | Initialization status |
|
|
336
|
+
|
|
337
|
+
## 15. Motion & Easing
|
|
338
|
+
|
|
339
|
+
| Token | Value | Use |
|
|
340
|
+
|---|---|---|
|
|
341
|
+
| `motion-instant` | 0ms | Toggle |
|
|
342
|
+
| `motion-fast` | 150ms | Hover |
|
|
343
|
+
| `motion-standard` | 250ms | Modal |
|
|
344
|
+
|
|
345
|
+
Standard cubic-bezier; no bounce — the precision register dislikes overshoot. `prefers-reduced-motion: reduce` removes hover transitions.
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
**Verified:** 2026-05-08 (omd:migrate run 39 — Apple-tier)
|
|
350
|
+
**Tier 1 sources:** mistral.ai home + /products (live DOM via playwright — Primary `#1f1f1f` Mistral Charcoal 0px sharp / 36px / 12px-square / 16px·400; **Secondary canvas-aware `oklab()`**: `oklab(0.999994 / 0.1)` (dark canvas) + `oklab(0.955114 -0.00188443 0.0614298 / 0.5)` Cream (light canvas); Cream `#fff0c2` accent. **`oklab()` color-space canonical** — most modern DS adopter in corpus).
|
|
351
|
+
**Tier 2 sources:** styles.refero.design / getdesign.md — no record.
|
|
352
|
+
**Tier 2 (Philosophy/founders/funding):** Wikipedia (Mistral AI + Arthur Mensch), École polytechnique (X alumni origin), Crain Currency / Bloomberg Law (first AI billionaires France), Tracxn, Crunchbase.
|
|
353
|
+
**Style ref:** `claude` (research-tech precision). **Conflicts unresolved:** none. **Earlier addition:** canvas-aware `oklab()` Secondary variants + Cream `#fff0c2` accent + oklab() canonical convention missed by prior pass.
|