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
|
@@ -8,501 +8,347 @@ primary_color: "#0078d4"
|
|
|
8
8
|
logo:
|
|
9
9
|
type: github
|
|
10
10
|
slug: microsoft
|
|
11
|
-
verified: "2026-
|
|
11
|
+
verified: "2026-07-13"
|
|
12
12
|
added: "2026-06-11"
|
|
13
13
|
omd: "0.1"
|
|
14
14
|
ds:
|
|
15
15
|
name: Fluent 2
|
|
16
16
|
url: "https://fluent2.microsoft.design"
|
|
17
17
|
type: system
|
|
18
|
-
description: "Microsoft's cross-platform design system
|
|
18
|
+
description: "Microsoft's cross-platform design system, with platform-aware typography, tokens, component guidance, and accessibility guidance."
|
|
19
|
+
verification_v2:
|
|
20
|
+
schema: 2
|
|
21
|
+
checked: "2026-07-13"
|
|
22
|
+
surfaces:
|
|
23
|
+
- { id: home, kind: public-marketing, url: "https://www.microsoft.com/ko-kr", inspected: "2026-07-13" }
|
|
24
|
+
- { id: fluent-docs, kind: documentation-chrome, url: "https://fluent2.microsoft.design/", inspected: "2026-07-13" }
|
|
25
|
+
- { id: microsoft-365, kind: public-marketing, url: "https://www.microsoft.com/en-us/microsoft-365", inspected: "2026-07-13" }
|
|
26
|
+
sources:
|
|
27
|
+
- { id: home-live, kind: product-surface, url: "https://www.microsoft.com/ko-kr", captured: "2026-07-13" }
|
|
28
|
+
- { id: fluent-docs-live, kind: official-doc, url: "https://fluent2.microsoft.design/", captured: "2026-07-13" }
|
|
29
|
+
- { id: microsoft-365-live, kind: product-surface, url: "https://www.microsoft.com/en-us/microsoft-365", captured: "2026-07-13" }
|
|
30
|
+
- { id: fluent-typography, kind: official-doc, url: "https://fluent2.microsoft.design/typography", captured: "2026-07-13" }
|
|
31
|
+
- { id: segoue-font, kind: official-doc, url: "https://learn.microsoft.com/en-us/typography/font-list/segoe-ui", captured: "2026-07-13" }
|
|
32
|
+
- { id: segoue-license, kind: license, url: "https://learn.microsoft.com/en-us/typography/fonts/font-faq", captured: "2026-07-13" }
|
|
33
|
+
conflicts: []
|
|
34
|
+
claims:
|
|
35
|
+
"tokens.colors.primary": &home { surface_id: home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
|
|
36
|
+
"tokens.colors.ink": *home
|
|
37
|
+
"tokens.colors.body": *home
|
|
38
|
+
"tokens.colors.nav-ink": *home
|
|
39
|
+
"tokens.colors.muted": *home
|
|
40
|
+
"tokens.colors.link": *home
|
|
41
|
+
"tokens.colors.canvas": *home
|
|
42
|
+
"tokens.colors.footer": *home
|
|
43
|
+
"tokens.colors.primary-dark": &m365 { surface_id: microsoft-365, source_id: microsoft-365-live, method: computed-style, captured: "2026-07-13" }
|
|
44
|
+
"tokens.colors.card": *m365
|
|
45
|
+
"tokens.typography.family.ui": *home
|
|
46
|
+
"tokens.typography.family.display": *home
|
|
47
|
+
"tokens.typography.family.chrome": *home
|
|
48
|
+
"tokens.typography.display.size": *home
|
|
49
|
+
"tokens.typography.display.weight": *home
|
|
50
|
+
"tokens.typography.display.lineHeight": *home
|
|
51
|
+
"tokens.typography.display.tracking": *home
|
|
52
|
+
"tokens.typography.display.use": *home
|
|
53
|
+
"tokens.typography.section.size": *home
|
|
54
|
+
"tokens.typography.section.weight": *home
|
|
55
|
+
"tokens.typography.section.lineHeight": *home
|
|
56
|
+
"tokens.typography.section.tracking": *home
|
|
57
|
+
"tokens.typography.section.use": *home
|
|
58
|
+
"tokens.typography.card-title.size": *home
|
|
59
|
+
"tokens.typography.card-title.weight": *home
|
|
60
|
+
"tokens.typography.card-title.lineHeight": *home
|
|
61
|
+
"tokens.typography.card-title.tracking": *home
|
|
62
|
+
"tokens.typography.card-title.use": *home
|
|
63
|
+
"tokens.typography.body.size": *home
|
|
64
|
+
"tokens.typography.body.weight": *home
|
|
65
|
+
"tokens.typography.body.lineHeight": *home
|
|
66
|
+
"tokens.typography.body.tracking": *home
|
|
67
|
+
"tokens.typography.body.use": *home
|
|
68
|
+
"tokens.typography.cta.size": *home
|
|
69
|
+
"tokens.typography.cta.weight": *home
|
|
70
|
+
"tokens.typography.cta.lineHeight": *home
|
|
71
|
+
"tokens.typography.cta.tracking": *home
|
|
72
|
+
"tokens.typography.cta.use": *home
|
|
73
|
+
"tokens.typography.nav.size": *home
|
|
74
|
+
"tokens.typography.nav.weight": *home
|
|
75
|
+
"tokens.typography.nav.use": *home
|
|
76
|
+
"tokens.spacing.xs": *home
|
|
77
|
+
"tokens.spacing.sm": *home
|
|
78
|
+
"tokens.spacing.md": *home
|
|
79
|
+
"tokens.spacing.base": *home
|
|
80
|
+
"tokens.spacing.lg": *home
|
|
81
|
+
"tokens.spacing.xl": *home
|
|
82
|
+
"tokens.spacing.xxl": *home
|
|
83
|
+
"tokens.rounded.sm": *home
|
|
84
|
+
"tokens.rounded.md": *home
|
|
85
|
+
"tokens.rounded.lg": *home
|
|
86
|
+
"tokens.rounded.xl": *home
|
|
87
|
+
"tokens.rounded.pill": *m365
|
|
88
|
+
"tokens.components.m365-tab-active.type": *m365
|
|
89
|
+
"tokens.components.m365-tab-active.bg": *m365
|
|
90
|
+
"tokens.components.m365-tab-active.fg": *m365
|
|
91
|
+
"tokens.components.m365-tab-active.radius": *m365
|
|
92
|
+
"tokens.components.m365-tab-active.padding": *m365
|
|
93
|
+
"tokens.components.m365-tab-active.height": *m365
|
|
94
|
+
"tokens.components.m365-tab-active.font": *m365
|
|
95
|
+
"tokens.components.m365-tab-active.active": *m365
|
|
96
|
+
"tokens.components.m365-tab-active.use": *m365
|
|
19
97
|
tokens:
|
|
20
98
|
source: reconciled
|
|
21
|
-
extracted: "2026-
|
|
22
|
-
|
|
99
|
+
extracted: "2026-07-13"
|
|
100
|
+
components_harvested: true
|
|
101
|
+
note: "Marketing tokens below are observed only on microsoft.com home and Microsoft 365 public marketing. Fluent documentation is a separate source domain; its product-system tokens are not inferred from marketing."
|
|
23
102
|
colors:
|
|
24
103
|
primary: "#0078d4"
|
|
25
|
-
primary-
|
|
26
|
-
fluent-brand: "#0f6cbd"
|
|
27
|
-
secondary: "#b3daf0"
|
|
104
|
+
primary-dark: "#091f2c"
|
|
28
105
|
ink: "#0e1726"
|
|
29
106
|
body: "#17253d"
|
|
30
107
|
nav-ink: "#262626"
|
|
31
108
|
muted: "#616161"
|
|
32
|
-
|
|
109
|
+
link: "#0067b8"
|
|
33
110
|
canvas: "#ffffff"
|
|
34
111
|
card: "#fefefe"
|
|
35
|
-
|
|
36
|
-
tint-blue: "#dceef8"
|
|
37
|
-
chip-tint: "#e6effd"
|
|
38
|
-
chip-ink: "#2a446f"
|
|
39
|
-
accent-yellow: "#ffb900"
|
|
40
|
-
on-primary: "#ffffff"
|
|
112
|
+
footer: "#f2f2f2"
|
|
41
113
|
typography:
|
|
42
|
-
family: {
|
|
43
|
-
display
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
body:
|
|
47
|
-
cta:
|
|
48
|
-
nav:
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
rounded: { sm: 4, md: 8, lg: 16, xl: 24, full: 9999 }
|
|
52
|
-
shadow:
|
|
53
|
-
cta: "rgba(0,0,0,0.12) layered button shadow"
|
|
54
|
-
card: "rgba(0,0,0,0.13) 0px 3px 7px 0px, rgba(0,0,0,0.11) 0px 1px 2px 0px"
|
|
114
|
+
family: { ui: "Segoe UI Variable Text", display: "Segoe UI Variable Display", chrome: "Segoe UI" }
|
|
115
|
+
display: { size: 48, weight: 500, lineHeight: 1.17, tracking: -1.2, use: "Observed home and Microsoft 365 public-marketing headings" }
|
|
116
|
+
section: { size: 32, weight: 500, lineHeight: 1.25, tracking: -0.8, use: "Observed marketing section headings" }
|
|
117
|
+
card-title: { size: 20, weight: 600, lineHeight: 1.4, tracking: -0.5, use: "Observed home card headings" }
|
|
118
|
+
body: { size: 16, weight: 400, lineHeight: 1.5, tracking: -0.48, use: "Observed marketing body copy" }
|
|
119
|
+
cta: { size: 15, weight: 600, lineHeight: 1.47, tracking: -0.3, use: "Observed marketing action labels" }
|
|
120
|
+
nav: { size: 13, weight: 400, use: "Observed home global navigation" }
|
|
121
|
+
spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, xxl: 48 }
|
|
122
|
+
rounded: { sm: 2, md: 4, lg: 8, xl: 24, pill: 200 }
|
|
55
123
|
components:
|
|
56
|
-
|
|
57
|
-
button-secondary: { type: button, bg: "#b3daf0", fg: "#0e1726", radius: "8px", padding: "12px 17px", height: "48px", font: "15px / 600 Segoe UI", use: "Hero secondary CTA on photography" }
|
|
58
|
-
button-outline: { type: button, fg: "#f4fafd", border: "2px solid #b3daf0", radius: "8px", padding: "7px 12px", height: "40px", font: "15px / 600 Segoe UI", use: "Ghost action on dark/photo surfaces (No thanks)" }
|
|
59
|
-
chip-suggestion: { type: badge, bg: "#e6effd", fg: "#2a446f", border: "1px solid #2a446f", radius: "16px", height: "32px", padding: "4px 12px", font: "15px / 400 Segoe UI", use: "AI/search suggestion pill chips" }
|
|
60
|
-
card-product: { type: card, bg: "#fefefe", radius: "16px", use: "Product/feature card, near-white on white canvas" }
|
|
61
|
-
nav-link: { type: tab, fg: "#262626", font: "13px / 400 Segoe UI", active: "text #0067b8 underline on hover/active", use: "Global header navigation" }
|
|
62
|
-
components_harvested: true
|
|
124
|
+
m365-tab-active: { type: tab, bg: "#06161f", fg: "#ffffff", radius: "200px", padding: "8px 24px", height: "40px", font: "16px / 600 Segoe UI Variable Text", active: true, use: "Observed active Microsoft 365 pill tab" }
|
|
63
125
|
---
|
|
64
126
|
|
|
65
127
|
# Design System Inspiration of Microsoft
|
|
66
128
|
|
|
67
129
|
## 1. Visual Theme & Atmosphere
|
|
68
130
|
|
|
69
|
-
Microsoft
|
|
131
|
+
Microsoft makes public experiences for people, teams, and organizations across consumer software, cloud services, devices, and developer tools. Its current public marketing uses generous white space, product imagery, blue calls to action, and a familiar Segoe typographic voice to make that breadth feel coherent rather than experimental. The July 2026 capture distinguishes two public marketing surfaces—Microsoft home and Microsoft 365—from Fluent 2 documentation chrome: the first two load the Microsoft-hosted Segoe variable webfonts and use Communication Blue (`#0078d4`) for home actions, while the documentation site is evidence for the Fluent design system rather than a proxy for every Microsoft product UI. Microsoft’s official mission is to empower every person and every organization on the planet to achieve more; its visual system supports that broad, practical framing with clear hierarchy and deliberately familiar controls.
|
|
70
132
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
The geometry is Fluent 2's soft-rectangle language. Buttons take an 8px radius, cards and suggestion chips 16px, larger media containers 24px — a clean doubling scale that matches Fluent's documented `borderRadiusXLarge`/`borderRadius3XLarge`/`borderRadius4XLarge` tokens. Depth is shallow and pragmatic: CTAs carry a barely-there layered `rgba(0,0,0,0.12)` shadow and product cards a soft two-layer lift; most separation comes from the photography itself and from quiet tinted bands of ice blue (`#dceef8`). It is a system engineered for trust at planetary scale — nothing experimental, everything familiar, "unmistakably Microsoft."
|
|
133
|
+
On the captured marketing surfaces, headings use a display instance of Segoe, text uses the Text instance, and the global header/footer retain Segoe UI. Home combines dark blue-black headings (`#0e1726`), body copy (`#17253d`), white canvas (`#ffffff`), and 8px blue action controls. Microsoft 365 introduces its own observed dark action treatment (`#091f2c`) and 200px active pill tabs. These are public-web observations, not a claim that any authenticated product, Windows app, or documentation surface uses the same values.
|
|
74
134
|
|
|
75
135
|
**Key Characteristics:**
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
- Light-blue secondary system (`#b3daf0` fills, 2px outlines) for paired CTAs on imagery
|
|
83
|
-
- Legacy blue `#0067b8` still alive on nav links and hero chip buttons — two blues coexisting
|
|
136
|
+
- A white (`#ffffff`) public-marketing canvas with near-white (`#fefefe`) cards and a quiet footer (`#f2f2f2`)
|
|
137
|
+
- Home primary CTAs in Communication Blue (`#0078d4`) with 8px corners
|
|
138
|
+
- Microsoft 365 marketing CTAs in dark navy (`#091f2c`) with the same 8px corner treatment
|
|
139
|
+
- Segoe UI Variable Text for body/actions and Segoe UI Variable Display for observed large headings
|
|
140
|
+
- Segoe UI in global navigation/footer chrome, with `#262626` navigation and `#616161` footer links
|
|
141
|
+
- Fluent 2 is a separate official system domain; its component guidance is not used to fill missing marketing variants
|
|
84
142
|
|
|
85
143
|
## 2. Color Palette & Roles
|
|
86
144
|
|
|
87
|
-
###
|
|
88
|
-
- **Communication Blue** (`#0078d4`):
|
|
89
|
-
- **
|
|
90
|
-
- **
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
- **
|
|
94
|
-
- **
|
|
95
|
-
- **
|
|
96
|
-
- **
|
|
97
|
-
- **
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
- **Nav Graphite** (`#262626`): Global header nav links at 13px.
|
|
103
|
-
- **Muted Gray** (`#616161`): Footer links and secondary metadata.
|
|
104
|
-
- **On-Dark White** (`#f4fafd`): Text color on photographic/dark hero panels — a faintly blue-tinted white rather than pure white.
|
|
105
|
-
|
|
106
|
-
### Surfaces
|
|
107
|
-
- **Canvas White** (`#ffffff`): Page background, button text on blue.
|
|
108
|
-
- **Card White** (`#fefefe`): Near-white product card surface — the most frequent non-transparent background on the homepage.
|
|
109
|
-
- **Footer Gray** (`#f2f2f2`): Footer and utility band background, with `#616161` link text.
|
|
145
|
+
### Observed public marketing
|
|
146
|
+
- **Communication Blue** (`#0078d4`): home primary CTA background.
|
|
147
|
+
- **Dark Microsoft 365 action** (`#091f2c`): observed Microsoft 365 CTA background.
|
|
148
|
+
- **Active pill dark** (`#06161f`): observed active Microsoft 365 pill-tab background.
|
|
149
|
+
- **Heading ink** (`#0e1726`): observed home and Microsoft 365 headings.
|
|
150
|
+
- **Body ink** (`#17253d`): observed marketing body text.
|
|
151
|
+
- **Navigation ink** (`#262626`): observed global-header text.
|
|
152
|
+
- **Link blue** (`#0067b8`): observed text-link treatment.
|
|
153
|
+
- **Muted gray** (`#616161`): observed footer text.
|
|
154
|
+
- **Canvas white** (`#ffffff`): observed marketing and action foreground.
|
|
155
|
+
- **Card white** (`#fefefe`): observed Microsoft 365 card/background treatment.
|
|
156
|
+
- **Footer gray** (`#f2f2f2`): observed global-footer surface.
|
|
157
|
+
|
|
158
|
+
### Fluent 2 boundary
|
|
159
|
+
Fluent’s official color guidance describes global values and semantic alias tokens, including theme-aware state values. Those design-system values are useful for Fluent implementations, but they are not assigned to the marketing token set above unless they occur in the supplied marketing capture.
|
|
110
160
|
|
|
111
161
|
## 3. Typography Rules
|
|
112
162
|
|
|
113
|
-
###
|
|
114
|
-
- **Live
|
|
115
|
-
- **
|
|
116
|
-
- **
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
|
124
|
-
|
|
125
|
-
|
|
|
126
|
-
|
|
|
127
|
-
|
|
|
128
|
-
|
|
|
129
|
-
|
|
|
130
|
-
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|---|---|---|
|
|
136
|
-
| Caption 1 | 12px / 16px | Regular |
|
|
137
|
-
| Body 1 | 14px / 20px | Regular |
|
|
138
|
-
| Subtitle 2 | 16px / 22px | Semibold |
|
|
139
|
-
| Subtitle 1 | 20px / 26px | Semibold |
|
|
140
|
-
| Title 3 | 24px / 32px | Semibold |
|
|
141
|
-
| Title 1 | 32px / 40px | Semibold |
|
|
142
|
-
| Large Title | 40px / 52px | Semibold |
|
|
143
|
-
| Display | 68px / 92px | Semibold |
|
|
144
|
-
|
|
145
|
-
### Principles
|
|
146
|
-
- **Medium-weight heroes**: 48px at weight 500 — Microsoft reserves 600 for smaller heads and rarely uses 700 outside the store H1. Authority through evenness, not weight.
|
|
147
|
-
- **One tracking value**: `-0.48px` is applied globally rather than scaled per size — an unusually uniform choice that flattens the typographic texture.
|
|
148
|
-
- **Semibold is the system bold**: Per the Fluent ramp, emphasis is Semibold (600) everywhere; true Bold appears only in legacy store chrome.
|
|
149
|
-
- **Two-font reality**: marketing runs Segoe UI Variable Text; Fluent product UI runs Segoe UI/Segoe UI Variable per platform. Same family, one voice.
|
|
163
|
+
### Evidence classes
|
|
164
|
+
- **Live computed and loaded:** `Segoe UI Variable Text` is high-confidence loaded (797 visible uses) in body, buttons, cards, dialogs, menus, tabs, and text. Its Microsoft-hosted WOFF2/TTF sources were recorded by the collector.
|
|
165
|
+
- **Live computed and loaded:** `SegoeUI` is high-confidence loaded (242 visible uses) in navigation, footer, inputs, and other public-web chrome, with Microsoft-hosted Segoe UI sources recorded.
|
|
166
|
+
- **Live computed and loaded:** `Segoe UI Variable Display` is high-confidence loaded (58 visible uses) for captured headings. `Segoe UI Variable Small` is loaded but has only two captured text uses, so it is not a general UI-family token.
|
|
167
|
+
- **Official product-use / design-system context:** Fluent identifies Segoe UI as its primary typeface and uses Segoe UI Variable in its Windows type ramp; it also defaults to native platform fonts where appropriate. This is design-system guidance, not evidence that every Microsoft product or platform uses the web stack.
|
|
168
|
+
- **Official distributed asset and licence boundary:** Microsoft’s font FAQ says Windows fonts cannot be self-hosted from a Windows installation; Segoe UI may be licensed through Monotype, while Segoe UI Variable is not available for licensing or use outside Microsoft products or non-Windows platforms. Captured Microsoft-hosted files therefore establish use on the observed pages, not reusable project assets.
|
|
169
|
+
- **Declared-only:** `Cascadia Code` is declared by the Fluent documentation site with zero visible captured use. `FabricMDL2Icons`, `MWF-FLUENT-ICONS`, `Leelawadee UI Web`, localized Segoe Web faces, and `SegoeUI Fallback` also have zero visible captured use. They are not typography-family tokens.
|
|
170
|
+
|
|
171
|
+
### Observed hierarchy
|
|
172
|
+
|
|
173
|
+
| Role | Family | Size / line-height | Weight | Tracking | Surface |
|
|
174
|
+
|---|---|---|---|---|---|
|
|
175
|
+
| Marketing display | Segoe UI Variable Text / Display | 48px / 56px | 500 | -1.2px | home and Microsoft 365 |
|
|
176
|
+
| Marketing section | Segoe UI Variable Display | 32px / 40px | 500 | -0.8px | home and Microsoft 365 |
|
|
177
|
+
| Card title | Segoe UI Variable Display | 20px / 28px | 600 | -0.5px | home |
|
|
178
|
+
| Body | Segoe UI Variable Text | 16px / 24px | 400 | -0.48px | marketing |
|
|
179
|
+
| CTA | Segoe UI Variable Text | 15px / 22px | 600 | -0.3px | marketing |
|
|
180
|
+
| Global nav | Segoe UI | 13px / normal | 400 | normal | home chrome |
|
|
181
|
+
| Footer link | Segoe UI | 11px / 16px | 400 | -0.48px | home chrome |
|
|
182
|
+
|
|
183
|
+
### Fluent typography context
|
|
184
|
+
Fluent’s web ramp starts at 10px/14px captions and documents a 68px/92px display role, with Segoe UI as the default web face. Treat that as official Fluent system guidance, separate from the values captured above.
|
|
150
185
|
|
|
151
186
|
## 4. Component Stylings
|
|
152
187
|
|
|
153
|
-
|
|
188
|
+
All values below retain their public-surface and selector provenance. State rows are only included where the collector recorded an active selection; no hover, disabled, validation, or menu variant is inferred from a class name or general Fluent guidance.
|
|
189
|
+
|
|
190
|
+
### Home marketing actions
|
|
154
191
|
|
|
155
|
-
**
|
|
192
|
+
**Standard CTA — home · `[data-omd-capture="17"]`–`"25"`**
|
|
156
193
|
- Background: `#0078d4`
|
|
157
194
|
- Text: `#ffffff`
|
|
158
195
|
- Radius: 8px
|
|
159
196
|
- Padding: 8px 16px
|
|
160
197
|
- Height: 40px
|
|
161
198
|
- Font: 15px / 600 / Segoe UI Variable Text
|
|
162
|
-
-
|
|
163
|
-
- Use: Every primary CTA — "Shop now", "Learn more", "Get started with Azure", "Download Visual Studio"
|
|
199
|
+
- Use: Home marketing card action; `home` surface.
|
|
164
200
|
|
|
165
|
-
**Hero
|
|
201
|
+
**Hero CTA — home · `[data-omd-capture="14"]` / `"16"`**
|
|
166
202
|
- Background: `#0078d4`
|
|
167
203
|
- Text: `#ffffff`
|
|
168
204
|
- Radius: 8px
|
|
169
205
|
- Padding: 12px 17px
|
|
170
206
|
- Height: 48px
|
|
171
207
|
- Font: 15px / 600 / Segoe UI Variable Text
|
|
172
|
-
- Use:
|
|
208
|
+
- Use: Home hero action; `home` surface.
|
|
173
209
|
|
|
174
|
-
|
|
175
|
-
- Background: `#b3daf0`
|
|
176
|
-
- Text: `#0e1726`
|
|
177
|
-
- Radius: 8px
|
|
178
|
-
- Padding: 12px 17px
|
|
179
|
-
- Height: 48px
|
|
180
|
-
- Font: 15px / 600 / Segoe UI Variable Text
|
|
181
|
-
- Use: Paired secondary CTA on hero photography ("Shop now" beside primary, "Chat now")
|
|
210
|
+
### Microsoft 365 marketing
|
|
182
211
|
|
|
183
|
-
**
|
|
184
|
-
- Background:
|
|
185
|
-
- Text: `#
|
|
186
|
-
- Border: 2px solid `#b3daf0`
|
|
212
|
+
**Dark CTA — Microsoft 365 · `[data-omd-interaction-capture="tab-2-10"]`**
|
|
213
|
+
- Background: `#091f2c`
|
|
214
|
+
- Text: `#ffffff`
|
|
187
215
|
- Radius: 8px
|
|
188
|
-
- Padding:
|
|
189
|
-
- Height:
|
|
216
|
+
- Padding: 12px 16px
|
|
217
|
+
- Height: 52px
|
|
190
218
|
- Font: 15px / 600 / Segoe UI Variable Text
|
|
191
|
-
-
|
|
219
|
+
- Border: 2px solid transparent
|
|
220
|
+
- Use: Captured Microsoft 365 marketing action; `surface-3`.
|
|
192
221
|
|
|
193
|
-
**
|
|
194
|
-
- Background: `#
|
|
222
|
+
**Compact dark CTA — Microsoft 365 · `[data-omd-interaction-capture="tab-2-25"]`**
|
|
223
|
+
- Background: `#091f2c`
|
|
195
224
|
- Text: `#ffffff`
|
|
196
|
-
-
|
|
197
|
-
- Radius: 16px
|
|
225
|
+
- Radius: 8px
|
|
198
226
|
- Padding: 4px 12px
|
|
199
|
-
- Height:
|
|
200
|
-
- Font: 15px /
|
|
201
|
-
-
|
|
202
|
-
|
|
203
|
-
### Badges & Chips
|
|
227
|
+
- Height: 36px
|
|
228
|
+
- Font: 15px / 600 / Segoe UI Variable Text
|
|
229
|
+
- Border: 2px solid transparent
|
|
230
|
+
- Use: Captured compact Microsoft 365 marketing action; `surface-3`.
|
|
204
231
|
|
|
205
|
-
**
|
|
206
|
-
-
|
|
207
|
-
-
|
|
208
|
-
-
|
|
209
|
-
- Radius: 16px
|
|
232
|
+
**Outline CTA — Microsoft 365 · `[data-omd-interaction-capture="tab-2-53"]`**
|
|
233
|
+
- Text: `#051118`
|
|
234
|
+
- Border: 2px solid `#091f2c`
|
|
235
|
+
- Radius: 8px
|
|
210
236
|
- Padding: 4px 12px
|
|
211
|
-
- Height:
|
|
212
|
-
- Font: 15px /
|
|
213
|
-
- Use:
|
|
214
|
-
|
|
215
|
-
### Cards & Containers
|
|
216
|
-
|
|
217
|
-
**Product Card**
|
|
218
|
-
- Background: `#fefefe`
|
|
219
|
-
- Radius: 16px
|
|
220
|
-
- Shadow: `rgba(0,0,0,0.13) 0px 3px 7px 0px, rgba(0,0,0,0.11) 0px 1px 2px 0px`
|
|
221
|
-
- Use: Product/feature cards — 20px/600 title, 16px/400 body, blue CTA bottom-left
|
|
222
|
-
|
|
223
|
-
**Media Container**
|
|
224
|
-
- Radius: 24px
|
|
225
|
-
- Use: Large hero/photography containers and immersive panels
|
|
226
|
-
|
|
227
|
-
### Inputs
|
|
237
|
+
- Height: 36px
|
|
238
|
+
- Font: 15px / 600 / Segoe UI Variable Text
|
|
239
|
+
- Use: Captured compact secondary action; `surface-3`.
|
|
228
240
|
|
|
229
|
-
**
|
|
230
|
-
- Background:
|
|
231
|
-
- Text: `#
|
|
232
|
-
-
|
|
233
|
-
-
|
|
241
|
+
**Active pill tab — Microsoft 365 · `[data-omd-interaction-capture="tab-2-0"]`**
|
|
242
|
+
- Background: `#06161f`
|
|
243
|
+
- Text: `#ffffff`
|
|
244
|
+
- Border: 0px solid transparent
|
|
245
|
+
- Radius: 200px
|
|
246
|
+
- Padding: 8px 24px
|
|
247
|
+
- Height: 40px
|
|
248
|
+
- Font: 16px / 600 / Segoe UI Variable Text
|
|
249
|
+
- Use: Active tab value captured after the collector’s tab interaction; `surface-3`. No inactive-state rule is asserted.
|
|
234
250
|
|
|
235
|
-
###
|
|
251
|
+
### Global chrome
|
|
236
252
|
|
|
237
|
-
**
|
|
253
|
+
**Header link — home · `.uhf-nav-item.uhf-nav-link`**
|
|
238
254
|
- Text: `#262626`
|
|
239
|
-
-
|
|
255
|
+
- Radius: 0px
|
|
240
256
|
- Padding: 0px 8px
|
|
241
|
-
- Height: 54px
|
|
242
|
-
-
|
|
243
|
-
- Use:
|
|
244
|
-
|
|
245
|
-
### Footer
|
|
257
|
+
- Height: 54px
|
|
258
|
+
- Font: 13px / 400 / Segoe UI
|
|
259
|
+
- Use: Home global-navigation link; `home` surface.
|
|
246
260
|
|
|
247
|
-
**Footer
|
|
248
|
-
- Background: `#f2f2f2` band
|
|
261
|
+
**Footer link — home · `.uhf-footer-link`**
|
|
249
262
|
- Text: `#616161`
|
|
250
|
-
-
|
|
251
|
-
-
|
|
263
|
+
- Radius: 0px
|
|
264
|
+
- Font: 11px / 400 / Segoe UI
|
|
265
|
+
- Use: Home global-footer link; `home` surface.
|
|
252
266
|
|
|
253
267
|
---
|
|
254
|
-
**Verified:** 2026-
|
|
255
|
-
**Tier 1 sources:** https://www.microsoft.com/
|
|
256
|
-
**Tier 2 sources:** getdesign.md/microsoft
|
|
257
|
-
**Conflicts unresolved:** none
|
|
268
|
+
**Verified:** 2026-07-13
|
|
269
|
+
**Tier 1 sources:** supplied collector evidence for https://www.microsoft.com/ko-kr and https://www.microsoft.com/en-us/microsoft-365; https://fluent2.microsoft.design/typography; https://fluent2.microsoft.design/shapes; https://fluent2.microsoft.design/design-tokens; https://learn.microsoft.com/en-us/typography/font-list/segoe-ui; https://learn.microsoft.com/en-us/typography/fonts/font-faq; https://www.microsoft.com/en-us/about
|
|
270
|
+
**Tier 2 sources:** https://getdesign.md/microsoft (attempted; safe-open error and no search record); https://styles.refero.design/?q=microsoft (attempted; safe-open error); https://styles.refero.design/style/5f39e778-d204-42a9-8b8b-a1519dbd3971; https://styles.refero.design/style/c70a9990-bc4b-4a64-a69b-aeb7b344fb74
|
|
271
|
+
**Conflicts unresolved:** none
|
|
258
272
|
|
|
259
273
|
## 5. Layout Principles
|
|
260
274
|
|
|
261
|
-
|
|
262
|
-
-
|
|
263
|
-
-
|
|
264
|
-
- CTA padding lands on 8px 16px (standard) and 12px 17px (hero) — the 17px is a measured live quirk of the hero size
|
|
265
|
-
|
|
266
|
-
### Grid & Container
|
|
267
|
-
- Full-bleed hero banners with photography; content constrained to a centered max-width (~1200px on legacy store chrome, wider on the current home)
|
|
268
|
-
- Product cards in 3–4 column responsive grids, each card self-contained: image, 20px/600 title, 16px body, blue CTA
|
|
269
|
-
- Alternating full-width bands: white canvas → photographic panel → ice-blue `#dceef8` tinted band
|
|
270
|
-
- Global header is a slim 54px utility bar; commerce ("cart") and identity ("ME" avatar) live on the right
|
|
271
|
-
|
|
272
|
-
### Whitespace Philosophy
|
|
273
|
-
- **Photography carries the weight**: layout chrome is minimal so lifestyle imagery can sell; whitespace frames photos rather than replacing them.
|
|
274
|
-
- **Card-internal density**: cards are compact and information-complete; the grid gap, not card padding, provides air.
|
|
275
|
-
- **Band rhythm**: the page scrolls as a sequence of self-contained promotional bands — each one hero-image + headline + CTA — rather than one continuous narrative.
|
|
276
|
-
|
|
277
|
-
### Border Radius Scale
|
|
278
|
-
- Small (4px): minor UI elements
|
|
279
|
-
- Standard (8px): all buttons — the workhorse
|
|
280
|
-
- Large (16px): cards, suggestion chips, prompt chips
|
|
281
|
-
- XLarge (24px): media containers, immersive panels
|
|
282
|
-
- Circular: avatar button (50%), pill elements
|
|
283
|
-
- Matches Fluent 2's documented scale (`borderRadiusMedium` 4px → `borderRadiusXLarge` 8px → `borderRadius3XLarge` 16px → `borderRadius4XLarge` 24px → `borderRadiusCircular`)
|
|
275
|
+
- Home marketing uses large image-led bands and 40px or 48px actions; Microsoft 365 has its own dense product-marketing modules.
|
|
276
|
+
- The supplied capture records a public-web spacing cluster of 4px, 8px, 12px, 16px, 24px, 32px, and 48px. It does not establish a universal layout scale for authenticated apps.
|
|
277
|
+
- Do not use Fluent documentation geometry to fill gaps in the two captured marketing surfaces.
|
|
284
278
|
|
|
285
279
|
## 6. Depth & Elevation
|
|
286
280
|
|
|
287
|
-
|
|
288
|
-
|-------|-----------|-----|
|
|
289
|
-
| Flat (Level 0) | No shadow | Page background, nav, text, tinted bands |
|
|
290
|
-
| CTA (Level 1) | layered `rgba(0,0,0,0.12)` | Primary/secondary buttons — barely perceptible lift |
|
|
291
|
-
| Card (Level 2) | `rgba(0,0,0,0.13) 0px 3px 7px 0px, rgba(0,0,0,0.11) 0px 1px 2px 0px` | Product cards |
|
|
292
|
-
| Photographic | Imagery contrast | Hero panels create depth through photo lighting, not shadow |
|
|
293
|
-
|
|
294
|
-
**Shadow Philosophy**: Microsoft's marketing surface uses shadow as punctuation, not architecture. The two-layer card shadow (a Fluent signature: one tight 1px-offset layer + one diffuse 3px layer) is the deepest elevation on the page; everything else is flat or relies on the photography itself for spatial depth. Fluent 2's elevation guidance reserves stronger shadows for product UI layers (dialogs, flyouts) — on the consumer web they are intentionally quiet so the hardware photography stays the hero. Tinted bands (`#dceef8`) and the near-white card surface (`#fefefe` on `#ffffff`) do most of the separation work at almost zero contrast cost.
|
|
281
|
+
The current bundle records mostly flat public-marketing actions and containers. It does not provide a stable, cross-surface shadow recipe for Microsoft marketing, so no shadow token is exported. Fluent elevation guidance belongs to the Fluent design-system domain and must be consulted there for a Fluent product implementation.
|
|
295
282
|
|
|
296
283
|
## 7. Do's and Don'ts
|
|
297
284
|
|
|
298
285
|
### Do
|
|
299
|
-
-
|
|
300
|
-
-
|
|
301
|
-
-
|
|
302
|
-
- Use
|
|
303
|
-
- Follow the radius doubling: 8px buttons, 16px cards/chips, 24px media containers
|
|
304
|
-
- Pair a powder-blue secondary (`#b3daf0`, ink text) with the primary on photographic heroes
|
|
305
|
-
- Keep card shadows to the quiet two-layer Fluent recipe
|
|
306
|
-
- Let photography carry the page; keep UI chrome white and recessive
|
|
286
|
+
- Scope `#0078d4` 8px CTAs to the captured home-marketing surface.
|
|
287
|
+
- Use the loaded Segoe family evidence only for the observed public-web roles.
|
|
288
|
+
- Preserve the 13px Segoe UI global chrome and 11px footer treatment when reproducing that chrome.
|
|
289
|
+
- Use Fluent’s official semantic tokens when building a Fluent product rather than copying public-marketing values.
|
|
307
290
|
|
|
308
291
|
### Don't
|
|
309
|
-
-
|
|
310
|
-
-
|
|
311
|
-
-
|
|
312
|
-
-
|
|
313
|
-
- Stack heavy drop shadows — elevation stays at the two quiet levels
|
|
314
|
-
- Use pure white text on photos — on-dark text is the blue-tinted `#f4fafd`
|
|
315
|
-
- Track headlines tighter or looser per size — the system uses one global tracking value
|
|
316
|
-
- Mix fonts — Segoe is the only typeface on every Microsoft surface
|
|
292
|
+
- Treat the home or Microsoft 365 capture as a token source for Windows, authenticated apps, or documentation chrome.
|
|
293
|
+
- Substitute a system font and label it Segoe UI Variable.
|
|
294
|
+
- Promote Cascadia Code or icon fonts from zero-use declarations into UI typography.
|
|
295
|
+
- Invent inactive, disabled, hover, error, or responsive variants not recorded by the collector.
|
|
317
296
|
|
|
318
297
|
## 8. Responsive Behavior
|
|
319
298
|
|
|
320
|
-
|
|
321
|
-
| Name | Width | Key Changes |
|
|
322
|
-
|------|-------|-------------|
|
|
323
|
-
| Mobile | <640px | Single column, hero photography crops vertically, cards stack |
|
|
324
|
-
| Tablet | 640-1024px | 2-column card grids, condensed nav |
|
|
325
|
-
| Desktop | 1024-1440px | 3–4 column grids, full hero banners |
|
|
326
|
-
| Wide | >1440px | Content max-width centers, photography extends full-bleed |
|
|
327
|
-
|
|
328
|
-
### Touch Targets
|
|
329
|
-
- Primary CTAs at 40–48px height — comfortably tappable
|
|
330
|
-
- Suggestion chips at 32px height with 12px horizontal padding
|
|
331
|
-
- Global nav row at 54px with 8px-padded link targets
|
|
332
|
-
- Fluent 2 accessibility baseline: 4.5:1 contrast for standard text, 3:1 for large text
|
|
333
|
-
|
|
334
|
-
### Collapsing Strategy
|
|
335
|
-
- Hero: 48px/500 headline scales down, photography re-crops, CTAs stack vertically full-width
|
|
336
|
-
- Global nav: full link row → "All Microsoft" hamburger menu
|
|
337
|
-
- Card grids: 4 → 2 → 1 column, card recipe unchanged
|
|
338
|
-
- Tinted bands and footer maintain full-width treatment
|
|
339
|
-
|
|
340
|
-
### Image Behavior
|
|
341
|
-
- Lifestyle photography is the primary layout material at every breakpoint
|
|
342
|
-
- Media containers keep 24px radius on desktop, may go edge-to-edge (0px) on mobile
|
|
343
|
-
- Product renders sit on near-white `#fefefe` cards with consistent 16px radius
|
|
299
|
+
The supplied evidence is desktop-only (1440×900). It demonstrates 40px, 48px, and 52px public-marketing actions, but it does not establish mobile breakpoints, navigation collapse behavior, or touch-target rules. Follow the relevant Fluent platform guidance when implementing a responsive product surface.
|
|
344
300
|
|
|
345
301
|
## 9. Agent Prompt Guide
|
|
346
302
|
|
|
347
303
|
### Quick Color Reference
|
|
348
|
-
-
|
|
349
|
-
-
|
|
350
|
-
-
|
|
351
|
-
-
|
|
352
|
-
-
|
|
353
|
-
- Tinted band: Ice (`#dceef8`)
|
|
354
|
-
- Heading text: `#0e1726`
|
|
355
|
-
- Body text: `#17253d`
|
|
356
|
-
- Nav text: `#262626`, muted `#616161`
|
|
357
|
-
- On-photo text: `#f4fafd`
|
|
358
|
-
- Chips: `#e6effd` bg / `#2a446f` text+border
|
|
304
|
+
- Home primary CTA: `#0078d4` on `#ffffff`, 8px radius
|
|
305
|
+
- Microsoft 365 captured dark CTA: `#091f2c` on `#ffffff`, 8px radius
|
|
306
|
+
- Microsoft 365 captured active pill: `#06161f` on `#ffffff`, 200px radius
|
|
307
|
+
- Marketing heading/body: `#0e1726` / `#17253d`
|
|
308
|
+
- Global chrome/footer: `#262626` / `#616161` on `#ffffff` / `#f2f2f2`
|
|
359
309
|
|
|
360
310
|
### Example Component Prompts
|
|
361
|
-
- "
|
|
362
|
-
- "
|
|
363
|
-
- "
|
|
364
|
-
- "Create a global header: white 54px bar. Links 13px Segoe UI 400, #262626, 8px horizontal padding, underline + #0067b8 on hover. Right side: cart icon, circular avatar button (50% radius, 1px #262626 border)."
|
|
365
|
-
- "Design a footer: #f2f2f2 background, link columns at 11px Segoe UI 400, #616161 text."
|
|
366
|
-
|
|
367
|
-
### Iteration Guide
|
|
368
|
-
1. Blue `#0078d4` is the only imperative color — every "do this" is that blue at 8px radius
|
|
369
|
-
2. Segoe UI everywhere; weights cap at 600 for emphasis, heroes at 500
|
|
370
|
-
3. Apply `-0.48px` tracking globally — it's the system's quiet signature
|
|
371
|
-
4. Radius doubles: 8 → 16 → 24
|
|
372
|
-
5. Neutrals are blue-cast (`#0e1726`, `#17253d`), never pure black
|
|
373
|
-
6. Shadows stay at the two quiet Fluent levels
|
|
374
|
-
7. When pairing CTAs on photos: primary blue + powder-blue secondary, or powder fill + 2px powder outline ghost
|
|
375
|
-
8. For product-UI (not marketing) fidelity, anchor on Fluent brand `#0f6cbd` and the Fluent type ramp instead
|
|
376
|
-
|
|
377
|
-
---
|
|
311
|
+
- "Reproduce the observed Microsoft home CTA: #0078d4 background, white text, 8px radius, 8px 16px padding, 40px high, 15px/600 Segoe UI Variable Text."
|
|
312
|
+
- "Reproduce the observed Microsoft 365 active pill tab: #06161f background, white text, 200px radius, 8px 24px padding, 40px high, 16px/600 Segoe UI Variable Text."
|
|
313
|
+
- "Use Fluent 2 documentation for product-system values; do not infer missing Fluent variants from the Microsoft home page."
|
|
378
314
|
|
|
379
315
|
## 10. Voice & Tone
|
|
380
316
|
|
|
381
|
-
Microsoft
|
|
317
|
+
Microsoft’s official corporate voice is empowering, inclusive, and practical. Its About page frames the mission as helping every person and organization achieve more, while the public Copilot copy uses companion language rather than technical showmanship. Use concise benefit-led labels and sentence case; this is a narrative and content boundary, not an observed rule for every product team.
|
|
382
318
|
|
|
383
|
-
| Context |
|
|
319
|
+
| Context | Direction |
|
|
384
320
|
|---|---|
|
|
385
|
-
|
|
|
386
|
-
| Product
|
|
387
|
-
|
|
|
388
|
-
|
|
|
389
|
-
| CTAs | Two-word imperatives. "Shop now", "Learn more", "Join now". |
|
|
390
|
-
| AI/Copilot copy | Companion framing — "your everyday AI companion" — helpful, never autonomous-sounding. |
|
|
391
|
-
| Legal/footer | Quiet, complete, 11px — present but unobtrusive. |
|
|
392
|
-
|
|
393
|
-
**Voice samples (verbatim from live surfaces):**
|
|
394
|
-
- "Get the ultimate college bundle" — homepage hero H1. *(verified live 2026-06-11)*
|
|
395
|
-
- "Sleek. Light. Fast." — Surface Laptop card H2. *(verified live 2026-06-11)*
|
|
396
|
-
- "Hi there. How can we help?" — support panel H2. *(verified live 2026-06-11)*
|
|
397
|
-
- "Your productivity, supercharged" — Microsoft 365 card H2. *(verified live 2026-06-11)*
|
|
398
|
-
|
|
399
|
-
**Forbidden register**: jargon-first enterprise speak on consumer surfaces, exclamation-mark urgency, superlative stacking ("revolutionary", "game-changing"), and any voice that talks down to non-technical users.
|
|
321
|
+
| Mission framing | Empower the person or organization using the product. |
|
|
322
|
+
| Product copy | Describe the task or outcome plainly. |
|
|
323
|
+
| AI framing | Use assistive/companion language grounded in the product’s capability. |
|
|
324
|
+
| UI labels | Use sentence case, per Fluent typography guidance. |
|
|
400
325
|
|
|
401
|
-
|
|
326
|
+
**Source-grounded samples:**
|
|
327
|
+
- "We empower the world" — Microsoft About.
|
|
328
|
+
- "Your everyday AI companion" — Microsoft About’s Copilot section.
|
|
329
|
+
- "What will you do with Copilot?" — Microsoft About’s Copilot section.
|
|
402
330
|
|
|
403
|
-
|
|
331
|
+
## 11. Brand Narrative
|
|
404
332
|
|
|
405
|
-
|
|
333
|
+
Microsoft describes its mission as empowering every person and every organization on the planet to achieve more. Its current About material connects that mission to expanding opportunity, earning trust, protecting fundamental rights, and advancing sustainability. That purpose provides useful narrative context for a broad product family, but it is not itself a visual-token source.
|
|
406
334
|
|
|
407
|
-
|
|
335
|
+
Fluent 2 supplies the cross-platform design-system context: official documentation describes global and alias tokens for color, type, spacing, elevation, and theming. The public marketing capture and Fluent documentation are therefore complementary—not interchangeable—evidence domains.
|
|
408
336
|
|
|
409
337
|
## 12. Principles
|
|
410
338
|
|
|
411
|
-
1. **
|
|
412
|
-
2. **
|
|
413
|
-
3. **
|
|
414
|
-
4. **
|
|
415
|
-
5. **Empowerment over impressiveness.** The mission is "achieve more" — the user achieves, not the brand. *UI implication:* copy leads with the user's outcome; design recedes behind photography of people doing things; the system never showboats.
|
|
339
|
+
1. **Empower people and organizations.** Microsoft’s stated mission centers the user’s outcome. *UI implication:* state the user’s task and next action plainly.
|
|
340
|
+
2. **Earn trust.** Microsoft names a safe, secure, and responsible digital world as an enduring commitment. *UI implication:* make consequential states and explanations clear rather than decorative.
|
|
341
|
+
3. **Respect platform context.** Fluent uses native platform defaults where appropriate. *UI implication:* use the relevant platform/Fluent guidance instead of forcing marketing chrome into a product UI.
|
|
342
|
+
4. **Use semantic systems.** Fluent documents global and alias token layers. *UI implication:* choose role-based tokens in a Fluent implementation rather than hard-coding a marketing hex.
|
|
416
343
|
|
|
417
344
|
## 13. Personas
|
|
418
345
|
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
**Maya Thompson, 19, Columbus.** College freshman buying her first laptop with her own money. Lands on microsoft.com from a "college bundle" ad, compares Surface models on her phone, and trusts the clean store layout because it looks like the Windows she grew up with. Wants the price, the trade-in math, and zero pressure.
|
|
422
|
-
|
|
423
|
-
**David Park, 41, Seattle.** IT director at a 2,000-person logistics firm. Lives in Microsoft 365 admin and Azure portals all day; visits the consumer site to evaluate Surface for Business bundles. Expects the marketing surface and the product UI to feel like the same company — and notices that they do.
|
|
424
|
-
|
|
425
|
-
**Rosa Jiménez, 34, San Antonio.** Parent managing a family Microsoft 365 subscription and an Xbox-obsessed household. Values the support surface ("Hi there. How can we help?") actually helping, and the fact that one account page handles subscriptions, storage, and parental controls.
|
|
426
|
-
|
|
427
|
-
**Sam Okafor, 27, London.** Full-stack developer who downloads Visual Studio, reads Fluent 2 docs for a work project, and games on Xbox at night. Judges Microsoft by docs quality and dark-mode fidelity; appreciates that Fluent tokens are open source on GitHub.
|
|
346
|
+
Microsoft’s official mission names people and organizations globally, but this capture does not provide validated research defining product-specific personas. **[FILL IN: add personas only from approved, product-specific research.]**
|
|
428
347
|
|
|
429
348
|
## 14. States
|
|
430
349
|
|
|
431
|
-
|
|
432
|
-
|---|---|
|
|
433
|
-
| **Empty (cart, no items)** | White canvas, single ink (`#0e1726`) line stating the cart is empty, one Communication Blue CTA to start shopping. No illustration overload. |
|
|
434
|
-
| **Empty (search, no results)** | Body navy (`#17253d`) explanation plus suggestion chips (`#e6effd`) offering adjacent queries — the system always proposes a next step. |
|
|
435
|
-
| **Loading (page/band)** | Skeleton blocks at final card dimensions in footer gray (`#f2f2f2`), soft shimmer; photography placeholders hold aspect ratio to prevent layout shift. |
|
|
436
|
-
| **Loading (in-card)** | Quiet inline spinner in Communication Blue; card chrome stays in place. |
|
|
437
|
-
| **Error (form validation)** | Field-level message below the input; describes what is invalid and what valid looks like, in the same plainspoken voice — never just "Invalid input". |
|
|
438
|
-
| **Error (service/availability)** | Inline band-level message with apology + concrete retry path ("Try again" blue CTA). Fluent semantic red is reserved for true errors only. |
|
|
439
|
-
| **Success (purchase/subscription)** | Confirmation surface restates what was bought and what happens next; calm declarative sentence, order detail linked immediately. No confetti on the consumer store. |
|
|
440
|
-
| **Success (settings saved)** | Brief inline confirmation with Fluent semantic green accent; auto-dismisses without blocking. |
|
|
441
|
-
| **Skeleton** | `#f2f2f2` blocks, 16px radius matching final cards, shimmer respecting reduced-motion. |
|
|
442
|
-
| **Disabled** | Reduced-opacity fill with label and surface dimming together; blue actions fade toward powder blue (`#b3daf0`) rather than switching to gray, preserving the brand read. |
|
|
350
|
+
The collector recorded a Fluent documentation form-error interaction and Microsoft 365 dialog/tab interactions, but does not provide reusable error, success, loading, empty, disabled, or responsive state specifications. **[FILL IN: add state treatments only from the target product’s observed surface or official component guidance.]**
|
|
443
351
|
|
|
444
352
|
## 15. Motion & Easing
|
|
445
353
|
|
|
446
|
-
**
|
|
447
|
-
|
|
448
|
-
| Token | Value | Use |
|
|
449
|
-
|---|---|---|
|
|
450
|
-
| `durationUltraFast` | 50ms | State ticks, instant feedback |
|
|
451
|
-
| `durationFaster` | 100ms | Hover/press feedback |
|
|
452
|
-
| `durationFast` | 150ms | Small component transitions |
|
|
453
|
-
| `durationNormal` | 200ms | Standard transitions — flyouts, fades |
|
|
454
|
-
| `durationGentle` | 250ms | Larger component movement |
|
|
455
|
-
| `durationSlow` | 300ms | Panel/dialog entrances |
|
|
456
|
-
| `durationSlower` | 400ms | Large surface transitions |
|
|
457
|
-
| `durationUltraSlow` | 500ms | Page-level/immersive transitions |
|
|
458
|
-
|
|
459
|
-
**Easings** (official Fluent 2 curve tokens):
|
|
460
|
-
|
|
461
|
-
| Token | Curve | Use |
|
|
462
|
-
|---|---|---|
|
|
463
|
-
| `curveDecelerateMax` | `cubic-bezier(0.1,0.9,0.2,1)` | Entrances — fast start, soft landing |
|
|
464
|
-
| `curveDecelerateMid` | `cubic-bezier(0,0,0,1)` | Standard entering elements |
|
|
465
|
-
| `curveAccelerateMid` | `cubic-bezier(1,0,1,1)` | Exits/dismissals |
|
|
466
|
-
| `curveEasyEase` | `cubic-bezier(0.33,0,0.67,1)` | Two-way/utility transitions |
|
|
467
|
-
| `curveLinear` | `cubic-bezier(0,0,1,1)` | Progress indicators only |
|
|
468
|
-
|
|
469
|
-
**Motion rules**: Fluent motion is directional and physical — entering surfaces decelerate into place (strong-out curves), exiting ones accelerate away. On the consumer site, motion is nearly invisible: carousel slides, hover lifts on cards, and fade-ins at `durationNormal`; nothing bounces. Spring/overshoot curves are absent from the official token set entirely — steadiness is the brand. Under `prefers-reduced-motion: reduce`, transitions collapse to opacity-only or instant, and carousels stop auto-advancing.
|
|
470
|
-
|
|
471
|
-
<!--
|
|
472
|
-
OmD v0.1 Sources — Philosophy Layer (sections 10–15)
|
|
473
|
-
|
|
474
|
-
Tier 1 verification (2026-06-11):
|
|
475
|
-
- https://www.microsoft.com/en-us/ — live playwright getComputedStyle inspect; voice
|
|
476
|
-
samples §10 are verbatim live headings ("Get the ultimate college bundle",
|
|
477
|
-
"Sleek. Light. Fast.", "Hi there. How can we help?", "Your productivity, supercharged").
|
|
478
|
-
- https://www.microsoft.com/en-us/about — WebFetch; mission verbatim: "Microsoft's
|
|
479
|
-
mission is to empower every person and every organization on the planet to achieve
|
|
480
|
-
more." Values verbatim: Respect / Integrity / Accountability (with their one-line
|
|
481
|
-
definitions). Copilot positioning "Your everyday AI companion".
|
|
482
|
-
- https://fluent2.microsoft.design/design-principles — WebFetch; four principles
|
|
483
|
-
verbatim: "Natural on every platform", "Built for focus", "One for all, all for one",
|
|
484
|
-
"Unmistakably Microsoft" + grounding quote "rooted in our beliefs about what empowers
|
|
485
|
-
people to achieve more."
|
|
486
|
-
- https://fluent2.microsoft.design/typography — WebFetch; web type ramp table in §3.
|
|
487
|
-
- https://learn.microsoft.com/en-us/typography/font-list/segoe-ui — WebFetch; Segoe
|
|
488
|
-
provenance quotes (Steve Matteson, Windows Vista 2007 default, "friendly, readable
|
|
489
|
-
sans serif typeface for all corporate applications").
|
|
490
|
-
- https://raw.githubusercontent.com/microsoft/fluentui (packages/tokens/src/global/
|
|
491
|
-
brandColors.ts, durations.ts, curves.ts, borderRadius.ts, fonts.ts) — official token
|
|
492
|
-
values quoted in frontmatter tokens, §5 radius scale, and §15 tables.
|
|
493
|
-
|
|
494
|
-
Not independently verified this turn — widely documented public facts: founded 1975 by
|
|
495
|
-
Bill Gates and Paul Allen; "a computer on every desk and in every home" as the original
|
|
496
|
-
ambition; Satya Nadella CEO since 2014; Metro → Fluent → Fluent 2 design lineage.
|
|
497
|
-
|
|
498
|
-
Personas (§13) are fictional archetypes informed by publicly observable Microsoft
|
|
499
|
-
customer segments. Names are illustrative; they do not refer to real people.
|
|
500
|
-
|
|
501
|
-
States (§14): empty/loading/error/success treatments are editorial extrapolations from
|
|
502
|
-
the observed live system (colors, chips, voice) and Fluent 2 component conventions, not
|
|
503
|
-
verbatim Microsoft documentation.
|
|
504
|
-
|
|
505
|
-
Interpretive claims (e.g., "blue-cast neutrals read as Microsoft before the logo
|
|
506
|
-
appears", "empowerment over impressiveness") are editorial readings connecting
|
|
507
|
-
Microsoft's stated mission/principles to its observed design system.
|
|
508
|
-
-->
|
|
354
|
+
Fluent’s official design-token documentation establishes that motion can be tokenized, but the supplied capture does not provide a source-backed Microsoft-wide duration or easing table. **[FILL IN: use the relevant official Fluent platform token source when a target product and platform are known.]**
|