oh-my-design-cli 1.8.7 → 1.9.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/.claude/hooks/lib/preferences-parser.cjs +1 -0
- package/.claude/hooks/lib/preferences-writer.cjs +1 -0
- package/.claude/hooks/post-edit-watch.cjs +1 -0
- package/.claude/hooks/session-end-foldin.cjs +1 -0
- package/.claude/hooks/session-state-loader.cjs +1 -0
- package/.claude/hooks/skill-activation.cjs +1 -0
- package/.claude/settings.json +10 -1
- package/.github/assets/logo-bg.png +0 -0
- package/AGENTS.md +20 -1
- package/CHANGELOG.md +482 -0
- package/MIGRATION.md +103 -0
- package/README.ja.md +56 -19
- package/README.ko.md +47 -30
- package/README.md +48 -30
- package/README.zh-TW.md +59 -22
- package/agents/AGENT.md +8 -7
- package/agents/omd-codex-image.md +1 -1
- package/agents/omd-critic.md +6 -7
- package/agents/omd-designer-review.md +1 -1
- package/agents/omd-final-qa.md +1 -1
- package/agents/omd-humanizer.md +38 -0
- package/agents/omd-kr-writer.md +3 -4
- package/agents/omd-locale-adapter.md +12 -16
- package/agents/omd-master.md +24 -19
- package/agents/omd-microcopy.md +1 -1
- package/agents/omd-orchestrator.md +7 -8
- package/agents/omd-slop-auditor.md +31 -0
- package/agents/omd-ux-researcher.md +1 -1
- package/data/reference-fingerprints.json +1995 -38
- package/dist/bin/oh-my-design.js +16 -8
- package/dist/bin/oh-my-design.js.map +1 -1
- package/dist/chunk-UJIHCEYF.js +99 -0
- package/dist/chunk-UJIHCEYF.js.map +1 -0
- package/dist/doctor-LDWSFM3I.js +763 -0
- package/dist/doctor-LDWSFM3I.js.map +1 -0
- package/dist/install-skills-ZZFNJ2II.js +1120 -0
- package/dist/install-skills-ZZFNJ2II.js.map +1 -0
- package/docs/CLI_QUICKSTART.md +157 -0
- package/package.json +25 -4
- package/scripts/postinstall.cjs +5 -4
- package/skills/claude-design/SKILL.md +38 -14
- package/skills/claude-design/references/claude-design-flow.md +11 -11
- package/skills/claude-design/references/codebase-analysis.md +5 -4
- package/skills/omd-final-qa/SKILL.md +1 -1
- package/skills/omd-harness/SKILL.md +51 -50
- package/skills/omd-humanize/SKILL.md +116 -0
- package/skills/omd-humanize/agents/openai.yaml +4 -0
- package/skills/omd-humanize/references/locale-playbooks.md +102 -0
- package/skills/omd-humanize/references/sources.md +11 -0
- package/skills/omd-init/SKILL.md +18 -12
- package/skills/omd-locale-adapter/SKILL.md +58 -91
- package/skills/omd-orchestrator/SKILL.md +11 -5
- package/skills/omd-reference-capture/SKILL.md +80 -26
- package/skills/omd-reference-capture/scripts/PLAYWRIGHT-LICENSE.txt +202 -0
- package/skills/omd-reference-capture/scripts/PLAYWRIGHT-NOTICE.txt +5 -0
- package/skills/omd-reference-capture/scripts/THIRD_PARTY_NOTICES.md +3 -0
- package/skills/omd-reference-capture/scripts/capture-reference-evidence.mjs +159906 -0
- package/skills/omd-slop-audit/SKILL.md +110 -0
- package/skills/omd-slop-audit/agents/openai.yaml +4 -0
- package/skills/omd-slop-audit/references/pattern-catalog.md +96 -0
- package/skills/omd-slop-audit/references/sources.md +24 -0
- package/web/references/104/DESIGN.md +354 -0
- package/web/references/11st/DESIGN.md +197 -316
- package/web/references/29cm/DESIGN.md +297 -393
- package/web/references/42dot/DESIGN.md +390 -0
- package/web/references/8percent/DESIGN.md +438 -0
- package/web/references/ably/DESIGN.md +267 -572
- package/web/references/acer/DESIGN.md +329 -0
- package/web/references/airbnb/DESIGN.md +219 -557
- package/web/references/alipay/DESIGN.md +179 -420
- package/web/references/apple/DESIGN.md +224 -498
- package/web/references/asleep/DESIGN.md +402 -0
- package/web/references/au/DESIGN.md +334 -0
- package/web/references/autopedia/DESIGN.md +382 -0
- package/web/references/aws-cloudscape/DESIGN.md +241 -0
- package/web/references/baemin/DESIGN.md +332 -491
- package/web/references/banksalad/DESIGN.md +269 -180
- package/web/references/barogo/DESIGN.md +416 -0
- package/web/references/beusable/DESIGN.md +464 -0
- package/web/references/bilibili/DESIGN.md +206 -374
- package/web/references/bmw/DESIGN.md +162 -276
- package/web/references/brandi/DESIGN.md +184 -325
- package/web/references/catchtable/DESIGN.md +219 -264
- package/web/references/cgv/DESIGN.md +317 -0
- package/web/references/channeltalk/DESIGN.md +210 -336
- package/web/references/china-airlines/DESIGN.md +291 -0
- package/web/references/cjonstyle/DESIGN.md +453 -0
- package/web/references/class101/DESIGN.md +168 -387
- package/web/references/classum/DESIGN.md +228 -203
- package/web/references/claude/DESIGN.md +242 -479
- package/web/references/clay/DESIGN.md +179 -377
- package/web/references/clickhouse/DESIGN.md +254 -343
- package/web/references/cohere/DESIGN.md +214 -324
- package/web/references/coinone/DESIGN.md +199 -179
- package/web/references/corca/DESIGN.md +414 -0
- package/web/references/coupang/DESIGN.md +205 -475
- package/web/references/cursor/DESIGN.md +240 -381
- package/web/references/dabang/DESIGN.md +248 -213
- package/web/references/dable/DESIGN.md +431 -0
- package/web/references/datarize/DESIGN.md +217 -330
- package/web/references/dealicious/DESIGN.md +402 -0
- package/web/references/drdiary/DESIGN.md +404 -0
- package/web/references/elastic/DESIGN.md +238 -0
- package/web/references/elevenlabs/DESIGN.md +183 -321
- package/web/references/eslite/DESIGN.md +257 -0
- package/web/references/evaair/DESIGN.md +338 -0
- package/web/references/expo/DESIGN.md +238 -331
- package/web/references/familymart-tw/DESIGN.md +254 -0
- package/web/references/ferrari/DESIGN.md +160 -377
- package/web/references/figma/DESIGN.md +197 -451
- package/web/references/fitpet/DESIGN.md +445 -0
- package/web/references/flex/DESIGN.md +170 -253
- package/web/references/framer/DESIGN.md +197 -340
- package/web/references/freee/DESIGN.md +211 -533
- package/web/references/friendliai/DESIGN.md +431 -0
- package/web/references/frip/DESIGN.md +440 -0
- package/web/references/gangnamunni/DESIGN.md +154 -591
- package/web/references/gaudiolab/DESIGN.md +414 -0
- package/web/references/google/DESIGN.md +290 -398
- package/web/references/hashicorp/DESIGN.md +273 -318
- package/web/references/heydealer/DESIGN.md +429 -0
- package/web/references/humanscape/DESIGN.md +433 -0
- package/web/references/hyundai/DESIGN.md +158 -368
- package/web/references/hyundaicard/DESIGN.md +171 -121
- package/web/references/ibm/DESIGN.md +227 -378
- package/web/references/idus/DESIGN.md +450 -0
- package/web/references/igaworks/DESIGN.md +437 -0
- package/web/references/inflearn/DESIGN.md +221 -366
- package/web/references/intuit/DESIGN.md +244 -0
- package/web/references/jandi/DESIGN.md +191 -291
- package/web/references/jobplanet/DESIGN.md +415 -0
- package/web/references/kakao/DESIGN.md +287 -475
- package/web/references/kakaobank/DESIGN.md +220 -521
- package/web/references/kakaogames/DESIGN.md +220 -0
- package/web/references/kakaopay/DESIGN.md +207 -526
- package/web/references/karrot/DESIGN.md +227 -251
- package/web/references/kb-kookmin/DESIGN.md +308 -0
- package/web/references/kbank/DESIGN.md +220 -175
- package/web/references/kmong/DESIGN.md +281 -356
- package/web/references/krds/DESIGN.md +245 -19
- package/web/references/kream/DESIGN.md +224 -359
- package/web/references/kurly/DESIGN.md +211 -533
- package/web/references/lamborghini/DESIGN.md +198 -360
- package/web/references/lguplus/DESIGN.md +259 -0
- package/web/references/likelion/DESIGN.md +283 -0
- package/web/references/line/DESIGN.md +396 -355
- package/web/references/linear.app/DESIGN.md +209 -562
- package/web/references/lotteon/DESIGN.md +386 -0
- package/web/references/lovable/DESIGN.md +255 -349
- package/web/references/makinarocks/DESIGN.md +149 -349
- package/web/references/maum-ai/DESIGN.md +423 -0
- package/web/references/medibloc/DESIGN.md +425 -0
- package/web/references/megabox/DESIGN.md +232 -0
- package/web/references/mercari/DESIGN.md +217 -434
- package/web/references/microsoft/DESIGN.md +234 -388
- package/web/references/mildang/DESIGN.md +411 -0
- package/web/references/millie/DESIGN.md +183 -504
- package/web/references/minimax/DESIGN.md +264 -322
- package/web/references/miricanvas/DESIGN.md +182 -355
- package/web/references/miro/DESIGN.md +234 -232
- package/web/references/mistral.ai/DESIGN.md +231 -314
- package/web/references/mixi/DESIGN.md +234 -0
- package/web/references/moin/DESIGN.md +445 -0
- package/web/references/mongodb/DESIGN.md +219 -316
- package/web/references/musinsa/DESIGN.md +184 -510
- package/web/references/mynavi/DESIGN.md +242 -0
- package/web/references/myrealtrip/DESIGN.md +169 -406
- package/web/references/naver/DESIGN.md +328 -499
- package/web/references/naverwebtoon/DESIGN.md +172 -395
- package/web/references/nhn/DESIGN.md +169 -346
- package/web/references/nhncloud/DESIGN.md +185 -123
- package/web/references/notion/DESIGN.md +271 -475
- package/web/references/nrise/DESIGN.md +417 -0
- package/web/references/ohouse/DESIGN.md +210 -549
- package/web/references/oliveyoung/DESIGN.md +217 -326
- package/web/references/ollama/DESIGN.md +241 -308
- package/web/references/onestore/DESIGN.md +248 -0
- package/web/references/palantir/DESIGN.md +256 -0
- package/web/references/panasonic/DESIGN.md +276 -0
- package/web/references/patternfly/DESIGN.md +259 -0
- package/web/references/payhere/DESIGN.md +438 -0
- package/web/references/pega/DESIGN.md +262 -0
- package/web/references/peoplefund/DESIGN.md +431 -0
- package/web/references/petfriends/DESIGN.md +428 -0
- package/web/references/pinkfong/DESIGN.md +199 -367
- package/web/references/pinterest/DESIGN.md +258 -308
- package/web/references/poya/DESIGN.md +286 -0
- package/web/references/pozalabs/DESIGN.md +438 -0
- package/web/references/protopie/DESIGN.md +419 -0
- package/web/references/qraft/DESIGN.md +448 -0
- package/web/references/quotabook/DESIGN.md +449 -0
- package/web/references/recruit/DESIGN.md +247 -0
- package/web/references/remember/DESIGN.md +202 -396
- package/web/references/resend/DESIGN.md +274 -348
- package/web/references/sakura-internet/DESIGN.md +269 -0
- package/web/references/samsung/DESIGN.md +157 -359
- package/web/references/sandoll/DESIGN.md +445 -0
- package/web/references/sanity/DESIGN.md +241 -375
- package/web/references/scatterlab/DESIGN.md +412 -0
- package/web/references/selectstar/DESIGN.md +439 -0
- package/web/references/servicenow/DESIGN.md +289 -0
- package/web/references/shinhanbank/DESIGN.md +161 -341
- package/web/references/shinhancard/DESIGN.md +208 -319
- package/web/references/sionic/DESIGN.md +454 -0
- package/web/references/sktelecom/DESIGN.md +310 -0
- package/web/references/socar/DESIGN.md +125 -32
- package/web/references/softbank/DESIGN.md +231 -0
- package/web/references/sony/DESIGN.md +234 -0
- package/web/references/soop/DESIGN.md +261 -0
- package/web/references/spacex/DESIGN.md +184 -323
- package/web/references/spotify/DESIGN.md +253 -394
- package/web/references/squeezebits/DESIGN.md +441 -0
- package/web/references/stayfolio/DESIGN.md +422 -0
- package/web/references/stripe/DESIGN.md +212 -491
- package/web/references/supabase/DESIGN.md +244 -316
- package/web/references/tabling/DESIGN.md +415 -0
- package/web/references/taishinbank/DESIGN.md +243 -0
- package/web/references/teamlab/DESIGN.md +240 -0
- package/web/references/teamsparta/DESIGN.md +472 -0
- package/web/references/tellingme/DESIGN.md +392 -0
- package/web/references/tesla/DESIGN.md +244 -427
- package/web/references/thsr/DESIGN.md +284 -0
- package/web/references/thumbtack/DESIGN.md +302 -0
- package/web/references/together.ai/DESIGN.md +257 -304
- package/web/references/toss/DESIGN.md +251 -593
- package/web/references/toss-securities/DESIGN.md +255 -178
- package/web/references/tossbank/DESIGN.md +195 -491
- package/web/references/toyota/DESIGN.md +238 -0
- package/web/references/tving/DESIGN.md +197 -245
- package/web/references/typed/DESIGN.md +413 -0
- package/web/references/uber/DESIGN.md +256 -333
- package/web/references/udn/DESIGN.md +250 -0
- package/web/references/upbit/DESIGN.md +145 -256
- package/web/references/upstage/DESIGN.md +211 -204
- package/web/references/uswds/DESIGN.md +287 -0
- package/web/references/vercel/DESIGN.md +236 -440
- package/web/references/wanted/DESIGN.md +215 -487
- package/web/references/wise/DESIGN.md +223 -231
- package/web/references/wisetracker/DESIGN.md +462 -0
- package/web/references/wooribank/DESIGN.md +245 -0
- package/web/references/yanolja/DESIGN.md +250 -419
- package/web/references/yeogiotte/DESIGN.md +235 -418
- package/web/references/zapier/DESIGN.md +256 -377
- package/web/references/zendesk/DESIGN.md +288 -0
- package/web/references/zigzag/DESIGN.md +200 -621
- package/dist/install-skills-7UUDOLG2.js +0 -734
- package/dist/install-skills-7UUDOLG2.js.map +0 -1
|
@@ -2,470 +2,302 @@
|
|
|
2
2
|
id: bilibili
|
|
3
3
|
name: Bilibili
|
|
4
4
|
country: CN
|
|
5
|
-
category:
|
|
5
|
+
category: consumer-tech
|
|
6
6
|
homepage: "https://www.bilibili.com"
|
|
7
7
|
primary_color: "#FB7299"
|
|
8
8
|
logo:
|
|
9
9
|
type: simpleicons
|
|
10
10
|
slug: bilibili
|
|
11
|
-
verified: "2026-
|
|
11
|
+
verified: "2026-07-13"
|
|
12
12
|
omd: "0.1"
|
|
13
|
+
verification_v2:
|
|
14
|
+
schema: 2
|
|
15
|
+
checked: "2026-07-13"
|
|
16
|
+
surfaces:
|
|
17
|
+
- id: home
|
|
18
|
+
kind: product-home
|
|
19
|
+
url: https://www.bilibili.com/
|
|
20
|
+
inspected: "2026-07-13"
|
|
21
|
+
- id: surface-2
|
|
22
|
+
kind: product-home
|
|
23
|
+
url: https://www.bilibili.com/
|
|
24
|
+
inspected: "2026-07-13"
|
|
25
|
+
- id: surface-3
|
|
26
|
+
kind: product-popular
|
|
27
|
+
url: https://www.bilibili.com/v/popular/all/
|
|
28
|
+
inspected: "2026-07-13"
|
|
29
|
+
sources:
|
|
30
|
+
- id: home-live
|
|
31
|
+
kind: product-surface
|
|
32
|
+
url: https://www.bilibili.com/
|
|
33
|
+
captured: "2026-07-13"
|
|
34
|
+
- id: home-refresh-live
|
|
35
|
+
kind: product-surface
|
|
36
|
+
url: https://www.bilibili.com/
|
|
37
|
+
captured: "2026-07-13"
|
|
38
|
+
- id: popular-live
|
|
39
|
+
kind: product-surface
|
|
40
|
+
url: https://www.bilibili.com/v/popular/all/
|
|
41
|
+
captured: "2026-07-13"
|
|
42
|
+
- id: corporate-information
|
|
43
|
+
kind: official-doc
|
|
44
|
+
url: https://ir.bilibili.com/en/corporate-information/
|
|
45
|
+
captured: "2026-07-13"
|
|
46
|
+
- id: sustainability-framework
|
|
47
|
+
kind: official-doc
|
|
48
|
+
url: https://ir.bilibili.com/media/crul0g3t/bilibili-sustainable-finance-framework.pdf
|
|
49
|
+
captured: "2026-07-13"
|
|
50
|
+
claims:
|
|
51
|
+
"tokens.colors.canvas": &home_evidence { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
|
|
52
|
+
"tokens.colors.surface": *home_evidence
|
|
53
|
+
"tokens.colors.foreground": *home_evidence
|
|
54
|
+
"tokens.colors.muted": *home_evidence
|
|
55
|
+
"tokens.colors.secondary": *home_evidence
|
|
56
|
+
"tokens.colors.hairline": *home_evidence
|
|
57
|
+
"tokens.typography.family.sans": *home_evidence
|
|
58
|
+
"tokens.typography.nav-label.size": *home_evidence
|
|
59
|
+
"tokens.typography.nav-label.weight": *home_evidence
|
|
60
|
+
"tokens.typography.nav-label.lineHeight": *home_evidence
|
|
61
|
+
"tokens.typography.nav-label.use": *home_evidence
|
|
62
|
+
"tokens.typography.video-title.size": *home_evidence
|
|
63
|
+
"tokens.typography.video-title.weight": *home_evidence
|
|
64
|
+
"tokens.typography.video-title.lineHeight": *home_evidence
|
|
65
|
+
"tokens.typography.video-title.use": *home_evidence
|
|
66
|
+
"tokens.typography.metadata.size": *home_evidence
|
|
67
|
+
"tokens.typography.metadata.weight": *home_evidence
|
|
68
|
+
"tokens.typography.metadata.lineHeight": *home_evidence
|
|
69
|
+
"tokens.typography.metadata.use": *home_evidence
|
|
70
|
+
"tokens.spacing.xs": *home_evidence
|
|
71
|
+
"tokens.spacing.sm": *home_evidence
|
|
72
|
+
"tokens.spacing.md": *home_evidence
|
|
73
|
+
"tokens.rounded.sm": *home_evidence
|
|
74
|
+
"tokens.rounded.md": *home_evidence
|
|
75
|
+
"tokens.shadow.flat": *home_evidence
|
|
76
|
+
"tokens.components.video-card-cover.type": *home_evidence
|
|
77
|
+
"tokens.components.video-card-cover.bg": *home_evidence
|
|
78
|
+
"tokens.components.video-card-cover.radius": *home_evidence
|
|
79
|
+
"tokens.components.video-card-cover.use": *home_evidence
|
|
80
|
+
"tokens.components.video-card-stats.type": *home_evidence
|
|
81
|
+
"tokens.components.video-card-stats.fg": *home_evidence
|
|
82
|
+
"tokens.components.video-card-stats.radius": *home_evidence
|
|
83
|
+
"tokens.components.video-card-stats.padding": *home_evidence
|
|
84
|
+
"tokens.components.video-card-stats.font": *home_evidence
|
|
85
|
+
"tokens.components.video-card-stats.use": *home_evidence
|
|
86
|
+
"tokens.components.skeleton-line.type": *home_evidence
|
|
87
|
+
"tokens.components.skeleton-line.bg": *home_evidence
|
|
88
|
+
"tokens.components.skeleton-line.radius": *home_evidence
|
|
89
|
+
"tokens.components.skeleton-line.use": *home_evidence
|
|
90
|
+
conflicts: []
|
|
13
91
|
tokens:
|
|
14
|
-
source:
|
|
15
|
-
extracted: "2026-
|
|
16
|
-
note: "
|
|
92
|
+
source: live-extract
|
|
93
|
+
extracted: "2026-07-13"
|
|
94
|
+
note: "Three supplied desktop product snapshots across the home and popular routes. Tokens are limited to computed values with selector-level provenance; the existing catalog primary_color is not a current UI-token claim."
|
|
17
95
|
colors:
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
canvas: "#FFFFFF"
|
|
25
|
-
surface: "#F4F4F4"
|
|
26
|
-
foreground: "#18191C"
|
|
27
|
-
muted: "#61666D"
|
|
28
|
-
hint: "#C9CCD0"
|
|
29
|
-
hairline: "#E3E5E7"
|
|
30
|
-
divider: "#F1F2F3"
|
|
31
|
-
on-primary: "#FFFFFF"
|
|
32
|
-
coin: "#FFB027"
|
|
33
|
-
error: "#FF4D4F"
|
|
34
|
-
success: "#52C41A"
|
|
96
|
+
canvas: "#f1f2f3"
|
|
97
|
+
surface: "#ffffff"
|
|
98
|
+
foreground: "#18191c"
|
|
99
|
+
muted: "#9499a0"
|
|
100
|
+
secondary: "#61666d"
|
|
101
|
+
hairline: "#e3e5e7"
|
|
35
102
|
typography:
|
|
36
|
-
family: { sans: "
|
|
37
|
-
|
|
38
|
-
video-title:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
spacing: { xs: 4, sm: 8, md: 16, base: 16, lg: 24, xl: 32, xxl: 48, section: 64 }
|
|
43
|
-
rounded: { sm: 4, md: 6, lg: 8, full: 9999 }
|
|
103
|
+
family: { sans: "-apple-system" }
|
|
104
|
+
nav-label: { size: 14, weight: 400, lineHeight: 64, use: "Product-home header entry links" }
|
|
105
|
+
video-title: { size: 15, weight: 400, lineHeight: 22, use: "Home video-card title" }
|
|
106
|
+
metadata: { size: 13, weight: 400, lineHeight: 17, use: "Home video-card owner and date" }
|
|
107
|
+
spacing: { xs: 4, sm: 8, md: 16 }
|
|
108
|
+
rounded: { sm: 4, md: 6 }
|
|
44
109
|
shadow:
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
modal: "rgba(0,0,0,0.12) 0px 6px 24px 0px"
|
|
48
|
-
components_harvested: true
|
|
110
|
+
flat: "none"
|
|
111
|
+
components_harvested: false
|
|
49
112
|
components:
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
coin-action: { type: toggle, bg: "transparent", fg: "#FFB027", use: "Signature 投币 give-a-coin reward gesture, gold when active" }
|
|
54
|
-
video-card: { type: card, bg: "#FFFFFF", radius: "6px", padding: "0 cover / 8px footer", shadow: "rgba(0,0,0,0.08) 0px 2px 12px 0px", hover: "subtle lift + cover preview", use: "16:9 cover + duration/count overlays, 2-line title 14px/500, UP主 name 12px/400 — atomic feed unit" }
|
|
55
|
-
tag-chip: { type: badge, bg: "#F4F4F4", fg: "#61666D", radius: "4px", padding: "4px 10px", font: "12px / 400", active: "bg #FFF0F4 + fg #FB7299", use: "分区 partition filters above feed" }
|
|
56
|
-
overlay-pill: { type: badge, bg: "rgba(0,0,0,0.6)", fg: "#FFFFFF", radius: "4px", padding: "2px 6px", font: "12px / 400", use: "Duration + view/danmaku counts over cover" }
|
|
57
|
-
nav-tab: { type: tab, fg: "#61666D", active: "fg #FB7299 + pink bottom border", use: "Partition (分区) horizontal category nav" }
|
|
113
|
+
video-card-cover: { type: card, bg: "#f1f2f3", radius: "6px", use: "Product-home video-card cover wrapper; 248px × 140px in the captured desktop viewport" }
|
|
114
|
+
video-card-stats: { type: badge, fg: "#ffffff", radius: "0px 0px 6px 6px", padding: "16px 8px 6px", font: "13px / 400", use: "Product-home video-card statistics strip" }
|
|
115
|
+
skeleton-line: { type: card, bg: "#f1f2f3", radius: "4px", use: "Product-home video-card loading text line" }
|
|
58
116
|
---
|
|
59
117
|
|
|
60
118
|
# Design System Inspiration of Bilibili
|
|
61
119
|
|
|
62
120
|
## 1. Visual Theme & Atmosphere
|
|
63
121
|
|
|
64
|
-
Bilibili
|
|
122
|
+
Bilibili describes itself as a leading video community for young generations in China, organised around users, high-quality content, creators, and the emotional bonds between them. The supplied 2026-07-13 desktop product snapshots express that proposition as a dense, content-first feed: a `#f1f2f3` page ground holds repeated video-card covers, white statistics text crosses the lower cover edge, titles sit in `#18191c`, and owner/date metadata recedes to `#9499a0`. These are current 1440×900 product observations, not reconstructions of the player, mobile app, marketing campaign, or corporate-site chrome.
|
|
65
123
|
|
|
66
|
-
The
|
|
124
|
+
The corporate record says the website launched in June 2009, took the name “bilibili” in January 2010, and has expanded across varied video interests. It also names “All the Videos You Like” as the brand proposition and identifies bullet chatting as a signature engagement feature. Those first-party facts explain why a repeatable video-card/feed pattern and visible creator metadata belong in this reference; they do not establish colour tokens, player controls, motion, or state variants that were not observed in the supplied product capture.
|
|
67
125
|
|
|
68
|
-
|
|
126
|
+
**Observed characteristics:**
|
|
69
127
|
|
|
70
|
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
- ACG / anime / youth-culture identity worn proudly — fandom, in-jokes, shared culture
|
|
76
|
-
- The **2233 girls (22娘/33娘)** mascots in empty/error/brand surfaces; the `(゜-゜)つロ 干杯~` kaomoji greeting
|
|
77
|
-
- Bright, light, white-and-pink chrome — friendly and approachable, never sterile or premium-dark
|
|
78
|
-
- System-font-first + Simplified-Chinese fallbacks (`PingFang SC`, `思源黑体`); warmth from color, not type
|
|
79
|
-
- The video player is the heart — comment culture celebrated, not hidden
|
|
80
|
-
- Content-dense discovery feed kept warm by pink chrome + community copy
|
|
128
|
+
- Three supplied 1440×900 product snapshots across `https://www.bilibili.com/` (two snapshots) and `https://www.bilibili.com/v/popular/all/` (one snapshot).
|
|
129
|
+
- Neutral product-home palette: `#f1f2f3` page/skeleton ground, `#ffffff` surface and overlay text, `#18191c` foreground, and `#9499a0` metadata.
|
|
130
|
+
- Repeated 248px × 140px video-card covers with 6px corners and a 13px statistics strip.
|
|
131
|
+
- A system-resolved `-apple-system` effective family in this capture; no custom family is promoted.
|
|
132
|
+
- The capture did not record a CSS brand swatch, interaction expansion, player controls, mobile layout, or a public design-system surface.
|
|
81
133
|
|
|
82
134
|
## 2. Color Palette & Roles
|
|
83
135
|
|
|
84
|
-
|
|
136
|
+
The values below are limited to computed product-home values in the supplied evidence. They are not an official public Bilibili colour specification.
|
|
85
137
|
|
|
86
|
-
###
|
|
87
|
-
- **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").
|
|
88
|
-
- **Pink Pressed** (≈`#F25D8E`, approximate): Darker pink for primary-button hover/press.
|
|
89
|
-
- **Pink Tint** (≈`#FFF0F4`, approximate): Light pink wash for selected backgrounds, subtle highlights.
|
|
90
|
-
- **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.
|
|
91
|
-
- **bili blue dark** (≈`#0089C7`, approximate): blue hover/press.
|
|
138
|
+
### Product-home neutrals
|
|
92
139
|
|
|
93
|
-
|
|
94
|
-
- **
|
|
95
|
-
- **
|
|
96
|
-
- **
|
|
140
|
+
- **Page canvas** (`#f1f2f3`): Computed `body` background and video-card skeleton/cover fallback background.
|
|
141
|
+
- **Surface / overlay text** (`#ffffff`): Observed card-surface background and video-card statistics text.
|
|
142
|
+
- **Foreground** (`#18191c`): Computed body, video-card title, and focused/pressed search-field text.
|
|
143
|
+
- **Muted metadata** (`#9499a0`): Video-card owner/date row.
|
|
144
|
+
- **Secondary text** (`#61666d`): Default `nav-search-input` text.
|
|
145
|
+
- **Hairline / focused field fill** (`#e3e5e7`): Observed search-field focus and pressed background; also appears in the colour aggregate as a border/background candidate.
|
|
97
146
|
|
|
98
|
-
###
|
|
99
|
-
- **Primary Text** (≈`#18191C` / `#212121`, approximate): Video titles, primary body.
|
|
100
|
-
- **Secondary Text** (≈`#61666D` / `#9499A0`, approximate): UP主 names, view/danmaku counts, metadata.
|
|
101
|
-
- **Tertiary / Hint** (≈`#C9CCD0`, approximate): Placeholders, disabled labels.
|
|
147
|
+
### Boundary
|
|
102
148
|
|
|
103
|
-
|
|
104
|
-
- **Hairline Border** (≈`#E3E5E7`, approximate): Card edges, input borders, dividers.
|
|
105
|
-
- **Divider** (≈`#F1F2F3`, approximate): List/section separators.
|
|
106
|
-
|
|
107
|
-
### State
|
|
108
|
-
- **Like / Active** (`#FB7299`): The like and active states fill brand pink.
|
|
109
|
-
- **Coin (投币) / Highlight** (≈`#FFB027`, approximate): The gold "coin" reward action accent (a signature Bilibili interaction).
|
|
110
|
-
- **Error** (≈`#FF4D4F`, approximate): Form errors, destructive confirmations.
|
|
111
|
-
- **Success** (≈`#52C41A`, approximate): Confirmations.
|
|
112
|
-
|
|
113
|
-
> 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.
|
|
149
|
+
The existing frontmatter `primary_color` is retained as catalog metadata but is not emitted by this capture and is deliberately absent from `tokens.colors`. No current token claim is made for a pink action colour, blue accent, coin colour, error/success colour, or selected-state tint.
|
|
114
150
|
|
|
115
151
|
## 3. Typography Rules
|
|
116
152
|
|
|
117
|
-
### Font
|
|
118
|
-
```
|
|
119
|
-
-apple-system, BlinkMacSystemFont, "PingFang SC", "Source Han Sans SC", "思源黑体", "Microsoft YaHei", "微软雅黑", "Helvetica Neue", Arial, sans-serif
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
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.
|
|
153
|
+
### Font evidence classes
|
|
123
154
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
-
|
|
127
|
-
-
|
|
128
|
-
|
|
129
|
-
|
|
155
|
+
| Evidence class | Finding | Decision |
|
|
156
|
+
|---|---|---|
|
|
157
|
+
| Official product-use | The allowed first-party sources do not state that a named typeface is used in the product. | No brand family claim. |
|
|
158
|
+
| Live computed surface-use | The three product snapshots resolve visible text to `-apple-system, system-ui, Helvetica Neue, Helvetica, Arial, PingFang SC, Hiragino Sans GB, Microsoft YaHei, sans-serif`; the aggregate classifies `-apple-system` as system with 951 usages. | System family only; no substitute or specimen. |
|
|
159
|
+
| Official distributed brand asset | No first-party Bilibili font catalogue or licence was found. Huawei documents HarmonyOS Sans as its own design resource, not as a Bilibili asset. | None claimed for Bilibili. |
|
|
160
|
+
| Declared-only | `HarmonyOS_Regular` and `HarmonyOS_Medium` each have 54 Bilibili-CDN `@font-face` source URLs, but zero visible usages in the capture. | Declaration evidence only; not a UI family and no specimen. |
|
|
161
|
+
| Unresolved | The purpose, licence, and runtime use of the HarmonyOS declarations were not established by a first-party font source. | Omitted from tokens. |
|
|
130
162
|
|
|
131
|
-
###
|
|
132
|
-
| Role | Size | Weight | Notes |
|
|
133
|
-
|---|---|---|---|
|
|
134
|
-
| Page/section header | `18–20px` | 600 | Channel titles, section heads |
|
|
135
|
-
| Video title (in card) | `14–15px` | 500 | Two-line clamp on cards |
|
|
136
|
-
| Body / description | `14–15px` | 400 | Video detail, comments |
|
|
137
|
-
| UP主 / metadata | `12–13px` | 400 | Uploader name, view/danmaku counts |
|
|
138
|
-
| Caption / tag | `11–12px` | 400 | Tags, fine labels, durations |
|
|
163
|
+
### Observed product-home scale
|
|
139
164
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
-
|
|
144
|
-
|
|
165
|
+
| Role | Size | Weight | Line height | Selector provenance |
|
|
166
|
+
|---|---:|---:|---:|---|
|
|
167
|
+
| Header entry link | `14px` | `400` | `64px` | `home::[data-omd-capture="0"]` (`entry-title`) |
|
|
168
|
+
| Video-card title | `15px` | `400` | `22px` | `home::h3` (`bili-video-card__info--tit`) |
|
|
169
|
+
| Owner/date metadata | `13px` | `400` | `17px` | `bili-video-card__info--author` / `--date` |
|
|
145
170
|
|
|
146
171
|
## 4. Component Stylings
|
|
147
172
|
|
|
148
|
-
|
|
173
|
+
Scope: the entries below are selector-backed observations from the three supplied product snapshots. The collector recorded zero interaction expansions and zero observed states; unobserved player, follow, coin, upload, modal, tab, and mobile variants are not component specifications.
|
|
174
|
+
|
|
175
|
+
### Video card
|
|
149
176
|
|
|
150
|
-
**
|
|
151
|
-
- Background: `#
|
|
152
|
-
- Text: `#FFFFFF`
|
|
153
|
-
- Border: none
|
|
154
|
-
- Radius: 6px (or pill 16px for follow chips)
|
|
155
|
-
- Padding: 6px 16px
|
|
156
|
-
- Font: 14px / 500
|
|
157
|
-
- Hover/press: background ≈`#F25D8E`
|
|
158
|
-
- Use: Primary action — Follow, Sign up. bili pink is the action color.
|
|
159
|
-
|
|
160
|
-
**Secondary (Following / 已关注, ghost)**
|
|
161
|
-
- Background: `#FFFFFF`
|
|
162
|
-
- Text: ≈`#61666D`
|
|
163
|
-
- Border: 1px solid ≈`#E3E5E7`
|
|
177
|
+
**Cover wrapper**
|
|
178
|
+
- Background: `#f1f2f3`
|
|
164
179
|
- Radius: 6px
|
|
165
|
-
-
|
|
166
|
-
- Font: 14px / 500
|
|
167
|
-
- Use: Already-following / secondary toggle.
|
|
180
|
+
- Use: `home::div.bili-video-card__image--wrap`, a 248px × 140px video-card cover wrapper in the captured desktop feed
|
|
168
181
|
|
|
169
|
-
**
|
|
170
|
-
-
|
|
171
|
-
-
|
|
172
|
-
-
|
|
182
|
+
**Statistics strip**
|
|
183
|
+
- Text: `#ffffff`
|
|
184
|
+
- Radius: 0px 0px 6px 6px
|
|
185
|
+
- Padding: 16px 8px 6px
|
|
186
|
+
- Font: 13px / 400
|
|
187
|
+
- Use: `home::div.bili-video-card__stats`, lower cover-edge statistics strip
|
|
173
188
|
|
|
174
189
|
### Inputs
|
|
175
190
|
|
|
176
|
-
**
|
|
177
|
-
-
|
|
178
|
-
-
|
|
179
|
-
-
|
|
180
|
-
- Radius: 8px (search) / 6px (form field)
|
|
181
|
-
- Padding: 8px 14px
|
|
191
|
+
**Home search field**
|
|
192
|
+
- Text: `#61666d`
|
|
193
|
+
- Radius: 0px
|
|
194
|
+
- Padding: 0px 8px 0px 0px
|
|
182
195
|
- Font: 14px / 400
|
|
183
|
-
-
|
|
184
|
-
- Use: Top search bar, comment input, form fields.
|
|
185
|
-
|
|
186
|
-
### Cards
|
|
187
|
-
|
|
188
|
-
**Video Card (feed grid)**
|
|
189
|
-
- Background: `#FFFFFF`
|
|
190
|
-
- Border: none
|
|
191
|
-
- Radius: 6–8px (cover top corners + card)
|
|
192
|
-
- Padding: 0 on cover; 8px on text footer
|
|
193
|
-
- Shadow: none default; subtle lift on hover (web)
|
|
194
|
-
- 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)
|
|
195
|
-
- Use: The atomic unit of the discovery feed.
|
|
196
|
-
|
|
197
|
-
### Tags / Badges
|
|
198
|
-
|
|
199
|
-
**Partition / Tag Chip**
|
|
200
|
-
- Background: ≈`#F4F4F4` (or pink-tint `#FFF0F4` for active)
|
|
201
|
-
- Text: ≈`#61666D` (or `#FB7299` active)
|
|
202
|
-
- Radius: 4px (or pill)
|
|
203
|
-
- Padding: 4px 10px
|
|
204
|
-
- Font: 12px / 400
|
|
205
|
-
- Use: 分区 (partition) filters — 番剧/游戏/音乐/科技 etc., tags above the feed.
|
|
206
|
-
|
|
207
|
-
**Duration / Count Overlay (on cover)**
|
|
208
|
-
- Background: black ~60% pill
|
|
209
|
-
- Text: `#FFFFFF`
|
|
210
|
-
- Radius: 4px
|
|
211
|
-
- Padding: 2px 6px
|
|
212
|
-
- Font: 12px / 400
|
|
213
|
-
- Use: Duration bottom-right; view/danmaku counts bottom-left, over the thumbnail.
|
|
196
|
+
- Use: `home::[data-omd-capture="9"]` (`nav-search-input`); the same default component appears on `surface-2` and `surface-3`
|
|
214
197
|
|
|
215
|
-
###
|
|
198
|
+
### Loading
|
|
216
199
|
|
|
217
|
-
-
|
|
218
|
-
-
|
|
219
|
-
-
|
|
220
|
-
-
|
|
200
|
+
**Video-card skeleton line**
|
|
201
|
+
- Background: `#f1f2f3`
|
|
202
|
+
- Radius: 4px
|
|
203
|
+
- Use: `home::p.bili-video-card__skeleton--text` and `--light` loading placeholders
|
|
221
204
|
|
|
222
|
-
###
|
|
205
|
+
### Buttons
|
|
223
206
|
|
|
224
|
-
|
|
225
|
-
-
|
|
226
|
-
-
|
|
227
|
-
-
|
|
207
|
+
**Feed roll button**
|
|
208
|
+
- Background: `#ffffff`
|
|
209
|
+
- Text: `#18191c`
|
|
210
|
+
- Border: 1px solid `#e3e5e7`
|
|
211
|
+
- Radius: 8px
|
|
212
|
+
- Padding: 9px
|
|
213
|
+
- Font: 12px / 400
|
|
214
|
+
- Use: `home::[data-omd-capture="87"]` (`primary-btn roll-btn`) default appearance; no button state was observed
|
|
228
215
|
|
|
229
216
|
## 5. Layout Principles
|
|
230
217
|
|
|
231
|
-
|
|
232
|
-
| Use | Value |
|
|
233
|
-
|---|---|
|
|
234
|
-
| Card gap | `12–16px` |
|
|
235
|
-
| Card text footer padding | `8px` |
|
|
236
|
-
| Chip padding | `4px 10px` |
|
|
237
|
-
| Page horizontal margin | `12–24px` |
|
|
238
|
-
| Section vertical | `16–24px` |
|
|
218
|
+
The supplied capture is one 1440×900 product-home viewport. Within it, repeated video-card covers measure 248px × 140px. The observed card title begins below the cover; the information block has a 10px top margin, and the metadata row has a 4px top margin. The capture’s spacing aggregate contains 4px, 8px, and 16px frequently enough to support the small token set, but it does not establish a general grid, responsive breakpoint, or full page-margin scale.
|
|
239
219
|
|
|
240
|
-
|
|
241
|
-
- Feed: responsive card grid — 4–6 columns wide web, 2 columns mobile
|
|
242
|
-
- Video detail: player + info (left/main) + recommended-videos rail (right)
|
|
243
|
-
- Channel/partition pages: grid + horizontal scroll rows per sub-category
|
|
220
|
+
## 6. Depth & Elevation
|
|
244
221
|
|
|
245
|
-
|
|
246
|
-
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.
|
|
222
|
+
All selector-backed component samples used here reported `box-shadow: none`. The card cover, title area, statistics strip, search field, and skeleton are therefore represented as flat. Dropdowns, dialogs, mini-players, hover lift, and modal elevation were not observed and are omitted.
|
|
247
223
|
|
|
248
|
-
##
|
|
224
|
+
## 7. Do's and Don'ts
|
|
249
225
|
|
|
250
|
-
|
|
226
|
+
### Do
|
|
251
227
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
| Hover lift (web) | `0 2px 12px rgba(0,0,0,0.08)` | Video card on hover |
|
|
256
|
-
| Floating | `0 4px 16px rgba(0,0,0,0.1)` | Dropdowns, popovers, mini-player |
|
|
257
|
-
| Modal | `0 6px 24px rgba(0,0,0,0.12)` | Login dialog, share sheet |
|
|
258
|
-
|
|
259
|
-
### Z-Index
|
|
260
|
-
- Sticky top bar above content
|
|
261
|
-
- Floating mini-player / dropdowns above page
|
|
262
|
-
- Modal + mask above dropdowns
|
|
263
|
-
- Toast at highest level
|
|
264
|
-
|
|
265
|
-
### Animation
|
|
266
|
-
- Card hover lift + cover preview (gif/video preview on hover, web)
|
|
267
|
-
- Danmaku scroll (the signature kinetic layer)
|
|
268
|
-
- "一键三连" long-press triple-action burst animation (like+coin+favorite)
|
|
269
|
-
- Friendly, soft easing
|
|
228
|
+
- Use the observed `#f1f2f3`/`#ffffff`/`#18191c`/`#9499a0` product-home relationship only where its feed/card context is relevant.
|
|
229
|
+
- Preserve the 6px cover and 4px skeleton-line corner observations as component-local values.
|
|
230
|
+
- Treat all components here as default-state observations; this packet records no interaction or state expansion.
|
|
270
231
|
|
|
271
|
-
|
|
232
|
+
### Don't
|
|
272
233
|
|
|
273
|
-
-
|
|
274
|
-
-
|
|
275
|
-
-
|
|
276
|
-
- **DON'T** hide the engagement counts — views, danmaku, coins are the social proof of a video community.
|
|
277
|
-
- **DO** celebrate danmaku and the "一键三连" (like+coin+favorite) culture in the player UI; the comment culture is the soul.
|
|
278
|
-
- **DON'T** treat Bilibili like a sterile content-delivery player — the community warmth is the differentiator.
|
|
279
|
-
- **DO** use the 2233 mascots and friendly kaomoji copy (`(゜-゜)つロ 干杯~`) in empty/error/brand moments.
|
|
280
|
-
- **DON'T** write cold corporate system copy — the ACG-community warmth is the brand voice.
|
|
281
|
-
- **DO** keep chrome bright, light, white-and-pink; generous radii (4–8px); friendly shapes.
|
|
282
|
-
- **DON'T** go dark-premium or sharp-corporate — that's the opposite of the youth-community register.
|
|
283
|
-
- **DO** lead the font stack with `PingFang SC` / `思源黑体`; cap weight at 500/600.
|
|
284
|
-
- **DON'T** go weight 700 — heavy bold reads aggressive against the friendly register.
|
|
234
|
+
- Do not present the frontmatter `primary_color` as a current product CSS token from this capture.
|
|
235
|
+
- Do not infer player actions, coin/follow controls, dialogs, tabs, mobile navigation, hover motion, or form-error states from the captured home page.
|
|
236
|
+
- Do not use `HarmonyOS_Regular` or `HarmonyOS_Medium` as a Bilibili UI font without visible usage plus first-party product or licence corroboration.
|
|
285
237
|
|
|
286
238
|
## 8. Responsive Behavior
|
|
287
239
|
|
|
288
|
-
|
|
289
|
-
|---|---|
|
|
290
|
-
| Desktop `>1280px` | 5–6 column card grid, full partition nav, player + recommended rail |
|
|
291
|
-
| Laptop `1024–1280px` | 4-column grid, recommended rail narrows |
|
|
292
|
-
| Tablet `768–1024px` | 3-column grid, partition nav scrolls, recommended rail below player |
|
|
293
|
-
| Mobile `<768px` | 2-column grid, bottom tab bar, full-width player, danmaku toggle prominent |
|
|
294
|
-
|
|
295
|
-
### Touch & Mobile
|
|
296
|
-
- Bottom tab bar with brand-pink center upload "+"
|
|
297
|
-
- Full-width player; danmaku send + toggle thumb-accessible
|
|
298
|
-
- Min 44px tap targets; generous like/coin/favorite hit areas
|
|
299
|
-
- Cover hover-preview (web) → tap-to-play (mobile)
|
|
300
|
-
|
|
301
|
-
### Media
|
|
302
|
-
- Video covers: 16:9, `object-fit: cover`, lazy-loaded, hover-preview on web
|
|
303
|
-
- Player: adaptive bitrate, danmaku layer overlaid
|
|
304
|
-
- Partition pages mix grid + horizontal-scroll rows
|
|
240
|
+
`[FILL IN — this packet contains one 1440×900 desktop capture only. No breakpoint, mobile, touch-target, or responsive-layout claim is established.]`
|
|
305
241
|
|
|
306
242
|
## 9. Agent Prompt Guide
|
|
307
243
|
|
|
308
|
-
###
|
|
309
|
-
- Brand / like / primary CTA: `#FB7299` (pressed ≈`#F25D8E`, tint ≈`#FFF0F4`)
|
|
310
|
-
- Secondary accent / links: bili blue ≈`#00AEEC`
|
|
311
|
-
- Coin/reward: gold ≈`#FFB027`
|
|
312
|
-
- Page bg: `#FFFFFF`; card ground: ≈`#F4F4F4`
|
|
313
|
-
- Primary text: ≈`#18191C`; secondary: ≈`#61666D`; hint: ≈`#C9CCD0`; border: ≈`#E3E5E7`
|
|
314
|
-
|
|
315
|
-
### Example Component Prompts
|
|
316
|
-
- "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."
|
|
317
|
-
- "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."
|
|
318
|
-
- "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`."
|
|
319
|
-
- "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."
|
|
320
|
-
|
|
321
|
-
### Iteration Guide
|
|
322
|
-
1. **bili pink `#FB7299` is the personality** — brand + primary action + active state. Lean in; never swap for red.
|
|
323
|
-
2. **bili blue is the cool secondary**; gold is the coin/reward gesture. Don't expand the palette beyond these.
|
|
324
|
-
3. **16:9 thumbnail cards** with duration + count overlays + 2-line title + UP主. Counts are social proof — show them.
|
|
325
|
-
4. **Danmaku and 一键三连 are the soul** — celebrate the comment/reward culture in the player.
|
|
326
|
-
5. **2233 mascots + kaomoji copy** in empty/error/brand moments; warm community voice everywhere.
|
|
327
|
-
6. **Bright white-and-pink, generous radii, friendly shapes** — never dark-premium or sharp-corporate.
|
|
328
|
-
7. **`PingFang SC` / `思源黑体` fallbacks**, weights cap at 500/600, hierarchy via near-black/gray opacity.
|
|
329
|
-
8. **Mostly flat**; lift cards on hover, reserve shadow for floating UI.
|
|
244
|
+
### Evidence-safe prompt
|
|
330
245
|
|
|
331
|
-
|
|
246
|
+
- “Create a product-home video-card cover with `#f1f2f3` fallback background and 6px radius. Add a lower statistics strip with `#ffffff` 13px/400 text, `0px 0px 6px 6px` radius, and `16px 8px 6px` padding. Do not add an unobserved CTA, player control, hover behaviour, or brand-colour fill.”
|
|
247
|
+
- “Create a flat search field matching the observed home input: `#61666d` default text, 0px radius, `0px 8px 0px 0px` padding, 14px/400. Do not add an unobserved focus, pressed, or validation state.”
|
|
332
248
|
|
|
333
|
-
|
|
249
|
+
### Boundary
|
|
334
250
|
|
|
335
|
-
|
|
251
|
+
Use the current product-home token set as a narrow reference. Do not turn corporate narrative, a CDN declaration, or historic catalog metadata into a product component or token.
|
|
336
252
|
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
| Greetings / brand | Kaomoji-led warmth. `(゜-゜)つロ 干杯~`. Community in-jokes welcome. |
|
|
341
|
-
| Empty / error states | 2233-mascot + a light, friendly, blameless line. Often self-deprecating-cute, never cold. |
|
|
342
|
-
| Engagement | Counts beside icons (播放/弹幕/点赞/投币). The numbers are the community signal. |
|
|
343
|
-
| Creator-facing | Encouraging, fan-aware ("UP主加油"). The platform sides with its creators. |
|
|
344
|
-
| Error messages | Light, blameless, often with a mascot. State the issue + the fix, keep it warm. |
|
|
345
|
-
| Community guidelines | Slightly more formal but still member-to-member, protecting the community vibe. |
|
|
346
|
-
|
|
347
|
-
**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.
|
|
348
|
-
|
|
349
|
-
**Voice samples.**
|
|
350
|
-
- `(゜-゜)つロ 干杯~` — the signature kaomoji greeting, the brand voice in one string. <!-- cited: appears in bilibili.com homepage content via WebFetch 2026-05-19 -->
|
|
351
|
-
- `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 -->
|
|
352
|
-
- `关注` / `投稿` — follow / upload CTAs, short friendly verbs. <!-- illustrative: standard Bilibili CTA register; not quoted as a specific live string -->
|
|
353
|
-
- `UP主加油` — creator-encouragement pattern. <!-- illustrative: reflects Bilibili creator-facing register -->
|
|
253
|
+
## 10. Voice & Tone
|
|
254
|
+
|
|
255
|
+
No first-party voice-and-tone guideline was found in the allowed sources. The corporate sources describe a welcoming, engaging community built around users and creators, and name “All the Videos You Like” as the value proposition; those statements support community-oriented content strategy, not an invented UI-copy system. Product-specific microcopy, error copy, and mascot language remain unverified.
|
|
354
256
|
|
|
355
257
|
## 11. Brand Narrative
|
|
356
258
|
|
|
357
|
-
Bilibili
|
|
259
|
+
Bilibili’s corporate information states that its website launched in June 2009 and was officially named “bilibili” in January 2010. It defines the company as a full-spectrum video community serving varied interests and says the community is built around aspiring users, high-quality content, talented creators, and the emotional bond between them. Its stated mission is to enrich the everyday lives of young generations in China.
|
|
358
260
|
|
|
359
|
-
|
|
261
|
+
The same first-party material frames “All the Videos You Like” as the value proposition and describes users and creators discovering and interacting across lifestyle, games, entertainment, anime, and technology and knowledge. It identifies bullet chatting as a signature feature designed to foster engagement, while the founder biography says the platform continues to refine that feature and the product UI.
|
|
360
262
|
|
|
361
|
-
|
|
263
|
+
The supplied product-home observation contributes a narrow visual counterpart: a repeated video-card feed where title and creator metadata are distinct pieces of information. It does not establish the brand colour, player interface, historical mascot treatment, or a broader visual system.
|
|
362
264
|
|
|
363
265
|
## 12. Principles
|
|
364
266
|
|
|
365
|
-
1. **
|
|
366
|
-
|
|
367
|
-
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.
|
|
267
|
+
1. **Community is a stated business priority.** Corporate information says the company cultivates belonging through interest-based sub-communities and interactive features. *UI implication:* When product evidence exists, preserve the relationship between content, creators, and community context rather than collapsing it into anonymous media tiles.
|
|
368
268
|
|
|
369
|
-
|
|
269
|
+
2. **Diverse interests share one video community.** The official proposition covers entertainment, games, lifestyle, anime, technology, knowledge, and more. *UI implication:* Use product-specific evidence before generalising one content category’s visual treatment to another surface.
|
|
370
270
|
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
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.
|
|
374
|
-
|
|
375
|
-
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.
|
|
271
|
+
3. **Bullet chatting is a signature interaction, not a token source.** The company identifies it as an engagement feature, but this packet does not contain player-state evidence. *UI implication:* Do not fabricate controls, motion, density settings, or colours for it.
|
|
376
272
|
|
|
377
273
|
## 13. Personas
|
|
378
274
|
|
|
379
|
-
*
|
|
275
|
+
*These are evidence-bounded stakeholder groups, not fictional people or behavioural research findings.*
|
|
380
276
|
|
|
381
|
-
|
|
277
|
+
**Young-generation video community member.** Bilibili identifies young generations in China as its core audience and describes interest-based sub-communities. No individual demographic, task flow, or device preference is asserted here.
|
|
382
278
|
|
|
383
|
-
|
|
279
|
+
**Content creator.** The corporate narrative identifies talented creators as one of the community’s pillars and describes users and creators discovering and interacting with content. The packet does not establish a creator-tool UI.
|
|
384
280
|
|
|
385
|
-
|
|
281
|
+
**Interest-led viewer.** Official corporate material names varied video interests, including games, entertainment, anime, and technology/knowledge. The current product-home evidence only supports the feed-card context, not a persona-specific experience.
|
|
386
282
|
|
|
387
283
|
## 14. States
|
|
388
284
|
|
|
389
|
-
| State |
|
|
285
|
+
| State | Evidence-bound treatment |
|
|
390
286
|
|---|---|
|
|
391
|
-
|
|
|
392
|
-
|
|
|
393
|
-
|
|
|
394
|
-
|
|
|
395
|
-
|
|
|
396
|
-
|
|
|
397
|
-
| **Error (video unavailable)** | Mascot + factual friendly line + back/explore links. |
|
|
398
|
-
| **Success (一键三连)** | Like + coin + favorite burst together with a brief celebratory animation — the signature joyful moment. |
|
|
399
|
-
| **Success (follow/post)** | Light toast (`关注成功` / `投稿成功`), brief, warm. |
|
|
400
|
-
| **Like / coin** | Heart fills `#FB7299` (pop); coin fills gold `#FFB027` (pop); counts increment. |
|
|
401
|
-
| **Skeleton** | Gray 16:9 + line blocks at exact dimensions, gentle shimmer. |
|
|
402
|
-
| **Disabled** | Reduced opacity + gray fill together; control keeps its rounded shape. |
|
|
287
|
+
| Empty | `[FILL IN — no first-party empty-state observation in this packet.]` |
|
|
288
|
+
| Loading | Video-card skeleton text lines use `#f1f2f3` with 4px corners on the product home. |
|
|
289
|
+
| Error | `[FILL IN — no error-state observation in this packet.]` |
|
|
290
|
+
| Success | `[FILL IN — no success-state observation in this packet.]` |
|
|
291
|
+
| Skeleton | Cover fallback is `#f1f2f3` with 6px corners; text lines use 4px corners. |
|
|
292
|
+
| Disabled | `[FILL IN — no disabled-state observation in this packet.]` |
|
|
403
293
|
|
|
404
294
|
## 15. Motion & Easing
|
|
405
295
|
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
**Durations:**
|
|
409
|
-
|
|
410
|
-
| Token | Value | Use |
|
|
411
|
-
|---|---|---|
|
|
412
|
-
| `motion-instant` | 0ms | Tab/toggle commits |
|
|
413
|
-
| `motion-fast` | 200ms | Hover, chip select, button feedback |
|
|
414
|
-
| `motion-standard` | 300ms | Like/coin pop, dropdowns, card hover lift |
|
|
415
|
-
| `motion-celebrate` | 500ms | 一键三连 triple-action burst, success moments |
|
|
416
|
-
| `danmaku-scroll` | ~6–10s | Bullet comment traversal across the video (continuous, density-dependent) |
|
|
417
|
-
|
|
418
|
-
**Easings:**
|
|
419
|
-
|
|
420
|
-
| Token | Curve | Use |
|
|
421
|
-
|---|---|---|
|
|
422
|
-
| `ease-standard` | `cubic-bezier(0.4, 0, 0.2, 1)` | Default two-way transitions |
|
|
423
|
-
| `ease-enter` | `cubic-bezier(0.0, 0.0, 0.2, 1)` | Dropdowns, sheets arriving |
|
|
424
|
-
| `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
|
|
425
|
-
| `ease-pop` | `cubic-bezier(0.34, 1.4, 0.64, 1)` | **Reserved.** Like/coin pops + 一键三连 burst — joyful overshoot at participation moments. |
|
|
426
|
-
|
|
427
|
-
**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.
|
|
428
|
-
|
|
429
|
-
**Signature motions.**
|
|
430
|
-
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.
|
|
431
|
-
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.
|
|
432
|
-
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`.
|
|
433
|
-
4. **Card hover (web).** Card lifts (`motion-standard / ease-standard`) and the cover begins a muted preview — discovery feels alive.
|
|
434
|
-
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.
|
|
435
|
-
|
|
436
|
-
<!--
|
|
437
|
-
OmD v0.1 Sources — Bilibili / B站
|
|
438
|
-
|
|
439
|
-
Tier 1 (live): bilibili.com homepage via WebFetch 2026-05-19 — confirmed the
|
|
440
|
-
pink-and-blue ACG brand aesthetic, card-based video-thumbnail grid feed
|
|
441
|
-
(cover + counts + title + uploader), horizontal partition (番剧/电影/游戏…) nav,
|
|
442
|
-
clean sans-serif type, mascot presence, and the signature kaomoji greeting
|
|
443
|
-
`(゜-゜)つロ 干杯~`. No public CSS token layer is exposed.
|
|
444
|
-
|
|
445
|
-
Tier 2 (brand color / facts): WebSearch 2026-05-19 — bili pink #FB7299
|
|
446
|
-
(RGB 251,114,153) verified as Bilibili's official pink ("bili pink" / "girl
|
|
447
|
-
pink" / 粉) across brand-color sources (Brandfetch, BrandColorCode) and confirmed
|
|
448
|
-
in a PipePipe GitHub issue treating #FB7299 as Bilibili's canonical top color.
|
|
449
|
-
Founding history (Xu Yi 徐逸 / Mikufans 2009 / bilibili rename 2010 /
|
|
450
|
-
Niconico-inspired danmaku / Railgun "Biribiri" name origin / 2233 mascots /
|
|
451
|
-
community quiz) is widely documented public history.
|
|
452
|
-
|
|
453
|
-
⚠️ SOURCING CAVEAT: Only #FB7299 is verified. bili blue (≈#00AEEC), the gold
|
|
454
|
-
coin color (≈#FFB027), and all neutral hexes in §2/§4 are BEST-FIT
|
|
455
|
-
APPROXIMATIONS of observed live-site usage and common Bilibili-palette references,
|
|
456
|
-
flagged "approximate" inline. Do not present them to the brand owner as verbatim
|
|
457
|
-
Bilibili tokens.
|
|
458
|
-
|
|
459
|
-
Community lexicon (UP主/B站/弹幕/一键三连/投币) is widely documented public Bilibili
|
|
460
|
-
vocabulary; UP主 + danmaku + the kaomoji greeting confirmed in live homepage
|
|
461
|
-
content. Voice samples marked illustrative are not quoted live strings. Personas
|
|
462
|
-
(§13) are fictional archetypes. The 2233 girls are Bilibili's official mascots.
|
|
463
|
-
-->
|
|
296
|
+
`[FILL IN — the supplied capture reports no interaction expansion and no motion/easing measurements. Do not infer hover, player, or celebratory motion from static component evidence.]`
|
|
464
297
|
|
|
465
298
|
---
|
|
466
299
|
|
|
467
|
-
**Verified:** 2026-
|
|
468
|
-
**Tier 1 sources:** bilibili.com
|
|
469
|
-
**Tier 2 sources:**
|
|
470
|
-
**
|
|
471
|
-
**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).
|
|
300
|
+
**Verified:** 2026-07-13
|
|
301
|
+
**Tier 1 sources:** https://www.bilibili.com/ and https://www.bilibili.com/v/popular/all/ (supplied computed-style product snapshots, 2026-07-13); https://ir.bilibili.com/en/corporate-information/ (official company narrative); https://ir.bilibili.com/media/crul0g3t/bilibili-sustainable-finance-framework.pdf (official company/community narrative); https://developer.huawei.com/consumer/en/design/resource/ (HarmonyOS Sans source-domain boundary)
|
|
302
|
+
**Tier 2 sources:** https://getdesign.md/bilibili (attempted 2026-07-13; direct fetch rejected as unsafe); https://styles.refero.design/?q=bilibili (attempted 2026-07-13; direct fetch rejected as unsafe); https://styles.refero.design/ (catalog landing retrieved, no Bilibili-specific specification used)
|
|
303
|
+
**Conflicts unresolved:** none
|