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,426 @@
1
+ ---
2
+ id: bilibili
3
+ name: Bilibili
4
+ country: CN
5
+ category: video-community
6
+ homepage: "https://www.bilibili.com"
7
+ primary_color: "#FB7299"
8
+ logo:
9
+ type: simpleicons
10
+ slug: bilibili
11
+ verified: "2026-05-19"
12
+ omd: "0.1"
13
+ ---
14
+
15
+ # Design System Inspiration of Bilibili
16
+
17
+ ## 1. Visual Theme & Atmosphere
18
+
19
+ Bilibili (哔哩哔哩, affectionately "B站" — "B-site") is China's home of ACG culture — anime, comics, and games — and the video community where a generation grew up, and its design wears that identity on its sleeve. The signature is the unmistakable **bili pink** (`#FB7299`) — a soft, warm, distinctly youthful pink that fans simply call "粉" — paired with a friendly **bili blue** accent and a clean white content surface. Bilibili's color is its personality: where most video platforms reach for red (YouTube), black (premium streamers), or corporate blue, Bilibili chose a gentle pink and made it iconic. The chrome is bright, light, and approachable; the feed is a card-based grid of video thumbnails, each showing a cover, duration, view/danmaku counts, title, and uploader (亲切地称为 "UP主"). The brand's emotional register is *community and fun* — this is a place of fandom, of bullet-comments (弹幕 / danmaku) flying across the screen, of in-jokes and shared culture, not a sterile content-delivery utility.
20
+
21
+ The platform's defining UX primitive is **danmaku (弹幕)** — real-time bullet comments that scroll across the video itself, turning passive watching into a shared, almost-live communal experience. This is Bilibili's soul, and it shapes the design: the video player is the heart of the product, the comment culture is celebrated rather than hidden, and the whole interface signals "you're among friends who love the same things". Bilibili's mascots — the **22娘 and 33娘 (2233 girls)**, two anime-style characters — appear in empty states, errors, and brand moments, reinforcing the ACG warmth. The signature greeting `(゜-゜)つロ 干杯~` (a kaomoji raising a glass, "cheers~") is the brand's voice in a single string.
22
+
23
+ Typography is system-font-first with full Simplified-Chinese coverage (`PingFang SC`, `Source Han Sans` / `思源黑体`, `Microsoft YaHei`), no custom brand typeface — the warmth comes from the pink and the mascots, not from type. Type sizes are modest, the layout is content-dense (a video community is a discovery machine), but the pink chrome and friendly copy keep it from ever feeling cold.
24
+
25
+ **Key Characteristics:**
26
+ - **bili pink `#FB7299`** — the iconic, soft, youthful brand pink fans call "粉"; the brand's whole personality
27
+ - **bili blue** accent (≈`#00AEEC`) — secondary brand color, links, the logo's TV/bubble
28
+ - Card-based video-thumbnail grid feed (cover + duration + view/danmaku counts + title + UP主)
29
+ - **Danmaku (弹幕)** bullet-comments as the soul of the product — communal, near-live watching
30
+ - ACG / anime / youth-culture identity worn proudly — fandom, in-jokes, shared culture
31
+ - The **2233 girls (22娘/33娘)** mascots in empty/error/brand surfaces; the `(゜-゜)つロ 干杯~` kaomoji greeting
32
+ - Bright, light, white-and-pink chrome — friendly and approachable, never sterile or premium-dark
33
+ - System-font-first + Simplified-Chinese fallbacks (`PingFang SC`, `思源黑体`); warmth from color, not type
34
+ - The video player is the heart — comment culture celebrated, not hidden
35
+ - Content-dense discovery feed kept warm by pink chrome + community copy
36
+
37
+ ## 2. Color Palette & Roles
38
+
39
+ Bilibili does not expose a public CSS token layer; the values below combine the verified bili pink with observable live-site usage. Non-pink neutral hexes are best-fit approximations and flagged accordingly.
40
+
41
+ ### Brand
42
+ - **bili pink** (`#FB7299`): The brand. Primary CTA fill, active/selected states, logo, like accents, the platform's identity. Fans call it "粉". RGB `rgb(251, 114, 153)`. Verified as Bilibili's official pink ("bili pink" / "girl pink").
43
+ - **Pink Pressed** (≈`#F25D8E`, approximate): Darker pink for primary-button hover/press.
44
+ - **Pink Tint** (≈`#FFF0F4`, approximate): Light pink wash for selected backgrounds, subtle highlights.
45
+ - **bili blue** (≈`#00AEEC`, approximate): The secondary brand color — links, the logo's TV/speech-bubble mark, some interactive accents. The cool counterpoint to the warm pink.
46
+ - **bili blue dark** (≈`#0089C7`, approximate): blue hover/press.
47
+
48
+ ### Surface
49
+ - **Page White** (`#FFFFFF`): Default content background. Bright and light.
50
+ - **Soft Gray Surface** (≈`#F4F4F4` / `#F6F7F8`, approximate): Page ground behind cards, skeleton blocks.
51
+ - **Card White** (`#FFFFFF`): Video-card surface.
52
+
53
+ ### Text (near-black + opacity)
54
+ - **Primary Text** (≈`#18191C` / `#212121`, approximate): Video titles, primary body.
55
+ - **Secondary Text** (≈`#61666D` / `#9499A0`, approximate): UP主 names, view/danmaku counts, metadata.
56
+ - **Tertiary / Hint** (≈`#C9CCD0`, approximate): Placeholders, disabled labels.
57
+
58
+ ### Border & Divider
59
+ - **Hairline Border** (≈`#E3E5E7`, approximate): Card edges, input borders, dividers.
60
+ - **Divider** (≈`#F1F2F3`, approximate): List/section separators.
61
+
62
+ ### State
63
+ - **Like / Active** (`#FB7299`): The like and active states fill brand pink.
64
+ - **Coin (投币) / Highlight** (≈`#FFB027`, approximate): The gold "coin" reward action accent (a signature Bilibili interaction).
65
+ - **Error** (≈`#FF4D4F`, approximate): Form errors, destructive confirmations.
66
+ - **Success** (≈`#52C41A`, approximate): Confirmations.
67
+
68
+ > Role note: bili pink is the personality — it appears on the brand, the primary action, and the active state, and its warmth is the whole point. bili blue is the cool secondary accent (links, logo). The gold coin color is reserved for the distinctive "投币" (give-a-coin) reward gesture.
69
+
70
+ ## 3. Typography Rules
71
+
72
+ ### Font Stack
73
+ ```
74
+ -apple-system, BlinkMacSystemFont, "PingFang SC", "Source Han Sans SC", "思源黑体", "Microsoft YaHei", "微软雅黑", "Helvetica Neue", Arial, sans-serif
75
+ ```
76
+
77
+ System UI fonts lead with comprehensive Simplified-Chinese fallbacks (`PingFang SC` on Apple, `Source Han Sans SC` / `思源黑体` and `Microsoft YaHei` cross-platform). No custom brand typeface — Bilibili's warmth comes from the pink palette and the mascots, so the type stays native and readable.
78
+
79
+ ### Weights
80
+ - **Medium (500)**: Video titles, active tabs, button labels, section heads. The "this matters" weight.
81
+ - **Regular (400)**: Body, UP主 names, metadata, counts.
82
+ - **Semibold (600)**: Reserved for page titles, key numbers, emphasis.
83
+
84
+ Bilibili rarely uses weight 700 — the friendly community register tops out at 500/600. Hierarchy comes from the 500/400 split + the near-black/gray opacity ladder.
85
+
86
+ ### Size Scale (observed)
87
+ | Role | Size | Weight | Notes |
88
+ |---|---|---|---|
89
+ | Page/section header | `18–20px` | 600 | Channel titles, section heads |
90
+ | Video title (in card) | `14–15px` | 500 | Two-line clamp on cards |
91
+ | Body / description | `14–15px` | 400 | Video detail, comments |
92
+ | UP主 / metadata | `12–13px` | 400 | Uploader name, view/danmaku counts |
93
+ | Caption / tag | `11–12px` | 400 | Tags, fine labels, durations |
94
+
95
+ ### Conventions
96
+ - **Video titles clamp to two lines** in the feed; overflow ellipsizes.
97
+ - **Counts are everywhere and first-class** — views (播放), danmaku (弹幕), likes, coins — set in gray metadata weight; they're the social signals of a video community.
98
+ - **Type stays modest** so the thumbnail cover does the visual work; the cover is the headline.
99
+ - **CJK-first** — fallback stack chosen so Simplified Chinese renders crisply at small sizes.
100
+
101
+ ## 4. Component Stylings
102
+
103
+ ### Buttons
104
+
105
+ **Primary CTA (Follow UP主 / 关注, Sign up)**
106
+ - Background: `#FB7299`
107
+ - Text: `#FFFFFF`
108
+ - Border: none
109
+ - Radius: 6px (or pill 16px for follow chips)
110
+ - Padding: 6px 16px
111
+ - Font: 14px / 500
112
+ - Hover/press: background ≈`#F25D8E`
113
+ - Use: Primary action — Follow, Sign up. bili pink is the action color.
114
+
115
+ **Secondary (Following / 已关注, ghost)**
116
+ - Background: `#FFFFFF`
117
+ - Text: ≈`#61666D`
118
+ - Border: 1px solid ≈`#E3E5E7`
119
+ - Radius: 6px
120
+ - Padding: 6px 16px
121
+ - Font: 14px / 500
122
+ - Use: Already-following / secondary toggle.
123
+
124
+ **Coin (投币) Action**
125
+ - Background: transparent (icon button)
126
+ - Icon: gold ≈`#FFB027` when active
127
+ - Use: The signature "give a coin" reward gesture under videos — gold accent.
128
+
129
+ ### Inputs
130
+
131
+ **Search / Default**
132
+ - Background: `#FFFFFF` (or filled ≈`#F4F4F4`)
133
+ - Text: ≈`#18191C`
134
+ - Border: 1px solid ≈`#E3E5E7`
135
+ - Radius: 8px (search) / 6px (form field)
136
+ - Padding: 8px 14px
137
+ - Font: 14px / 400
138
+ - Focus: border transitions to bili pink/blue
139
+ - Use: Top search bar, comment input, form fields.
140
+
141
+ ### Cards
142
+
143
+ **Video Card (feed grid)**
144
+ - Background: `#FFFFFF`
145
+ - Border: none
146
+ - Radius: 6–8px (cover top corners + card)
147
+ - Padding: 0 on cover; 8px on text footer
148
+ - Shadow: none default; subtle lift on hover (web)
149
+ - Layout: 16:9 cover image (the star, with a duration pill bottom-right + view/danmaku overlay bottom-left) → 2-line title (14px/500) → UP主 name (12px/400 gray)
150
+ - Use: The atomic unit of the discovery feed.
151
+
152
+ ### Tags / Badges
153
+
154
+ **Partition / Tag Chip**
155
+ - Background: ≈`#F4F4F4` (or pink-tint `#FFF0F4` for active)
156
+ - Text: ≈`#61666D` (or `#FB7299` active)
157
+ - Radius: 4px (or pill)
158
+ - Padding: 4px 10px
159
+ - Font: 12px / 400
160
+ - Use: 分区 (partition) filters — 番剧/游戏/音乐/科技 etc., tags above the feed.
161
+
162
+ **Duration / Count Overlay (on cover)**
163
+ - Background: black ~60% pill
164
+ - Text: `#FFFFFF`
165
+ - Radius: 4px
166
+ - Padding: 2px 6px
167
+ - Font: 12px / 400
168
+ - Use: Duration bottom-right; view/danmaku counts bottom-left, over the thumbnail.
169
+
170
+ ### Navigation
171
+
172
+ - Top bar: bili pink/blue logo (TV-bubble + 22/33 mascot energy) left, partition nav, search center, login/upload right
173
+ - Partition (分区) row: horizontal category nav — 首页/番剧/直播/游戏中心/会员购…
174
+ - Active nav item: bili pink text + pink underline indicator
175
+ - Mobile: bottom tab bar, the center upload "+" in brand pink
176
+
177
+ ### Video Player (the heart)
178
+
179
+ - Large 16:9 player, dark player chrome
180
+ - **Danmaku layer**: bullet comments scroll right-to-left across the video; toggle + density controls
181
+ - Below: title, UP主, action row (点赞 like / 投币 coin / 收藏 favorite / 转发 share) — the signature "一键三连" (one-click triple: like+coin+favorite)
182
+ - Comment section + danmaku list
183
+
184
+ ## 5. Layout Principles
185
+
186
+ ### Spacing
187
+ | Use | Value |
188
+ |---|---|
189
+ | Card gap | `12–16px` |
190
+ | Card text footer padding | `8px` |
191
+ | Chip padding | `4px 10px` |
192
+ | Page horizontal margin | `12–24px` |
193
+ | Section vertical | `16–24px` |
194
+
195
+ ### Grid
196
+ - Feed: responsive card grid — 4–6 columns wide web, 2 columns mobile
197
+ - Video detail: player + info (left/main) + recommended-videos rail (right)
198
+ - Channel/partition pages: grid + horizontal scroll rows per sub-category
199
+
200
+ ### Density
201
+ Bilibili is **high-density discovery**. A video community lives on showing many videos at once — the feed packs cards, the partition nav is broad, the recommended rail is long. The pink chrome and friendly copy keep the density warm rather than overwhelming.
202
+
203
+ ## 6. Depth & Elevation
204
+
205
+ Bilibili web chrome is **mostly flat**. Cards separate via gray ground + radius + gap; depth appears on floating UI and on hover.
206
+
207
+ | Level | Value (approx) | Use |
208
+ |---|---|---|
209
+ | Flat | none | Default — feed cards, chips, inputs |
210
+ | Hover lift (web) | `0 2px 12px rgba(0,0,0,0.08)` | Video card on hover |
211
+ | Floating | `0 4px 16px rgba(0,0,0,0.1)` | Dropdowns, popovers, mini-player |
212
+ | Modal | `0 6px 24px rgba(0,0,0,0.12)` | Login dialog, share sheet |
213
+
214
+ ### Z-Index
215
+ - Sticky top bar above content
216
+ - Floating mini-player / dropdowns above page
217
+ - Modal + mask above dropdowns
218
+ - Toast at highest level
219
+
220
+ ### Animation
221
+ - Card hover lift + cover preview (gif/video preview on hover, web)
222
+ - Danmaku scroll (the signature kinetic layer)
223
+ - "一键三连" long-press triple-action burst animation (like+coin+favorite)
224
+ - Friendly, soft easing
225
+
226
+ ## 7. Do's and Don'ts
227
+
228
+ - **DO** make bili pink `#FB7299` the brand and the primary action — it's the personality, lean into it.
229
+ - **DON'T** swap the pink for a red or a corporate blue; the pink IS Bilibili. Use bili blue only as the cool secondary accent.
230
+ - **DO** build the feed as a card grid of 16:9 thumbnails with duration + view/danmaku overlays + 2-line title + UP主.
231
+ - **DON'T** hide the engagement counts — views, danmaku, coins are the social proof of a video community.
232
+ - **DO** celebrate danmaku and the "一键三连" (like+coin+favorite) culture in the player UI; the comment culture is the soul.
233
+ - **DON'T** treat Bilibili like a sterile content-delivery player — the community warmth is the differentiator.
234
+ - **DO** use the 2233 mascots and friendly kaomoji copy (`(゜-゜)つロ 干杯~`) in empty/error/brand moments.
235
+ - **DON'T** write cold corporate system copy — the ACG-community warmth is the brand voice.
236
+ - **DO** keep chrome bright, light, white-and-pink; generous radii (4–8px); friendly shapes.
237
+ - **DON'T** go dark-premium or sharp-corporate — that's the opposite of the youth-community register.
238
+ - **DO** lead the font stack with `PingFang SC` / `思源黑体`; cap weight at 500/600.
239
+ - **DON'T** go weight 700 — heavy bold reads aggressive against the friendly register.
240
+
241
+ ## 8. Responsive Behavior
242
+
243
+ | Width | Behavior |
244
+ |---|---|
245
+ | Desktop `>1280px` | 5–6 column card grid, full partition nav, player + recommended rail |
246
+ | Laptop `1024–1280px` | 4-column grid, recommended rail narrows |
247
+ | Tablet `768–1024px` | 3-column grid, partition nav scrolls, recommended rail below player |
248
+ | Mobile `<768px` | 2-column grid, bottom tab bar, full-width player, danmaku toggle prominent |
249
+
250
+ ### Touch & Mobile
251
+ - Bottom tab bar with brand-pink center upload "+"
252
+ - Full-width player; danmaku send + toggle thumb-accessible
253
+ - Min 44px tap targets; generous like/coin/favorite hit areas
254
+ - Cover hover-preview (web) → tap-to-play (mobile)
255
+
256
+ ### Media
257
+ - Video covers: 16:9, `object-fit: cover`, lazy-loaded, hover-preview on web
258
+ - Player: adaptive bitrate, danmaku layer overlaid
259
+ - Partition pages mix grid + horizontal-scroll rows
260
+
261
+ ## 9. Agent Prompt Guide
262
+
263
+ ### Quick Color Reference
264
+ - Brand / like / primary CTA: `#FB7299` (pressed ≈`#F25D8E`, tint ≈`#FFF0F4`)
265
+ - Secondary accent / links: bili blue ≈`#00AEEC`
266
+ - Coin/reward: gold ≈`#FFB027`
267
+ - Page bg: `#FFFFFF`; card ground: ≈`#F4F4F4`
268
+ - Primary text: ≈`#18191C`; secondary: ≈`#61666D`; hint: ≈`#C9CCD0`; border: ≈`#E3E5E7`
269
+
270
+ ### Example Component Prompts
271
+ - "Create a Bilibili video card: white bg, 6px radius, no border. 16:9 cover (top corners 6px) with a duration pill (black-60% bg, white 12px) bottom-right and view/danmaku counts overlay bottom-left, then 2-line title clamp 14px weight 500 `#18191C`, then UP主 name 12px `#61666D`. Subtle hover lift `0 2px 12px rgba(0,0,0,0.08)` with cover preview."
272
+ - "Build a Bilibili follow button: bg `#FB7299`, white text 14px weight 500, 6px radius, padding `6px 16px`. Hover ≈`#F25D8E`. Following state: white bg, `#61666D` text, 1px `#E3E5E7` border."
273
+ - "Design the Bilibili player action row: like (heart, fills `#FB7299`), coin/投币 (fills gold `#FFB027`), favorite (star), share — with a 'one-click triple' (一键三连) long-press that bursts all three. Counts beside each icon in `#61666D`."
274
+ - "Create a Bilibili empty state: bright white, a 2233-girls mascot illustration, a friendly kaomoji line like `(゜-゜)つロ 干杯~`, one pink CTA. Warm and community-toned, never cold."
275
+
276
+ ### Iteration Guide
277
+ 1. **bili pink `#FB7299` is the personality** — brand + primary action + active state. Lean in; never swap for red.
278
+ 2. **bili blue is the cool secondary**; gold is the coin/reward gesture. Don't expand the palette beyond these.
279
+ 3. **16:9 thumbnail cards** with duration + count overlays + 2-line title + UP主. Counts are social proof — show them.
280
+ 4. **Danmaku and 一键三连 are the soul** — celebrate the comment/reward culture in the player.
281
+ 5. **2233 mascots + kaomoji copy** in empty/error/brand moments; warm community voice everywhere.
282
+ 6. **Bright white-and-pink, generous radii, friendly shapes** — never dark-premium or sharp-corporate.
283
+ 7. **`PingFang SC` / `思源黑体` fallbacks**, weights cap at 500/600, hierarchy via near-black/gray opacity.
284
+ 8. **Mostly flat**; lift cards on hover, reserve shadow for floating UI.
285
+
286
+ ---
287
+
288
+ ## 10. Voice & Tone
289
+
290
+ Bilibili's voice is **young, warm, and fluent in ACG community culture** — it talks like a friend who's deep in the fandom, uses internet/anime vernacular naturally, and treats users as fellow members of a community rather than as an audience. The register in Simplified Chinese is casual `你`, playful, full of community-native expressions, and famously fond of **kaomoji** (颜文字) — the signature `(゜-゜)つロ 干杯~` ("cheers~", a little figure raising a glass) is the brand's voice distilled to one string. Users are addressed and refer to themselves with insider vocabulary: uploaders are **UP主**, the site is **B站**, watching together via **弹幕** (danmaku), supporting a creator via **一键三连** (one-click like+coin+favorite). The brand leans into this lexicon rather than translating it into corporate speak, because the in-group language *is* the belonging.
291
+
292
+ | Context | Tone |
293
+ |---|---|
294
+ | CTAs | Short, friendly verb. `关注` (Follow), `投稿` (Upload), `点赞`/`投币`/`收藏`. Casual `你`. |
295
+ | Greetings / brand | Kaomoji-led warmth. `(゜-゜)つロ 干杯~`. Community in-jokes welcome. |
296
+ | Empty / error states | 2233-mascot + a light, friendly, blameless line. Often self-deprecating-cute, never cold. |
297
+ | Engagement | Counts beside icons (播放/弹幕/点赞/投币). The numbers are the community signal. |
298
+ | Creator-facing | Encouraging, fan-aware ("UP主加油"). The platform sides with its creators. |
299
+ | Error messages | Light, blameless, often with a mascot. State the issue + the fix, keep it warm. |
300
+ | Community guidelines | Slightly more formal but still member-to-member, protecting the community vibe. |
301
+
302
+ **Forbidden phrases.** Cold corporate system tone (`系统错误,请稍后重试` bare and humorless — pair it with a mascot and a warmer line). The formal `您` in casual community contexts (reserve for legal/payment). Aggressive marketing hype that breaks the fan-community trust. Treating users as a passive "audience" (受众) rather than members (用户/小伙伴) — Bilibili's whole identity is participatory.
303
+
304
+ **Voice samples.**
305
+ - `(゜-゜)つロ 干杯~` — the signature kaomoji greeting, the brand voice in one string. <!-- cited: appears in bilibili.com homepage content via WebFetch 2026-05-19 -->
306
+ - `UP主` / `B站` / `一键三连` / `弹幕` — the community lexicon the brand voice leans on. <!-- cited: widely documented Bilibili community vocabulary; UP主 + danmaku confirmed in live homepage content 2026-05-19 -->
307
+ - `关注` / `投稿` — follow / upload CTAs, short friendly verbs. <!-- illustrative: standard Bilibili CTA register; not quoted as a specific live string -->
308
+ - `UP主加油` — creator-encouragement pattern. <!-- illustrative: reflects Bilibili creator-facing register -->
309
+
310
+ ## 11. Brand Narrative
311
+
312
+ Bilibili was founded in **2009** by **Xu Yi (徐逸)**, originally launched as **Mikufans** — a video site built by and for ACG (anime/comics/games) fans, explicitly inspired by Japan's Niconico and its danmaku (bullet-comment) culture. It was renamed **bilibili** in 2010 (the name a reference to a character, 御坂美琴 "Biribiri", from the anime *A Certain Scientific Railgun*). From the start, Bilibili was not a general video utility but a **community for a specific subculture** — and that community-first, fandom-rooted identity is the brand's foundation. Danmaku — comments scrolling across the video so viewers feel they're watching *together*, even asynchronously — was the founding innovation and remains the soul of the product. <!-- source: widely documented public history (Xu Yi / Mikufans 2009 / bilibili rename 2010 / Niconico-inspired danmaku); not re-verified against a primary Bilibili source this pass -->
313
+
314
+ Over the following decade Bilibili grew far beyond anime into a full video community — games, technology, lifestyle, music, knowledge/study content, and live streaming — while keeping its ACG-rooted warmth and its distinctive participation rituals (一键三连, 投币, danmaku). Famously, for years new users had to pass a community-knowledge quiz to earn full membership — a deliberate gate to preserve community culture as the platform scaled. The brand's mascots, the **22娘 and 33娘 (2233 girls)**, and the iconic bili pink keep the identity unmistakably youthful and fandom-native even as the audience broadened into one of China's largest video communities.
315
+
316
+ What Bilibili refuses: the sterile content-delivery feel of a generic video utility, a corporate-red or premium-dark palette, cold humorless system copy, and treating users as a passive audience. What it embraces: a singular iconic pink, danmaku and the participation rituals as the soul, the 2233 mascots and kaomoji warmth, the community in-group lexicon (B站/UP主/一键三连), and a design that always signals "you're among friends who love the same things".
317
+
318
+ ## 12. Principles
319
+
320
+ 1. **The community is the product.** Bilibili is a place to belong, not a feed to consume. *UI implication:* Surface participation everywhere — danmaku, 一键三连, coins, comments. Use member language (UP主, 小伙伴), never passive-audience framing. Design celebrates contribution.
321
+
322
+ 2. **The pink is the personality.** `#FB7299` is iconic precisely because it's an unusual choice for video. *UI implication:* Lean into the pink for brand + primary action + active state; pair with bili blue as the cool accent. Never dilute it into a generic red or corporate blue.
323
+
324
+ 3. **Danmaku is sacred.** Bullet-comments across the video are the founding innovation and the emotional core. *UI implication:* The player is the heart of the product; danmaku is a first-class layer (toggle, density, send), not an afterthought. The shared-watching feeling is the differentiator.
325
+
326
+ 4. **Warmth over polish.** The 2233 mascots, the kaomoji, the friendly copy make even errors feel like a friend shrugging. *UI implication:* Empty/error states get a mascot and a warm line; system copy is light and blameless. A cold humorless string is off-brand.
327
+
328
+ 5. **Discovery is dense, but never cold.** A video community shows a lot at once. *UI implication:* Pack the feed with cards and counts, but keep the chrome bright white-and-pink with friendly copy so density reads as abundance, not clutter.
329
+
330
+ 6. **Counts are belonging.** Views, danmaku, likes, coins signal what the community loves. *UI implication:* Show engagement metrics prominently in gray metadata weight — they're trust and social proof, not noise.
331
+
332
+ ## 13. Personas
333
+
334
+ *Personas are fictional archetypes informed by publicly described Bilibili user segments (young ACG/gaming fans, creators/UP主, knowledge-content viewers), not individual people.*
335
+
336
+ **小林 (Xiao Lin), 19, Wuhan.** University freshman, lifelong anime fan. Lives on B站 — watches 番剧 (anime), turns danmaku on so it feels like watching with everyone, sends a 一键三连 to UP主s he loves, and bought membership years ago after passing the community quiz. Fluent in the lexicon; the kaomoji greeting feels like home. Would never call himself an "audience" — he's a member.
337
+
338
+ **阿哲 (A Zhe), 27, Hangzhou.** Tech UP主 (uploader) — posts coding tutorials and gadget reviews. Obsesses over his thumbnail covers because the card grid rewards a great 16:9 cover, and lives by his 投币/三连 counts. Engages with danmaku and comments because the community relationship is his channel's lifeblood. Reads the platform as on his side ("UP主加油").
339
+
340
+ **周悦 (Zhou Yue), 23, Beijing.** Came for study-with-me and knowledge content (Bilibili's "study area" is huge), stayed for the warm community vibe. Browses the dense feed comfortably because the pink chrome and friendly copy never feel corporate. Sends danmaku to feel less alone while studying late. The mascots and kaomoji are part of why the site feels like a friendly place rather than a utility.
341
+
342
+ ## 14. States
343
+
344
+ | State | Treatment |
345
+ |---|---|
346
+ | **Empty (no content / new channel)** | Bright white, a 2233-girls mascot, a warm line (often kaomoji-led), one pink CTA. Cute, never blaming. |
347
+ | **Empty (search no results)** | Mascot + gentle line + suggested partitions/tags. Friendly redirect. |
348
+ | **Loading (feed)** | Card-grid skeleton — gray 16:9 blocks + title-line blocks matching the grid, gentle shimmer. |
349
+ | **Loading (player)** | Player skeleton + buffering spinner; cover shows until ready. |
350
+ | **Error (network)** | Mascot + light blameless line (`(°□°)` flavored) + retry. Warm, not a cold system dump. |
351
+ | **Error (form/comment)** | Inline ≈`#FF4D4F` message + fix, kept light. |
352
+ | **Error (video unavailable)** | Mascot + factual friendly line + back/explore links. |
353
+ | **Success (一键三连)** | Like + coin + favorite burst together with a brief celebratory animation — the signature joyful moment. |
354
+ | **Success (follow/post)** | Light toast (`关注成功` / `投稿成功`), brief, warm. |
355
+ | **Like / coin** | Heart fills `#FB7299` (pop); coin fills gold `#FFB027` (pop); counts increment. |
356
+ | **Skeleton** | Gray 16:9 + line blocks at exact dimensions, gentle shimmer. |
357
+ | **Disabled** | Reduced opacity + gray fill together; control keeps its rounded shape. |
358
+
359
+ ## 15. Motion & Easing
360
+
361
+ Bilibili's motion is **friendly, playful, and community-celebratory** — restrained for chrome, but genuinely joyful at the participation moments (一键三连, coin, like) and ever-present in the danmaku layer.
362
+
363
+ **Durations:**
364
+
365
+ | Token | Value | Use |
366
+ |---|---|---|
367
+ | `motion-instant` | 0ms | Tab/toggle commits |
368
+ | `motion-fast` | 200ms | Hover, chip select, button feedback |
369
+ | `motion-standard` | 300ms | Like/coin pop, dropdowns, card hover lift |
370
+ | `motion-celebrate` | 500ms | 一键三连 triple-action burst, success moments |
371
+ | `danmaku-scroll` | ~6–10s | Bullet comment traversal across the video (continuous, density-dependent) |
372
+
373
+ **Easings:**
374
+
375
+ | Token | Curve | Use |
376
+ |---|---|---|
377
+ | `ease-standard` | `cubic-bezier(0.4, 0, 0.2, 1)` | Default two-way transitions |
378
+ | `ease-enter` | `cubic-bezier(0.0, 0.0, 0.2, 1)` | Dropdowns, sheets arriving |
379
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
380
+ | `ease-pop` | `cubic-bezier(0.34, 1.4, 0.64, 1)` | **Reserved.** Like/coin pops + 一键三连 burst — joyful overshoot at participation moments. |
381
+
382
+ **Spring stance.** Overshoot/spring is **reserved for the participation rituals** — the like-pop, the coin-pop, and especially the **一键三连** burst (long-press triggers all three actions with a celebratory animation). These are the emotional peaks of being a community member, so they're the one place the UI is allowed to be exuberant. Chrome transitions stay calm; danmaku is its own continuous kinetic layer.
383
+
384
+ **Signature motions.**
385
+ 1. **一键三连 burst.** Long-pressing the like button fires like + coin + favorite together with a celebratory `ease-pop` animation over `motion-celebrate`. The single most joyful moment in the product.
386
+ 2. **Danmaku scroll.** Bullet comments traverse the video right-to-left over `danmaku-scroll`, density and speed adjustable. The continuous kinetic soul of the watching experience.
387
+ 3. **Like / coin pop.** Heart fills pink, coin fills gold, each with a `1 → 1.25 → 1` `ease-pop` and count increment over `motion-standard`.
388
+ 4. **Card hover (web).** Card lifts (`motion-standard / ease-standard`) and the cover begins a muted preview — discovery feels alive.
389
+ 5. **Reduce motion.** Under `prefers-reduced-motion: reduce`, pops flatten to instant fills, the 一键三连 burst becomes a simple state change, and danmaku can be disabled/static per user preference. Fully functional, no forced kinetics.
390
+
391
+ <!--
392
+ OmD v0.1 Sources — Bilibili / B站
393
+
394
+ Tier 1 (live): bilibili.com homepage via WebFetch 2026-05-19 — confirmed the
395
+ pink-and-blue ACG brand aesthetic, card-based video-thumbnail grid feed
396
+ (cover + counts + title + uploader), horizontal partition (番剧/电影/游戏…) nav,
397
+ clean sans-serif type, mascot presence, and the signature kaomoji greeting
398
+ `(゜-゜)つロ 干杯~`. No public CSS token layer is exposed.
399
+
400
+ Tier 2 (brand color / facts): WebSearch 2026-05-19 — bili pink #FB7299
401
+ (RGB 251,114,153) verified as Bilibili's official pink ("bili pink" / "girl
402
+ pink" / 粉) across brand-color sources (Brandfetch, BrandColorCode) and confirmed
403
+ in a PipePipe GitHub issue treating #FB7299 as Bilibili's canonical top color.
404
+ Founding history (Xu Yi 徐逸 / Mikufans 2009 / bilibili rename 2010 /
405
+ Niconico-inspired danmaku / Railgun "Biribiri" name origin / 2233 mascots /
406
+ community quiz) is widely documented public history.
407
+
408
+ ⚠️ SOURCING CAVEAT: Only #FB7299 is verified. bili blue (≈#00AEEC), the gold
409
+ coin color (≈#FFB027), and all neutral hexes in §2/§4 are BEST-FIT
410
+ APPROXIMATIONS of observed live-site usage and common Bilibili-palette references,
411
+ flagged "approximate" inline. Do not present them to the brand owner as verbatim
412
+ Bilibili tokens.
413
+
414
+ Community lexicon (UP主/B站/弹幕/一键三连/投币) is widely documented public Bilibili
415
+ vocabulary; UP主 + danmaku + the kaomoji greeting confirmed in live homepage
416
+ content. Voice samples marked illustrative are not quoted live strings. Personas
417
+ (§13) are fictional archetypes. The 2233 girls are Bilibili's official mascots.
418
+ -->
419
+
420
+ ---
421
+
422
+ **Verified:** 2026-05-19 (omd:add-reference — CN batch)
423
+ **Tier 1 sources:** bilibili.com (live — pink/blue ACG brand aesthetic, video-thumbnail card grid feed, partition nav, mascot presence, signature kaomoji `(゜-゜)つロ 干杯~`, UP主/danmaku culture; no public token layer).
424
+ **Tier 2 sources:** Brandfetch / BrandColorCode + PipePipe GitHub issue (bili pink `#FB7299` RGB 251,114,153 verified as official pink); widely documented history (Xu Yi 徐逸, Mikufans 2009 → bilibili 2010, Niconico-inspired danmaku, 2233 mascots, community quiz).
425
+ **Style ref:** `line` (Asian super-app/community warmth) + ACG youth-culture patterns.
426
+ **Conflicts unresolved:** Only `#FB7299` is verified; bili blue, the gold coin color, and §2/§4 neutrals are flagged approximate (observed usage, no public token layer).