oh-my-design-cli 1.5.0 → 1.5.1

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 (35) hide show
  1. package/README.md +8 -8
  2. package/data/reference-fingerprints.json +1428 -523
  3. package/package.json +3 -3
  4. package/skills/omd-kr-writer/SKILL.md +1 -1
  5. package/web/references/17live/DESIGN.md +424 -0
  6. package/web/references/alipay/DESIGN.md +456 -0
  7. package/web/references/appier/DESIGN.md +420 -0
  8. package/web/references/bilibili/DESIGN.md +426 -0
  9. package/web/references/class101/DESIGN.md +433 -0
  10. package/web/references/cookpad/DESIGN.md +357 -0
  11. package/web/references/dji/DESIGN.md +416 -0
  12. package/web/references/gogoro/DESIGN.md +403 -0
  13. package/web/references/ichef/DESIGN.md +411 -0
  14. package/web/references/kakaopay/DESIGN.md +1 -1
  15. package/web/references/kakaot/DESIGN.md +454 -0
  16. package/web/references/kkday/DESIGN.md +423 -0
  17. package/web/references/meituan/DESIGN.md +424 -0
  18. package/web/references/millie/DESIGN.md +533 -0
  19. package/web/references/money-forward/DESIGN.md +401 -0
  20. package/web/references/myrealtrip/DESIGN.md +445 -0
  21. package/web/references/naverwebtoon/DESIGN.md +429 -0
  22. package/web/references/note/DESIGN.md +318 -0
  23. package/web/references/publy/DESIGN.md +511 -0
  24. package/web/references/smarthr/DESIGN.md +404 -0
  25. package/web/references/smartnews/DESIGN.md +331 -0
  26. package/web/references/spoon/DESIGN.md +446 -0
  27. package/web/references/tada/DESIGN.md +528 -0
  28. package/web/references/tossbank/DESIGN.md +519 -0
  29. package/web/references/triple/DESIGN.md +434 -0
  30. package/web/references/tumblbug/DESIGN.md +530 -0
  31. package/web/references/watcha/DESIGN.md +425 -0
  32. package/web/references/wavve/DESIGN.md +438 -0
  33. package/web/references/wconcept/DESIGN.md +511 -0
  34. package/web/references/xiaohongshu/DESIGN.md +423 -0
  35. package/web/references/yogiyo/DESIGN.md +465 -0
@@ -0,0 +1,416 @@
1
+ ---
2
+ id: dji
3
+ name: DJI
4
+ country: CN
5
+ category: consumer-hardware
6
+ homepage: "https://www.dji.com"
7
+ primary_color: "#000000"
8
+ logo:
9
+ type: favicon
10
+ slug: "https://www.google.com/s2/favicons?domain=dji.com&sz=128"
11
+ verified: "2026-05-19"
12
+ omd: "0.1"
13
+ ---
14
+
15
+ # Design System Inspiration of DJI
16
+
17
+ ## 1. Visual Theme & Atmosphere
18
+
19
+ DJI (大疆创新) is the company that turned the consumer drone into a category, and its digital design carries the same conviction its hardware does — that the most advanced engineering deserves the quietest possible presentation. The dji.com surface is built on a near-total commitment to **black, white, and silver**: hero sections are full-bleed product photography or cinematic flight footage on pure black (`#000000`), product detail pages sit on clean white (`#ffffff`), and the only chromatic intrusion is a restrained **sky blue accent** reserved for links and a handful of interactive moments. The result reads as industrial-premium — closer to a high-end camera brand or an automotive flagship configurator than to a typical Chinese consumer-tech site. There are no gradients-for-decoration, no rounded playful shapes, no mascot. The product is the only ornament.
20
+
21
+ This restraint is codified. DJI maintains a 500-page global Brand & Product Communication Design Style Guide, and the foundational pieces are explicitly named: a primary color called **Titan** (the deep near-black/charcoal that anchors the palette), secondary white/black/silver, a single sky-blue accent, a custom DJI typeface, and a proprietary grid called the **X-Factor** — a layout module derived from the height of the lowercase "i" in the DJI wordmark. Every margin, every column gutter, every clearspace around the logo is expressed in multiples of that single unit. This is the same logic Massimo Vignelli or the Braun/Dieter Rams school used: one derived unit, applied everywhere, produces a coherence that feels inevitable rather than designed.
22
+
23
+ Typography is functional sans-serif throughout. The wordmark and display headings use DJI's custom geometric face (DJI-Demi); running UI and body copy fall back to a clean neutral sans (system Helvetica/Arial-class stack with CJK fallbacks like PingFang SC and Source Han Sans / 思源黑体 for Simplified Chinese). Headlines tend to be tight, confident, and short — product names set large, capability statements set as terse evocative phrases ("Just Fly", "See It All", "未来无所不能" / *the future of possible*). DJI never explains where a glance will do.
24
+
25
+ **Key Characteristics:**
26
+ - Monochrome-first palette: black (`#000000`) chrome, white (`#ffffff`) content, silver/gray neutrals, **Titan** charcoal as the named primary
27
+ - A single accent — **sky blue** — used sparingly for links and key interactive states, never decoratively
28
+ - **X-Factor grid**: every spacing and clearspace value is a multiple of the lowercase-"i" height in the DJI logo
29
+ - Full-bleed product photography and flight footage as the hero language; the product is the only ornament
30
+ - Custom DJI display typeface (DJI-Demi) for wordmark/headlines; neutral sans + Source Han Sans / PingFang SC for body and Simplified-Chinese running text
31
+ - Tight, terse, capability-led headlines — short evocative phrases over feature lists
32
+ - Sharp-to-modest corner radii; nothing playfully rounded; the aesthetic is precision-instrument, not app-toy
33
+ - Generous negative space; one message per fold; cinematic black backgrounds for product reveals
34
+ - No gradients-as-decoration, no mascot, no illustration system — engineering credibility carried by photography and restraint
35
+
36
+ ## 2. Color Palette & Roles
37
+
38
+ DJI does not publicly expose a CSS token layer the way a forum or a fintech does; the values below combine the publicly documented brand-guide palette (Titan + white/black/silver + sky-blue accent) with the observable live-site usage. Hex values for Titan and the sky-blue accent are stated by the brand guide by name but not published openly, so the specific hexes below are **best-fit approximations** of the observed values and are flagged accordingly.
39
+
40
+ ### Brand
41
+ - **Black / Chrome** (`#000000`): The dominant brand surface. Used for the global header/footer, hero backgrounds, cinematic product reveals. This is the brand's emotional ground.
42
+ - **Titan** (≈`#1c1c1e`, approximate): The named primary — a deep charcoal/near-black used for primary text on white, dark UI panels, and product-spec tables. Slightly warmer/softer than pure `#000000`. (Named in the brand guide; exact hex not public.)
43
+ - **Pure White** (`#ffffff`): Default content background on product and store pages, primary text on black.
44
+ - **Silver / Mid Gray** (≈`#86868b`–`#b0b0b5`, approximate): Secondary text, captions, spec labels, disabled states. The "instrument readout" gray.
45
+ - **Sky Blue Accent** (≈`#0a84ff`, approximate): The single accent. Links, selected swatches, key interactive affordances. Used as a finite signal — never as a fill for large areas. (Named "sky blue" in the brand guide; exact hex not public.)
46
+
47
+ ### Neutrals (Surface Ladder)
48
+ - **Light Gray Surface** (≈`#f5f5f7`): Section dividers, alternating content bands, card backgrounds on white pages.
49
+ - **Border / Hairline** (≈`#d2d2d7`): Thin dividers, spec-table rules, input borders. DJI favors 1px hairlines over heavy borders.
50
+ - **Dark Panel** (≈`#161617`): Cards and modules on black backgrounds — a hair lighter than the `#000000` ground for subtle separation.
51
+
52
+ ### State
53
+ - **Success** (≈`#34c759`, approximate): Order confirmation, in-stock indicators.
54
+ - **Error / Sold-out** (≈`#ff3b30`, approximate): Form errors, out-of-stock, destructive confirmations.
55
+ - **Warning** (≈`#ff9f0a`, approximate): Low-stock, shipping caveats.
56
+
57
+ > Role note: DJI's palette is deliberately almost colorless. Color is information, not mood. The mood is supplied by the photography; the chrome stays neutral so the product photography never competes with the interface.
58
+
59
+ ## 3. Typography Rules
60
+
61
+ ### Font Stack
62
+ ```
63
+ "DJI", "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Source Han Sans SC", "思源黑体", "Microsoft YaHei", sans-serif
64
+ ```
65
+
66
+ The custom DJI face (DJI-Demi and family) carries the wordmark and large display headings. Running UI and body fall to a neutral Helvetica/Arial-class sans with first-class Simplified-Chinese fallbacks (`PingFang SC` on Apple platforms, `Source Han Sans SC` / `思源黑体` cross-platform, `Microsoft YaHei` on Windows).
67
+
68
+ ### Weights
69
+ - **DJI-Demi / Bold (700-class)**: Display headlines, product names, capability statements. The display tier does the shouting.
70
+ - **Medium (500)**: Sub-heads, nav, button labels, spec-row labels.
71
+ - **Regular (400)**: Body copy, descriptions, captions.
72
+
73
+ DJI almost never uses light/thin weights for UI text — thin weights read as fragile, which contradicts a brand built on ruggedness and precision.
74
+
75
+ ### Type Scale (observed, marketing + store surfaces)
76
+ | Role | Size | Weight | Notes |
77
+ |---|---|---|---|
78
+ | Hero display | `56–80px` | 700 | Product reveal headlines on black; tight tracking |
79
+ | H2 section | `36–48px` | 700 | Capability section heads |
80
+ | H3 module | `24–28px` | 500–700 | Feature module titles |
81
+ | Sub-head | `18–20px` | 500 | Lead-in copy under headlines |
82
+ | Body | `15–16px` | 400 | Descriptions, paragraph copy |
83
+ | Spec label | `14px` | 500 | Spec-table left column, nav |
84
+ | Caption / legal | `12px` | 400 | Footnotes, disclaimers, legal |
85
+
86
+ ### Conventions
87
+ - **Tracking tightens as size grows** — display headlines are set tight; body stays neutral.
88
+ - **Headlines are short.** A DJI headline is a phrase, not a sentence. Detail lives in the spec table below.
89
+ - **Numerals matter.** DJI sells on specs (flight time, transmission range, sensor size); spec figures are set in medium weight, often with the unit in lighter/smaller type beside the number.
90
+ - **CJK and Latin coexist at the same optical weight** — Source Han Sans / PingFang SC are chosen because they sit visually alongside the Latin face without one looking heavier.
91
+
92
+ ## 4. Component Stylings
93
+
94
+ ### Buttons
95
+
96
+ **Primary CTA (Buy / 立即购买)**
97
+ - Background: `#000000` (on white pages) or `#ffffff` (on black pages — inverts)
98
+ - Text: `#ffffff` (on black) / `#000000` (on white)
99
+ - Border: none
100
+ - Radius: 4px
101
+ - Padding: 12px 28px
102
+ - Font: 15px / 500
103
+ - Use: Primary purchase / configure CTA. High-contrast, monochrome, no fill color.
104
+
105
+ **Secondary CTA (Learn More / 了解更多)**
106
+ - Background: transparent
107
+ - Text: `#000000` (light pages) / `#ffffff` (dark pages)
108
+ - Border: 1px solid current color
109
+ - Radius: 4px
110
+ - Padding: 12px 28px
111
+ - Font: 15px / 500
112
+ - Use: Ghost button beside the primary CTA.
113
+
114
+ **Text / Link**
115
+ - Background: transparent
116
+ - Text: sky-blue accent (≈`#0a84ff`)
117
+ - Border: none
118
+ - Radius: n/a
119
+ - Font: 15px / 400
120
+ - Use: Inline links, "learn more" affordances, spec-detail expanders. The only place the blue accent reliably appears.
121
+
122
+ ### Inputs
123
+
124
+ **Default**
125
+ - Background: `#ffffff`
126
+ - Text: Titan (≈`#1c1c1e`)
127
+ - Border: 1px solid hairline (≈`#d2d2d7`)
128
+ - Radius: 4px
129
+ - Padding: 12px 14px
130
+ - Font: 15px / 400
131
+ - Focus: border transitions to sky-blue accent
132
+ - Use: Account, checkout, search fields.
133
+
134
+ ### Cards
135
+
136
+ **Product Tile (store grid)**
137
+ - Background: `#ffffff` (or dark panel ≈`#161617` on black sections)
138
+ - Text: Titan
139
+ - Border: none (separation by whitespace) or 1px hairline
140
+ - Radius: 8px
141
+ - Padding: 24px
142
+ - Shadow: none by default; subtle lift on hover
143
+ - Use: Product grid tile — centered product shot, name (H3), one-line capability, price, CTA.
144
+
145
+ **Spec Module**
146
+ - Background: `#f5f5f7` (light) / `#161617` (dark)
147
+ - Radius: 12px
148
+ - Padding: 32px
149
+ - Use: Highlighted spec/feature block within a long product page.
150
+
151
+ ### Spec Table
152
+
153
+ **Row**
154
+ - Background: transparent
155
+ - Label: silver/mid-gray (≈`#86868b`), 14px / 500, left column
156
+ - Value: Titan, 14–16px / 400, right column
157
+ - Divider: 1px hairline (≈`#d2d2d7`) between rows
158
+ - Use: Technical specification listings — the heart of every DJI product page.
159
+
160
+ ### Navigation
161
+
162
+ - Global header: black (`#000000`) bar, white wordmark left, product categories center, account/cart/search right
163
+ - Sticky on scroll; mega-menu drops on category hover
164
+ - Active/hover nav item: subtle underline or opacity shift; no color fill
165
+ - Footer: black, multi-column link grid, region/language switcher, fine legal type in silver
166
+
167
+ ### Badges
168
+
169
+ **Status Pill (New / Pre-order)**
170
+ - Background: transparent or hairline outline
171
+ - Text: sky-blue accent or Titan
172
+ - Radius: 4px
173
+ - Padding: 4px 8px
174
+ - Font: 12px / 500
175
+ - Use: "New", "Pre-order", "Coming soon" product flags. Understated — no loud red "SALE" energy.
176
+
177
+ ## 5. Layout Principles
178
+
179
+ ### The X-Factor Grid
180
+ DJI's signature layout primitive. The unit is the height of the lowercase "i" in the DJI logo; all margins, gutters, and logo clearspace are integer multiples of that unit. In practice this produces a tight, consistent rhythm across every surface — the brand reads as "engineered" because the spacing literally derives from the logo's own geometry.
181
+
182
+ ### Spacing
183
+ | Use | Value |
184
+ |---|---|
185
+ | Button padding | `12px 28px` |
186
+ | Card padding | `24px` |
187
+ | Section vertical | `80–120px` (full-fold product reveals) |
188
+ | Content max-width | `~1440px` centered |
189
+ | Spec-table row | hairline-divided, generous vertical air |
190
+
191
+ ### Grid
192
+ - Product pages: alternating full-bleed photography folds and centered max-width content blocks
193
+ - Store: responsive card grid (typically 3–4 across desktop)
194
+ - One message per fold — DJI never crowds a viewport with competing claims
195
+
196
+ ### Density
197
+ DJI is **low-density, high-impact** on marketing folds and **high-density, instrument-precise** on spec tables. The contrast is intentional: the photography breathes, the numbers pack tight. This mirrors the product itself — sleek exterior, dense capability.
198
+
199
+ ## 6. Depth & Elevation
200
+
201
+ DJI's chrome is **predominantly flat**. Depth comes from photography and from the black/white surface contrast, not from drop shadows. Where elevation appears it is whisper-light.
202
+
203
+ | Level | Value | Use |
204
+ |---|---|---|
205
+ | Flat | none | Default for buttons, spec modules, content blocks |
206
+ | Hover lift | `0 4px 16px rgba(0,0,0,0.08)` | Product tile on hover (light pages) |
207
+ | Floating | `0 8px 32px rgba(0,0,0,0.16)` | Dropdown mega-menu, modal, cart drawer |
208
+
209
+ ### Z-Index
210
+ - Sticky black header above content
211
+ - Mega-menu / cart drawer above page
212
+ - Modal (region selector, media lightbox) above all chrome
213
+ - Cinematic media lightboxes use a full black backdrop, not a translucent scrim — the product video takes the whole screen
214
+
215
+ ### Animation
216
+ - Scroll-triggered fade/translate reveals on product folds
217
+ - Smooth, slow easing — nothing bouncy; precision, not playfulness
218
+ - Product 360° / parallax rotation on flagship reveals
219
+
220
+ ## 7. Do's and Don'ts
221
+
222
+ - **DO** keep the palette monochrome — black, white, silver, Titan. Color is information, not decoration.
223
+ - **DON'T** introduce decorative brand colors or gradients. The photography supplies the color.
224
+ - **DO** reserve the sky-blue accent for links and key interactive states only. It is a finite signal.
225
+ - **DON'T** fill large surfaces with the accent blue, or use it for warnings/success — that's the neutral state palette's job.
226
+ - **DO** let product photography and flight footage carry the page on full-bleed black folds.
227
+ - **DON'T** crowd a fold with multiple competing CTAs or feature claims. One message per viewport.
228
+ - **DO** derive spacing from a single unit (the X-Factor logic) — multiples of one base value across margins, gutters, clearspace.
229
+ - **DON'T** use playful/large corner radii. DJI corners are sharp-to-modest (4–12px); the brand is a precision instrument.
230
+ - **DO** set headlines short and confident; put the detail in the spec table.
231
+ - **DON'T** write paragraph headlines or feature-bullet hero copy. A DJI headline is a phrase.
232
+ - **DO** include Source Han Sans / PingFang SC in every font stack so Simplified-Chinese renders at the same optical weight as Latin.
233
+ - **DON'T** use thin/light weights for UI — they read as fragile against a ruggedness brand.
234
+
235
+ ## 8. Responsive Behavior
236
+
237
+ | Width | Behavior |
238
+ |---|---|
239
+ | Desktop `>1280px` | Centered ~1440px max-width, mega-menu nav, full-bleed hero folds, 3–4-col store grid |
240
+ | Laptop `1024–1280px` | Grid tightens to 3-col, hero headlines step down (~56px) |
241
+ | Tablet `768–1024px` | 2-col store grid, mega-menu collapses, hero ~40px |
242
+ | Mobile `<768px` | Single column, hamburger nav, full-width product folds, sticky bottom Buy bar, hero ~28–32px |
243
+
244
+ ### Touch & Mobile
245
+ - Sticky bottom purchase bar on product pages (price + Buy) on mobile
246
+ - Spec tables become stacked label/value pairs
247
+ - Photography art-directed with mobile crops; flight footage autoplays muted
248
+ - Min 44px tap targets
249
+
250
+ ### Media
251
+ - Hero video: full-bleed, autoplay muted, lazy-loaded, mobile-specific crops
252
+ - Product imagery: high-res, `object-fit: cover` in tiles, lightbox on click
253
+ - 360° product spins on flagship pages degrade to a static hero on low-power devices
254
+
255
+ ## 9. Agent Prompt Guide
256
+
257
+ ### Quick Color Reference
258
+ - Chrome / hero bg: `#000000`
259
+ - Primary text / named primary: Titan ≈`#1c1c1e`
260
+ - Content bg: `#ffffff`
261
+ - Secondary text / spec labels: silver ≈`#86868b`
262
+ - Accent (links, focus): sky blue ≈`#0a84ff`
263
+ - Surface band: ≈`#f5f5f7`; hairline: ≈`#d2d2d7`; dark panel: ≈`#161617`
264
+
265
+ ### Example Component Prompts
266
+ - "Create a DJI product hero: full-bleed black (`#000000`) section, centered product photo, headline in custom-display weight 700 white at 64px (one short phrase like 'See It All'), one-line subhead 18px silver, two buttons below — primary white-fill black-text 4px radius, secondary ghost white-outline. No accent color except an optional 'Learn more' link in sky blue."
267
+ - "Build a DJI spec table: two-column rows, left label silver `#86868b` 14px weight 500, right value Titan 14px weight 400, 1px hairline `#d2d2d7` divider between rows, generous vertical padding. Spec figures set with the number larger than its unit."
268
+ - "Design a DJI store tile: white bg, 8px radius, no border, centered product shot, product name 24px weight 700 Titan, one-line capability 15px silver, price, primary CTA. On hover, lift with `0 4px 16px rgba(0,0,0,0.08)`."
269
+ - "Create a DJI primary CTA: monochrome only. On white pages: black bg, white text. On black pages: white bg, black text. 4px radius, 12px/28px padding, 15px weight 500. No color fill, no shadow."
270
+
271
+ ### Iteration Guide
272
+ 1. **Monochrome by default.** Black / white / silver / Titan. If you reach for a brand color, stop — use photography instead.
273
+ 2. **Sky blue is the only accent, and only for links/focus.** Never large fills, never status.
274
+ 3. **Headlines are phrases.** Short, confident, capability-led. Detail belongs in the spec table.
275
+ 4. **Spacing from one unit.** Pick a base (the X-Factor analog) and express every margin/gutter/clearspace as a multiple.
276
+ 5. **4–12px radii, never playful.** The brand is a precision instrument.
277
+ 6. **Custom-display weight 700 for headlines, neutral sans + Source Han Sans for body.** Never thin weights.
278
+ 7. **One message per fold.** Let the photography breathe; pack the specs.
279
+ 8. **Flat chrome, photographic depth.** Shadows only for genuinely floating UI (menus, drawers, modals).
280
+
281
+ ---
282
+
283
+ ## 10. Voice & Tone
284
+
285
+ DJI's voice is the voice of an engineer who has already done the impossible and feels no need to oversell it. It is **confident, terse, and capability-led**. Marketing copy reaches for the aspirational in three or four words ("See It All", "Just Fly", "Possibility in motion") and then immediately backs it with hard numbers — flight time in minutes, transmission range in kilometers, sensor size in inches. The brand never gushes. It states what the machine does and trusts the spec sheet to do the persuading. In Simplified Chinese the register is clean, modern, slightly literary in the taglines (未来无所不能 — *the future of possible*) but resolutely factual in product copy. English and Chinese are treated as peers: DJI is a global brand born in Shenzhen, and neither language reads as a translation of the other.
286
+
287
+ | Context | Tone |
288
+ |---|---|
289
+ | Hero headlines | Three-to-five-word aspirational phrase. `See It All`. `未来无所不能`. No sentence, no hedge. |
290
+ | Product names | The model name, set large and plain — `Mavic 4 Pro`, `Air 3S`, `Osmo Pocket`. The name is the headline. |
291
+ | Capability copy | Plain declarative + a number. "Up to 51 minutes of flight time." Never "amazing", "revolutionary". |
292
+ | CTAs | Imperative verb, short. `Buy Now` / `立即购买`, `Learn More` / `了解更多`, `Pre-order` / `预订`. |
293
+ | Spec tables | Pure data. Figure + unit. No adjectives. The numbers are the argument. |
294
+ | Support / error | Direct, blameless, instructional. State the condition and the next step. |
295
+ | Legal / regulatory | Formal, precise — drone regulation and safety copy is exacting and unembellished. |
296
+
297
+ **Forbidden phrases.** Marketing inflation — `革命性` (revolutionary), `颠覆` (disruptive), `极致` as filler, `世界第一` unqualified. Exclamation marks as emphasis on CTAs (`立即购买!` is wrong; `立即购买` is right). Emoji on product/spec surfaces. Hype that the spec sheet can't substantiate — DJI's credibility is that every claim is a measurable number.
298
+
299
+ **Voice samples.**
300
+ - `See It All` — illustrative of DJI's terse aspirational hero pattern (capability stated as a short phrase). <!-- illustrative: follows DJI marketing-headline convention observed on dji.com; not quoted as a specific live string -->
301
+ - `Just Fly` — illustrative product-reveal phrasing in the same register. <!-- illustrative: convention observed, not a verified live string -->
302
+ - `未来无所不能` — illustrative Simplified-Chinese brand tagline register (*the future of possible*). <!-- illustrative: reflects DJI's CN tagline style; not verified verbatim -->
303
+ - `立即购买` / `了解更多` — store CTA verbs in the imperative-short pattern. <!-- illustrative: standard CN e-commerce CTA register consistent with DJI store surfaces -->
304
+
305
+ ## 11. Brand Narrative
306
+
307
+ DJI was founded in **2006 in Shenzhen** by **Frank Wang (汪滔)**, then a student at the Hong Kong University of Science and Technology, out of a dorm-room obsession with flight-control systems. The company's first products were not finished drones but flight controllers — the unglamorous, mathematically demanding brains that keep a multirotor stable in the air. That origin is the whole brand: DJI began as a controls-engineering company, and its design language still privileges precision, measurability, and the quiet authority of something that simply works. By the mid-2010s DJI's Phantom line had defined what a consumer drone *is* in the public imagination, and the company came to hold the dominant share of the global civilian drone market. <!-- source: widely documented public history (Frank Wang / HKUST / Shenzhen 2006); not re-verified against a primary DJI source in this pass -->
308
+
309
+ The visual identity follows from the engineering culture. The 500-page brand guide, the named **Titan** primary, the single sky-blue accent, and the **X-Factor** grid (spacing derived from the logo's own lowercase-"i" height) are not stylistic preferences — they are the same systematizing instinct that produces a flight controller, applied to communication. Where many consumer-tech brands reach for warmth and personality, DJI reaches for *correctness*. The black backgrounds, the absence of decoration, the spec tables that read like instrument panels — all of it says: this was built by people who care more about what the machine does than about how the website feels.
310
+
311
+ What DJI refuses: the gradient-and-mascot playfulness of consumer apps, the warm illustration systems of lifestyle commerce, marketing language that outruns the spec sheet, and any color that competes with the product photography. What it embraces: monochrome restraint, photography as the only ornament, numbers as the argument, and a global bilingual voice in which Chinese and English are genuine peers.
312
+
313
+ ## 12. Principles
314
+
315
+ 1. **The product is the only ornament.** Every surface exists to present the hardware — full-bleed photography and flight footage carry the page; the chrome stays out of the way. *UI implication:* No decorative graphics, no illustration system, no brand-colored fills behind content. If a fold needs visual interest, it needs a better product shot, not a gradient.
316
+
317
+ 2. **Color is information, not mood.** The palette is black, white, silver, Titan, with one finite sky-blue accent. Mood comes from photography. *UI implication:* Use the accent only for links and focus. Status colors (success/error/warning) appear only on functional surfaces (checkout, forms). Never fill a hero with brand color.
318
+
319
+ 3. **One derived unit, everywhere (X-Factor).** Spacing is not arbitrary — it descends from a single base unit. *UI implication:* Pick a base spacing unit and express every margin, gutter, and clearspace as an integer multiple. Coherence comes from the system, not from per-screen judgment.
320
+
321
+ 4. **The number is the argument.** DJI sells on measurable capability. *UI implication:* Spec tables are first-class, not afterthoughts. Set figures clearly, pair number with unit, divide rows with hairlines, and never dilute a spec row with adjectives.
322
+
323
+ 5. **Restraint reads as authority.** Quiet design signals that the engineering doesn't need to shout. *UI implication:* Short headlines, flat chrome, generous negative space, sharp-to-modest radii. When in doubt, remove an element rather than add one.
324
+
325
+ 6. **Chinese and English are peers.** Born in Shenzhen, sold worldwide. *UI implication:* Every font stack carries Source Han Sans / PingFang SC so CJK sits at the same optical weight as the Latin face; neither language's copy reads as a translation of the other.
326
+
327
+ ## 13. Personas
328
+
329
+ *Personas are fictional archetypes informed by publicly described DJI customer segments (consumer creators, prosumer pilots, enterprise/industrial users), not individual people.*
330
+
331
+ **马磊 (Ma Lei), 29, Shenzhen.** Freelance travel videographer. Owns a Mavic and an Osmo gimbal; researches every new release the moment it drops, reads the full spec table before the marketing copy, and cross-checks flight time and transmission range against his current rig. Buys direct from dji.com. Distrusts any drone brand whose website leads with adjectives instead of numbers.
332
+
333
+ **Elena Rossi, 38, Milan.** Survey-mapping engineer at a construction firm. Uses DJI enterprise drones for site inspection and photogrammetry. Reads dji.com in English, cares about payload, sensor accuracy, and regulatory compliance copy far more than cinematic hero footage. Wants the spec sheet downloadable as a PDF.
334
+
335
+ **Kenji Watanabe, 24, Osaka.** Hobbyist who bought his first DJI mini-drone for weekend flying. Came for the "Just Fly" approachability, stays because the app and hardware genuinely just work. Will upgrade within two years — DJI's restraint reads to him as trustworthiness, and he wouldn't consider a flashier competitor.
336
+
337
+ ## 14. States
338
+
339
+ | State | Treatment |
340
+ |---|---|
341
+ | **Empty (cart)** | White canvas, centered single line of silver body copy, one black primary CTA ("Continue shopping" / 继续购物). No illustration. |
342
+ | **Empty (search no results)** | One line, silver, factual ("No products match your search"). No mascot, no suggestion spam. |
343
+ | **Loading (product page)** | Skeleton blocks at final dimensions on white/black surfaces; hero media fades in when ready. Slow, smooth — never a bouncy spinner. |
344
+ | **Loading (store grid)** | Grayscale tile placeholders matching the final grid; single shimmer pass. |
345
+ | **Error (form field)** | Field border turns error red (≈`#ff3b30`), one-sentence message below in the same red, 13px. State the fix. |
346
+ | **Error (out of stock)** | Product CTA replaced with a disabled silver "Sold out" / 售罄 state + an optional "Notify me" link in accent blue. No alarm coloring. |
347
+ | **Success (order placed)** | Clean white confirmation, black checkmark, order number in Titan, next-step link in accent blue. Confident, not celebratory. |
348
+ | **Success (added to cart)** | Subtle cart-drawer slide-in from the right; item appears; no confetti. The drawer is the feedback. |
349
+ | **Skeleton** | Hairline-bordered gray blocks at exact final dimensions; never on price (price shows a neutral placeholder). |
350
+ | **Disabled** | Silver fill + silver text together; reduced contrast, never a different hue. Disabled CTA keeps its 4px radius. |
351
+
352
+ ## 15. Motion & Easing
353
+
354
+ DJI's motion is **slow, precise, and gravity-free** — the motion equivalent of a stabilized aerial shot. Nothing snaps, nothing bounces; transitions glide.
355
+
356
+ **Durations:**
357
+
358
+ | Token | Value | Use |
359
+ |---|---|---|
360
+ | `motion-instant` | 0ms | Toggle/select commits |
361
+ | `motion-fast` | 200ms | Hover, link, button feedback |
362
+ | `motion-standard` | 350ms | Dropdown/mega-menu, cart drawer, fade-reveals |
363
+ | `motion-slow` | 600ms | Hero media fade-in, scroll-triggered fold reveals, 360° product spins |
364
+
365
+ **Easings:**
366
+
367
+ | Token | Curve | Use |
368
+ |---|---|---|
369
+ | `ease-standard` | `cubic-bezier(0.4, 0, 0.2, 1)` | Default two-way transitions |
370
+ | `ease-enter` | `cubic-bezier(0.0, 0.0, 0.2, 1)` | Drawers, menus, reveals arriving |
371
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
372
+
373
+ **Spring stance.** Spring/overshoot is **forbidden** on DJI surfaces. The brand's emotional register is precision and control — a stabilized gimbal does not overshoot, and neither does the UI. The only kinetic flourish allowed is the slow parallax/360° reveal of a product, which mimics the smooth, mechanical motion of the hardware itself.
374
+
375
+ **Signature motions.**
376
+ 1. **Hero media fade-in.** Product photography/footage fades from black over `motion-slow / ease-enter` as the fold enters the viewport. The black ground stays; the product emerges from it.
377
+ 2. **Scroll-triggered fold reveal.** Headlines and spec modules translate up `~24px` and fade in over `motion-standard / ease-standard` as each fold scrolls into view. Sequential, not simultaneous.
378
+ 3. **360° product spin.** On flagship pages the product rotates on scroll or drag with smooth, mechanical easing — no inertia overshoot. It reads as turning a real object in your hands.
379
+ 4. **Cart drawer.** Slides in from the right over `motion-standard / ease-enter`; backdrop dims to a low-alpha black. The slide is the only confirmation.
380
+ 5. **Reduce motion.** Under `prefers-reduced-motion: reduce`, all reveals collapse to immediate opacity-1, the 360° spin shows a static hero, and the cart drawer appears without slide. Fully functional, no kinetics.
381
+
382
+ <!--
383
+ OmD v0.1 Sources — DJI
384
+
385
+ Tier 1 (live): dji.com homepage + product/store surfaces via WebFetch 2026-05-19.
386
+ Confirmed monochrome black/white/silver palette, full-bleed product photography
387
+ as hero language, sans-serif typography, minimal/premium-industrial aesthetic,
388
+ imperative store CTAs (立即购买 / 了解更多). No public CSS token layer is exposed.
389
+
390
+ Tier 2 (brand guide / philosophy): WebSearch 2026-05-19 surfaced DJI's global
391
+ 500-page Brand & Product Communication Design Style Guide (Behance "DJI – Design
392
+ Style Guide"; Scribd "DJI Toolbox BASICS"). These confirm by NAME: the primary
393
+ color "Titan", secondary white/black/silver, a single sky-blue accent, a custom
394
+ DJI typeface (DJI-Demi referenced in app font assets), and the "X-Factor" grid
395
+ derived from the lowercase-"i" height in the DJI wordmark. The brand guide does
396
+ NOT publish exact hex values for Titan or the sky-blue accent openly.
397
+
398
+ ⚠️ SOURCING CAVEAT: All specific hex values in §2/§4 except #000000 and #ffffff
399
+ are BEST-FIT APPROXIMATIONS of observed/Apple-class neutral usage, flagged
400
+ "approximate" inline. Titan and sky-blue are named in the guide but not published
401
+ as hex. Do not present these specific hexes to the brand owner as verbatim DJI
402
+ tokens — present them as observed approximations pending the official guide.
403
+
404
+ Founding facts (§11): Frank Wang / 汪滔, HKUST, Shenzhen, 2006 — widely documented
405
+ public history, not re-verified against a primary DJI source this pass.
406
+
407
+ Personas (§13) and voice samples (§10) are illustrative/fictional, flagged inline.
408
+ -->
409
+
410
+ ---
411
+
412
+ **Verified:** 2026-05-19 (omd:add-reference — CN batch)
413
+ **Tier 1 sources:** dji.com (live — monochrome black/white/silver palette, full-bleed product photography hero language, premium-industrial minimalism, imperative CN store CTAs; no public token layer).
414
+ **Tier 2 sources:** Behance "DJI – Design Style Guide" + Scribd "DJI Toolbox BASICS" (500-page brand guide — named primary "Titan", white/black/silver secondary, sky-blue accent, custom DJI typeface, "X-Factor" lowercase-"i" grid). Brandfetch dji.com (logo assets).
415
+ **Style ref:** `apple` (premium-monochrome hardware-store tone).
416
+ **Conflicts unresolved:** Exact hex values for Titan and the sky-blue accent are not publicly published; §2/§4 specific non-black/white hexes are flagged approximate.