ghost · desktop
サイトとの一致度は52%で、基準の97%を下回っています。
通常時52%一致55件の計測値が一致
ホバー52%一致18件の計測値が一致
フォーカス54%一致18件の計測値が一致
抽出の信頼度
IKEAのグローバルホームページは、大胆でフラットなデザインシステムを採用しています。象徴的なIKEAイエロー(#ffdb00)を主要なアクション面として用い、IKEAブルー(#0058a3)をブランドロゴのアクセントカラーとして使用しています。タイポグラフィ全体は、Noto IKEAというカスタムタイプフェイス一種類で構成されており、ウェイトは400と700を使い分けています。本文の14pxからディスプレイ見出しの51pxまで、サイズ展開は細かく定義されています。立体感はシャドウではなく、色のコントラストとレイアウト構造によって表現されています。レイアウトは最大幅90remのコンテナと、デスクトップでは1.5remのグリッドギャップを使用し、インタラクティブな要素には8pxの角丸トークンを一貫して適用しています。オフホワイトの背景(#fffefb)は、濃い#111111のテキストに温かみを添え、コントラストが高く読みやすい体験を実現しています。
ghost · desktop
サイトとの一致度は52%で、基準の97%を下回っています。
通常時52%一致55件の計測値が一致
ホバー52%一致18件の計測値が一致
フォーカス54%一致18件の計測値が一致
ghost · desktop
サイトとの一致度は55%で、基準の97%を下回っています。
通常時55%一致55件の計測値が一致
ホバー55%一致18件の計測値が一致
フォーカス54%一致18件の計測値が一致
secondary · desktop
サイトとの一致度は94%で、基準の97%を下回っています。
通常時94%一致102件の計測値が一致
ホバー94%一致19件の計測値が一致
フォーカス94%一致19件の計測値が一致
desktop
サイトとの一致度は9%で、基準の96%を下回っています。
通常時9%一致262件の計測値が一致
通常時、インスタンス24%一致262件の計測値が一致
通常時、インスタンス310%一致262件の計測値が一致
通常時、インスタンス45%一致262件の計測値が一致
desktop
Listのheightは0pxですが、サイトでは54pxです; Itemのwidthは0pxですが、サイトでは87pxです、ほか10件。
通常時100%一致132件中12件の計測値が異なります
desktop
通常時100%一致292件の計測値が一致
desktop
desktop
Innerのyは30pxですが、サイトでは21pxです; Innerのheightは36pxですが、サイトでは54pxです、ほか6件。
通常時100%一致164件中8件の計測値が異なります
フォーカス未チェック
ctaのフォーカス95%一致20件の計測値が一致
logoのフォーカス100%一致18件の計測値が一致
mobile
Innerのyは16pxですが、サイトでは12pxです; Innerのheightは36pxですが、サイトでは44pxです。
通常時95%一致142件中2件の計測値が異なります
フォーカス未チェック
ctaのフォーカス88%一致20件の計測値が一致
logoのフォーカス95%一致18件の計測値が一致
desktop
Groupのheightは134pxですが、サイトでは732pxです; Innerのheightは0pxですが、サイトでは492pxです、ほか8件。
通常時100%一致147件中10件の計測値が異なります
mobile
Groupのheightは102pxですが、サイトでは657pxです; Innerのheightは0pxですが、サイトでは145pxです、ほか8件。
通常時100%一致147件中10件の計測値が異なります
desktop
レシピは作成されませんでした:ページ上で要素が見つかりませんでした。
このコンポーネントでは何も比較されていません。
IKEA
IKEA Global reads like a warm, plain-spoken magazine rather than a storefront. The page is an off-white canvas, Warm Canvas (surface, #FFFEFB), carrying full-bleed lifestyle photography of real rooms and people. A single saturated block of IKEA Yellow (primary, #FFDB00) holds the shopping call-to-action. Everything else stays near-black on cream, so the yellow is unmistakable. Headlines are short and conversational ('Welcome to the wild side!'), set heavy and tightly tracked, and they sit over photography rather than in separate text bands.
Density is low and editorial. Large image tiles in a modular two-column feed do most of the talking. Text is confined to an eyebrow line plus a bold headline anchored to the bottom-left of each tile. Chrome is minimal: a cream header with a short text nav, and a long solid-black footer with white links.
Hierarchy comes from three levers: scale (an 82px hero headline down to 13px micro text), weight (only 400 and 700 exist), and color blocking (cream page, yellow CTA panel, black footer). Shadows play no part. Depth comes from photography and from flat color fields.
Key Characteristics:
surface (#FFFEFB) canvas instead of pure white; text is ink (#111111), not pure black.primary IKEA Yellow (#FFDB00), reserved for the shopping CTA block and yellow buttons.Omani Rial falling through to Noto IKEA and Noto Sans, at two weights only: 400 and 700.rounded.md (8px), on image tiles and panels.surface-dark, #000000) footer with on-dark (#FFFFFF) links closes every page.The palette is deliberately small: warm neutrals, one loud brand yellow, and a few functional accents. Most of the page is ink on surface.
primary, #FFDB00): the signature. Use it for the shopping CTA panel and yellow buttons (button-secondary fill). Never use it for body text or large decorative washes beyond the CTA block.primary-tint, #FFF094): the hover fill of yellow buttons (button-secondary hover) and a soft secondary surface.accent-orange, #FFAE66): an occasional promotional or illustrative fill. Keep it rare.success, #1A7E3B): positive or availability actions only. It appears on an interactive element, never as a decorative fill.surface, #FFFEFB): the page background and header fill (header, header-mobile). It is softer than pure white; do not replace it with #FFFFFF for the page.surface-dark, #000000): the full-width footer background (footer, footer-mobile).ink, #111111): default text, headlines and dark button fills (button-ghost).ink-black, #000000): small utility text such as the header skip/CTA link (header-cta).ink-soft, #333333): measured only as the hover fill of the dark button (button-ghost hover). It is a state color, not page text.muted, #818181): secondary metadata and de-emphasized labels, used sparingly.on-primary, #111111): text on yellow.on-dark, #FFFFFF): text and links on the black footer and on photo captions.link, #0000EE): the browser-default link color, measured on the logo link (header-logo). It is not a designed text color; do not style visible links with it.hairline, #DADADA): thin dividers and quiet control outlines, such as the divider above the store selector in the yellow panel.These were measured on recipes rather than in page sampling:
ink-soft (#333333) is the hover fill of button-ghost.button-ghost-2.button-ghost-2.There are no brand gradients. The only gradient-like treatment is a dark scrim at the bottom of photo tiles, observed in the screenshots, that keeps white captions legible. It is an image overlay, not a palette color.
One family does everything. The computed stack is "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif. The tokens name it Omani Rial. The leading currency-named faces appear to be glyph-subset fonts, so Latin text effectively renders in Noto IKEA, IKEA's proprietary humanist sans. Headlines, body, navigation, buttons and footer all share it.
| Token | Size | Weight | Line Height | Letter Spacing | Use |
|---|---|---|---|---|---|
hero-display | 82.2857px | 700 | 1.1 | -3.55102px | Single hero headline |
display-lg | 45.7143px | 700 | 1.1 | -1.59184px | Major section headings (h2) |
display-md | 36.5714px | 700 | 1.15 | -1.10204px | Story tile headlines; the most common display size |
display-md-relaxed | 36.5714px | 700 | 1.25 | -1.10204px | Multi-line or linked tile headlines needing more air |
body-lg | 20px | 400 | 1.6 | normal | Lead text and footer navigation links (navigation-2) |
body | 16px | 400 | 1.5 | normal | Default paragraphs, links, list items |
body-strong | 16px | 700 | 1.15 | normal | Inline emphasis, short bold labels |
label-strong | 16px | 700 | 1 | normal | Single-line bold labels inside buttons (button-secondary-label-2) |
button | 16px | 400 | 1 | normal | Primary button labels (button-secondary) |
body-sm | 14px | 400 | 1.55 | normal | Small links, footer legal and meta lists (navigation-3, footer-text) |
button-sm | 14px | 400 | 1.5 | normal | Compact button labels |
caption | 13.7143px | 400 | 1.8 | 0.0612245px | Eyebrows and captions above tile headlines |
micro | 13.3333px | 400 | 1.5 | normal | Small pill/overlay buttons (button-ghost, button-ghost-2) |
normal. caption is the one exception, with a hair of positive tracking.button, label-strong) use 1.Noto IKEA is proprietary. Use Noto Sans as the open-source stand-in; it is already the fallback in IKEA's own stack, so metrics and character are close. Load weights 400 and 700 only. Keep the negative display tracking from the tokens, and check that bold headlines at hero-display do not feel wider than the original; if they do, tighten tracking slightly rather than dropping the size.
No layout measurement was verified. No spacing tokens survived grounding, so there is no base step, no named spacing scale and no section-padding-y. Build spacing on a consistent small increment and keep paddings inside tiles generous and uniform. Treat every value you choose as an assumption to check against the live site.
No container max width or grid gap was verified as a token.
caption eyebrow above a display-md headline.Whitespace is used in big, deliberate gaps: a large empty band separates the hero from the story feed. Inside the feed, gutters stay tight so the photos read as one continuous wall. Keep text off the canvas wherever possible; let images fill tiles edge to edge and place copy on the image over the dark scrim. The cream canvas should feel calm around the photography, never crowded with extra UI.
| Level | Treatment | Use |
|---|---|---|
| Flat | No box-shadow and no backdrop-filter; content sits directly on surface (#FFFEFB) | Page canvas, image tiles (card), header (header), footer (footer) |
| Color block | A solid fill change: primary (#FFDB00) or surface-dark (#000000) | The yellow CTA panel and the black footer, which separate by color rather than lift |
| Hairline | 1px solid borders | button-secondary carries a border-top of 1px solid #FFFEFB; header-cta carries 1px solid #000000 on its right and bottom edges; hairline (#DADADA) dividers inside the yellow panel |
| Image scrim | Dark bottom gradient over photography (observed in screenshots, no measured value) | Legibility for white captions on photo tiles |
Shadow philosophy. The design uses no shadows. No box-shadow or backdrop blur was measured on any recipe or on the page, and the header is fixed without blur. Depth is photographic: the image does the work, and color fields (yellow panel, black footer) create zones without lifting anything. The small solid-black circular arrow and play buttons only look like they float because of contrast, not shadow. When you need separation, reach for a hairline rule or a surface color change, never a drop shadow.
| Token | Value | Use |
|---|---|---|
rounded.md | 8px | Image tiles and their inner image blocks (card-group, card-group-2), the yellow CTA panel, and general containers |
The geometry is soft-rectangular and almost monotone: one radius, applied everywhere a surface has corners. That consistency is the shape language; don't introduce a second rounding step for tiles or panels.
Circles are the one deliberate contrast. Small solid-black circular icon buttons (arrow, play) sit on photography, and a dot-grid motif on one story tile repeats the circle. No circle or pill radius token was measured, so build these as true circles (radius at half the size) and only for icon buttons. Pill shapes are not part of the measured system. The logo's rounded oval is artwork; do not derive a radius from it.
Each component below was distilled from the live page: the recipe is a standalone, placeholder-filled reproduction with literal values, and every frontmatter key named in the anatomy carries the same measurements. A verified component reproduced the original in every check; a flagged one is shipped with the reason it did not; one marked not verifiable could not be compared with the original, which says nothing about the recipe.
Button, secondary
Verification: flagged, the render matched 94% of the original pixels, below the 97% required after 2 correction attempts.
Anatomy
button-secondary: the component root, a <button> (.c-button-secondary)button-secondary-group: inner flex row (.c-button-secondary__group)button-secondary-group-2: inner group (.c-button-secondary__group-2)button-secondary-label: label text, 6 characters (.c-button-secondary__label)button-secondary-label-2: label text, 7 characters (.c-button-secondary__label-2)button-secondary-label-3: label text, 4 characters (.c-button-secondary__label-3)button-secondary-group-3: inner group (.c-button-secondary__group-3)button-secondary-icon: icon placeholder, 16x9px (.c-button-secondary__icon)Recipe
<div class="c-button-secondary-scope">
<button class="c-button-secondary" type="button">
<span class="c-button-secondary__group">
<span class="c-button-secondary__group-2">
<span class="c-button-secondary__label">lorem</span>
<span class="c-button-secondary__label-2">lorem i</span>
<span class="c-button-secondary__label-3">lore</span>
</span>
<span class="c-button-secondary__group-3">
<span class="c-button-secondary__icon" aria-hidden="true"></span>
</span>
</span>
</button>
</div>
.c-button-secondary-scope {
background-color: #FFDB00;
color: #111111;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
}
.c-button-secondary {
display: inline-block;
border-spacing: 0px;
box-sizing: border-box;
min-height: 100px;
padding: 16px 50px;
position: relative;
z-index: 2;
background-color: #FFDB00;
color: #111111;
cursor: pointer;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 16px;
letter-spacing: normal;
text-transform: none;
text-align: center;
transition: background 0.3s ease;
border-top: 1px solid #FFFEFB;
border-right: 0;
border-bottom: 0;
border-left: 0;
border-bottom-right-radius: 8px;
border-bottom-left-radius: 8px;
}
.c-button-secondary__group {
display: flex;
align-items: center;
}
.c-button-secondary__group-2 {
display: block;
max-width: 70%;
overflow-x: hidden;
overflow-y: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.c-button-secondary__label-2 {
display: inline;
font-weight: 700;
}
.c-button-secondary__group-3 {
display: block;
max-width: 70%;
overflow-x: hidden;
overflow-y: hidden;
white-space: nowrap;
text-overflow: ellipsis;
margin-right: 8px;
margin-left: auto;
}
.c-button-secondary__icon {
display: block;
flex-shrink: 0;
width: 16px;
height: 9px;
overflow-x: hidden;
overflow-y: hidden;
background-color: currentcolor;
transform: matrix(-1, 0, 0, -1, 0, 0);
transition: transform 0.3s ease;
}
.c-button-secondary:hover {
background-color: #FFF094;
}
.c-button-secondary:focus {
outline: none;
}
.c-button-secondary:focus::before {
content: "";
display: block;
width: 451px;
height: 99px;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
z-index: 100;
box-shadow: #111111 0px 0px 0px 1px inset, #FFFFFF 0px 0px 0px 3px inset, #111111 0px 0px 0px 4px inset;
}
States
button-secondary-hover): background-color #FFF094Button, ghost
Verification: flagged, the render matched 52% of the original pixels, below the 97% required after 2 correction attempts.
Anatomy
button-ghost: the component root, a <button> (.c-button-ghost)button-ghost-group: inner flex row (.c-button-ghost__group)button-ghost-icon: icon placeholder, 12x14px (.c-button-ghost__icon)button-ghost-label: label text, 81 characters (.c-button-ghost__label)Recipe
<div class="c-button-ghost-scope">
<button class="c-button-ghost" type="button">
<div class="c-button-ghost__group">
<span class="c-button-ghost__icon" aria-hidden="true"></span>
<span class="c-button-ghost__label">lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor lore</span>
</div>
</button>
</div>
.c-button-ghost-scope {
background-color: #FFFEFB;
color: #111111;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 0px;
}
.c-button-ghost {
display: block;
justify-content: center;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
width: 56px;
height: 56px;
padding: 0px;
position: absolute;
right: 24px;
bottom: 24px;
z-index: 10;
background-color: #111111;
color: #FFFFFF;
border: 0;
border-radius: 50%;
cursor: pointer;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 13.3333px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: center;
}
.c-button-ghost__group {
display: flex;
justify-content: center;
align-items: center;
}
.c-button-ghost__icon {
display: block;
flex-shrink: 0;
width: 12px;
height: 14px;
overflow-x: hidden;
overflow-y: hidden;
background-color: currentcolor;
margin-left: 2px;
}
.c-button-ghost__label {
display: block;
width: 1px;
height: 1px;
position: absolute;
overflow-x: hidden;
overflow-y: hidden;
white-space: nowrap;
}
.c-button-ghost:hover {
background-color: #333333;
}
.c-button-ghost:focus {
outline: none;
}
.c-button-ghost:focus::before {
content: "";
display: block;
width: 56px;
height: 56px;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
z-index: 100;
border-radius: 50%;
box-shadow: #111111 0px 0px 0px 1px inset, #FFFFFF 0px 0px 0px 3px inset, #111111 0px 0px 0px 4px inset;
}
States
button-ghost-hover): background-color #333333Button, ghost (2)
Verification: flagged, the render matched 55% of the original pixels, below the 97% required after 2 correction attempts.
Anatomy
button-ghost-2: the component root, a <button> (.c-button-ghost-2)button-ghost-2-group: inner flex row (.c-button-ghost-2__group)button-ghost-2-icon: icon placeholder, 12x14px (.c-button-ghost-2__icon)button-ghost-2-label: label text, 67 characters (.c-button-ghost-2__label)Recipe
<div class="c-button-ghost-2-scope">
<button class="c-button-ghost-2" type="button">
<div class="c-button-ghost-2__group">
<span class="c-button-ghost-2__icon" aria-hidden="true"></span>
<span class="c-button-ghost-2__label">lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusm</span>
</div>
</button>
</div>
.c-button-ghost-2-scope {
background-color: #FFFEFB;
color: #111111;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 0px;
}
.c-button-ghost-2 {
display: block;
justify-content: center;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
width: 56px;
height: 56px;
padding: 0px;
position: absolute;
right: 24px;
bottom: 24px;
z-index: 10;
background-color: #FFFFFF;
color: #111111;
border: 0;
border-radius: 50%;
cursor: pointer;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 13.3333px;
font-weight: 400;
line-height: normal;
letter-spacing: normal;
text-transform: none;
text-align: center;
}
.c-button-ghost-2__group {
display: flex;
justify-content: center;
align-items: center;
}
.c-button-ghost-2__icon {
display: block;
flex-shrink: 0;
width: 12px;
height: 14px;
overflow-x: hidden;
overflow-y: hidden;
background-color: currentcolor;
margin-left: 2px;
}
.c-button-ghost-2__label {
display: block;
width: 1px;
height: 1px;
position: absolute;
overflow-x: hidden;
overflow-y: hidden;
white-space: nowrap;
}
.c-button-ghost-2:hover {
background-color: #F5F5F5;
}
.c-button-ghost-2:focus {
outline: none;
}
.c-button-ghost-2:focus::before {
content: "";
display: block;
width: 56px;
height: 56px;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
z-index: 100;
border-radius: 50%;
box-shadow: #111111 0px 0px 0px 1px inset, #FFFFFF 0px 0px 0px 3px inset, #111111 0px 0px 0px 4px inset;
}
States
button-ghost-2-hover): background-color #F5F5F5Verification: flagged, the render matched 9% of the original pixels, below the 96% required (instance 1) after 2 correction attempts.
Anatomy
card: the component root, a <div> (.c-card)card-group: inner block (.c-card__group, 2 instances)card-group-2: inner block (.c-card__group-2, 2 instances)card-link: link (.c-card__link)card-group-3: inner block (.c-card__group-3, 2 instances), content not capturedcard-group-4: inner block (.c-card__group-4, 2 instances), content not capturedcard-link-2: link (.c-card__link-2)card-group-5: inner block (.c-card__group-5)Recipe
<div class="c-card-scope">
<div class="c-card">
<div class="c-card__group">
<div class="c-card__group-2">
<a class="c-card__link" href="#">
<div class="c-card__group-3"></div>
</a>
<div class="c-card__group-4"></div>
</div>
</div>
<div class="c-card__group">
<div class="c-card__group-2">
<a class="c-card__link-2" href="#">
<div class="c-card__group-3"></div>
</a>
<div class="c-card__group-4"></div>
<div class="c-card__group-5"></div>
</div>
</div>
</div>
</div>
.c-card-scope {
background-color: #FFFEFB;
color: #111111;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
}
.c-card {
display: inline-grid;
gap: 20px;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto;
border-spacing: 0px;
color: #111111;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
}
.c-card__group {
display: block;
overflow-x: hidden;
overflow-y: hidden;
border-radius: 8px;
}
.c-card__group-2 {
display: block;
width: 100%;
height: 684px;
position: relative;
overflow-x: hidden;
overflow-y: hidden;
border-radius: 8px;
cursor: pointer;
}
.c-card__link {
display: flex;
flex-direction: column;
justify-content: end;
box-sizing: border-box;
width: 100%;
padding: 24px;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
z-index: 1;
cursor: pointer;
text-decoration-line: none;
}
.c-card__group-3 {
display: block;
position: relative;
}
.c-card__group-4 {
display: block;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
}
.c-card__link-2 {
display: flex;
flex-direction: column;
justify-content: end;
box-sizing: border-box;
width: 100%;
padding: 24px;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
z-index: 1;
color: #FFFFFF;
cursor: pointer;
text-decoration-line: none;
}
.c-card__group-5 {
display: block;
width: 100%;
height: 100%;
position: absolute;
bottom: 0px;
left: 0px;
z-index: 0;
background-image: linear-gradient(to top, #0000008C 80px, transparent 200px);
}
States
Navigation
Verification: flagged, the navigation-list height did not reproduce the measured 54px after 2 correction attempts.
Anatomy
navigation: the component root, a <nav> (.c-navigation)navigation-list: inner flex row (.c-navigation__list)navigation-item: inner group (.c-navigation__item, 4 instances)Recipe
<div class="c-navigation-scope">
<nav class="c-navigation">
<ul class="c-navigation__list">
<li class="c-navigation__item"></li>
<li class="c-navigation__item"></li>
<li class="c-navigation__item"></li>
<li class="c-navigation__item"></li>
</ul>
</nav>
</div>
.c-navigation-scope {
background-color: #FFFEFB;
color: #111111;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
}
.c-navigation {
display: block;
border-spacing: 0px;
color: #111111;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
}
.c-navigation__list {
display: flex;
padding: 0px;
margin: 0px;
list-style-type: none;
}
.c-navigation__item {
display: list-item;
}
States
Navigation (2)
Verification: verified against the live page at desktop.
Anatomy
navigation-2: the component root, a <nav> (.c-navigation-2)navigation-2-list: inner flex row (.c-navigation-2__list)navigation-2-item: inner group (.c-navigation-2__item, 6 instances)navigation-2-link: link, 19-character label (.c-navigation-2__link, 6 instances)navigation-2-item-2: label text, 1 characters (.c-navigation-2__item-2, 5 instances)Recipe
<div class="c-navigation-2-scope">
<nav class="c-navigation-2">
<ul class="c-navigation-2__list">
<li class="c-navigation-2__item">
<a class="c-navigation-2__link" href="#">lorem ipsum dolor s</a>
</li>
<li class="c-navigation-2__item-2">l</li>
<li class="c-navigation-2__item">
<a class="c-navigation-2__link" href="#">lorem ipsum dolo</a>
</li>
<li class="c-navigation-2__item-2">l</li>
<li class="c-navigation-2__item">
<a class="c-navigation-2__link" href="#">lorem ipsum dol</a>
</li>
<li class="c-navigation-2__item-2">l</li>
<li class="c-navigation-2__item">
<a class="c-navigation-2__link" href="#">lorem ipsum</a>
</li>
<li class="c-navigation-2__item-2">l</li>
<li class="c-navigation-2__item">
<a class="c-navigation-2__link" href="#">lorem ipsum dolor sit amet c</a>
</li>
<li class="c-navigation-2__item-2">l</li>
<li class="c-navigation-2__item">
<a class="c-navigation-2__link" href="#">lore</a>
</li>
</ul>
</nav>
</div>
.c-navigation-2-scope {
background-color: #000000;
color: #FFFFFF;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 20px;
font-weight: 400;
line-height: 32.4px;
}
.c-navigation-2 {
display: block;
border-spacing: 0px;
color: #FFFFFF;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 20px;
font-weight: 400;
line-height: 32.4px;
}
.c-navigation-2__list {
display: flex;
flex-wrap: wrap;
justify-content: center;
padding: 0px;
margin: 16px 0px 36px;
list-style-type: none;
}
.c-navigation-2__item {
display: list-item;
}
.c-navigation-2__link {
display: inline;
position: relative;
color: #FFFFFF;
cursor: pointer;
text-decoration-line: none;
}
.c-navigation-2__item-2 {
display: block;
margin-right: 24px;
margin-left: 24px;
}
States
Navigation (3)
Verification: flagged, the navigation-3-item width did not reproduce the measured 113px after 2 correction attempts.
Anatomy
navigation-3: the component root, a <nav> (.c-navigation-3)navigation-3-list: inner flex row (.c-navigation-3__list)navigation-3-item: inner group (.c-navigation-3__item, 5 instances)navigation-3-item-2: label text, 1 characters (.c-navigation-3__item-2, 4 instances)navigation-3-link: link, 26-character label (.c-navigation-3__link, 4 instances)Recipe
<div class="c-navigation-3-scope">
<nav class="c-navigation-3">
<ul class="c-navigation-3__list">
<li class="c-navigation-3__item"></li>
<li class="c-navigation-3__item-2">l</li>
<li class="c-navigation-3__item">
<a class="c-navigation-3__link" href="#">lorem ipsum dolor sit amet</a>
</li>
<li class="c-navigation-3__item-2">l</li>
<li class="c-navigation-3__item">
<a class="c-navigation-3__link" href="#">lorem ipsum dolor sit amet cons</a>
</li>
<li class="c-navigation-3__item-2">l</li>
<li class="c-navigation-3__item">
<a class="c-navigation-3__link" href="#">lorem i</a>
</li>
<li class="c-navigation-3__item-2">l</li>
<li class="c-navigation-3__item">
<a class="c-navigation-3__link" href="#">lorem</a>
</li>
</ul>
</nav>
</div>
.c-navigation-3-scope {
background-color: #000000;
color: #FFFFFF;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 21.98px;
}
.c-navigation-3 {
display: block;
border-spacing: 0px;
color: #FFFFFF;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 14px;
font-weight: 400;
line-height: 21.98px;
}
.c-navigation-3__list {
display: flex;
flex-wrap: wrap;
justify-content: center;
padding: 0px;
margin: 16px 0px 0px;
list-style-type: none;
}
.c-navigation-3__item {
display: list-item;
}
.c-navigation-3__item-2 {
display: block;
margin-right: 20px;
margin-left: 20px;
}
.c-navigation-3__link {
display: inline;
position: relative;
color: #FFFFFF;
cursor: pointer;
text-decoration-line: none;
}
States
Verification: desktop flagged, the header-inner y did not reproduce the measured 21px after 2 correction attempts; mobile flagged, the header-mobile-inner y did not reproduce the measured 12px after 2 correction attempts.
Anatomy
header: the component root, a <header> (.c-header)header-group: inner flex row (.c-header__group)header-cta: link, 20-character label (.c-header__cta)header-inner: inner flex row (.c-header__inner)header-group-2: inner flex row (.c-header__group-2)header-logo: link (.c-header__logo)header-logo-image: image placeholder, 89x36px (.c-header__logo-image)header-group-3: inner block (.c-header__group-3)Desktop recipe
<div class="c-header-scope">
<header class="c-header">
<div class="c-header__group">
<a class="c-header__cta" href="#">lorem ipsum dolor si</a>
</div>
<div class="c-header__inner">
<div class="c-header__group-2">
<a class="c-header__logo" href="#">
<span class="c-header__logo-image" aria-hidden="true"></span>
</a>
<div class="c-header__group-3"></div>
</div>
</div>
</header>
</div>
.c-header-scope {
background-color: #FFFEFB;
color: #111111;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
}
.c-header {
display: flex;
flex-direction: column;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
height: 96px;
position: fixed;
top: 0px;
z-index: 11;
background-color: #FFFEFB;
color: #111111;
transform: matrix(1, 0, 0, 1, 0, -96);
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
transition: transform 0.15s cubic-bezier(1, 0.26, 0.51, 0.72);
}
.c-header__group {
display: flex;
justify-content: left;
width: 100%;
position: fixed;
top: -200px;
transition: transform 0.2s ease;
}
.c-header__cta {
display: block;
padding: 20px;
position: relative;
background-color: #FFFEFB;
color: #000000;
cursor: pointer;
text-decoration-line: underline;
text-decoration-color: #000000;
border-right-width: 1px;
border-bottom-width: 1px;
border-right-style: solid;
border-bottom-style: solid;
border-right-color: #000000;
border-bottom-color: #000000;
}
.c-header__inner {
display: flex;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
width: 100%;
max-width: 1440px;
margin: auto;
position: relative;
padding-right: 24px;
padding-left: 24px;
}
.c-header__group-2 {
display: flex;
align-items: center;
}
.c-header__logo {
display: block;
position: relative;
color: #0000EE;
cursor: pointer;
text-decoration-line: underline;
text-decoration-color: #0000EE;
}
.c-header__logo-image {
display: block;
flex-shrink: 0;
width: 89px;
height: 36px;
aspect-ratio: auto 88.641 / 36;
overflow-x: clip;
overflow-y: clip;
background-color: currentcolor;
}
.c-header__group-3 {
display: block;
flex-grow: 1;
flex-basis: 0%;
margin-left: 16px;
}
.c-header__cta:focus {
outline: none;
}
.c-header__cta:focus::before {
content: "";
display: block;
width: 195px;
height: 62px;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
z-index: 100;
box-shadow: #111111 0px 0px 0px 1px inset, #FFFFFF 0px 0px 0px 3px inset, #111111 0px 0px 0px 4px inset;
}
.c-header__logo:focus {
outline: none;
}
.c-header__logo:focus::before {
content: "";
display: block;
width: 89px;
height: 36px;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
z-index: 100;
box-shadow: #111111 0px 0px 0px 1px inset, #FFFFFF 0px 0px 0px 3px inset, #111111 0px 0px 0px 4px inset;
}
Mobile anatomy
header-mobile: the component root, a <header> (.c-header-mobile)header-mobile-group: inner flex row (.c-header-mobile__group)header-mobile-cta: link, 20-character label (.c-header-mobile__cta)header-mobile-inner: inner flex row (.c-header-mobile__inner)header-mobile-group-2: inner flex row (.c-header-mobile__group-2)header-mobile-logo: link (.c-header-mobile__logo)header-mobile-logo-image: image placeholder, 89x36px (.c-header-mobile__logo-image)Mobile recipe
<div class="c-header-mobile-scope">
<header class="c-header-mobile">
<div class="c-header-mobile__group">
<a class="c-header-mobile__cta" href="#">lorem ipsum dolor si</a>
</div>
<div class="c-header-mobile__inner">
<div class="c-header-mobile__group-2">
<a class="c-header-mobile__logo" href="#">
<span class="c-header-mobile__logo-image" aria-hidden="true"></span>
</a>
</div>
</div>
</header>
</div>
.c-header-mobile-scope {
background-color: #FFFEFB;
color: #111111;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
}
.c-header-mobile {
display: flex;
flex-direction: column;
align-items: center;
border-spacing: 0px;
box-sizing: border-box;
height: 68px;
position: fixed;
top: 0px;
z-index: 11;
background-color: #FFFEFB;
color: #111111;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
transition: transform 0.15s cubic-bezier(1, 0.26, 0.51, 0.72);
}
.c-header-mobile__group {
display: flex;
justify-content: left;
width: 100%;
position: fixed;
top: -200px;
transition: transform 0.2s ease;
}
.c-header-mobile__cta {
display: block;
padding: 20px;
position: relative;
background-color: #FFFEFB;
color: #000000;
cursor: pointer;
text-decoration-line: underline;
text-decoration-color: #000000;
border-right-width: 1px;
border-bottom-width: 1px;
border-right-style: solid;
border-bottom-style: solid;
border-right-color: #000000;
border-bottom-color: #000000;
}
.c-header-mobile__inner {
display: flex;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
width: 100%;
max-width: 1440px;
margin: auto;
position: relative;
padding-right: 16px;
padding-left: 16px;
}
.c-header-mobile__group-2 {
display: flex;
align-items: center;
}
.c-header-mobile__logo {
display: block;
position: relative;
color: #0000EE;
cursor: pointer;
text-decoration-line: underline;
text-decoration-color: #0000EE;
}
.c-header-mobile__logo-image {
display: block;
flex-shrink: 0;
width: 89px;
height: 36px;
aspect-ratio: auto 88.641 / 36;
overflow-x: clip;
overflow-y: clip;
background-color: currentcolor;
}
.c-header-mobile__cta:focus {
outline: none;
}
.c-header-mobile__cta:focus::before {
content: "";
display: block;
width: 195px;
height: 62px;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
z-index: 100;
box-shadow: #111111 0px 0px 0px 1px inset, #FFFFFF 0px 0px 0px 3px inset, #111111 0px 0px 0px 4px inset;
}
.c-header-mobile__logo:focus {
outline: none;
}
.c-header-mobile__logo:focus::before {
content: "";
display: block;
width: 89px;
height: 36px;
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
z-index: 100;
box-shadow: #111111 0px 0px 0px 1px inset, #FFFFFF 0px 0px 0px 3px inset, #111111 0px 0px 0px 4px inset;
}
States
header-cta focus: outline none, ::before content "", ::before display block, ::before width 195px, ::before height 62px, ::before position absolute, ::before top 0px, ::before right 0px, ::before bottom 0px, ::before left 0px, ::before z-index 100, ::before box-shadow #111111 0px 0px 0px 1px inset, #FFFFFF 0px 0px 0px 3px inset, #111111 0px 0px 0px 4px insetheader-logo focus: outline none, ::before content "", ::before display block, ::before width 89px, ::before height 36px, ::before position absolute, ::before top 0px, ::before right 0px, ::before bottom 0px, ::before left 0px, ::before z-index 100, ::before box-shadow #111111 0px 0px 0px 1px inset, #FFFFFF 0px 0px 0px 3px inset, #111111 0px 0px 0px 4px insetheader-mobile-cta focus: outline none, ::before content "", ::before display block, ::before width 195px, ::before height 62px, ::before position absolute, ::before top 0px, ::before right 0px, ::before bottom 0px, ::before left 0px, ::before z-index 100, ::before box-shadow #111111 0px 0px 0px 1px inset, #FFFFFF 0px 0px 0px 3px inset, #111111 0px 0px 0px 4px insetheader-mobile-logo focus: outline none, ::before content "", ::before display block, ::before width 89px, ::before height 36px, ::before position absolute, ::before top 0px, ::before right 0px, ::before bottom 0px, ::before left 0px, ::before z-index 100, ::before box-shadow #111111 0px 0px 0px 1px inset, #FFFFFF 0px 0px 0px 3px inset, #111111 0px 0px 0px 4px insetVerification: desktop flagged, the footer-group height did not reproduce the measured 732px after 2 correction attempts; mobile flagged, the footer-mobile-group height did not reproduce the measured 657px after 2 correction attempts.
Anatomy
footer: the component root, a <footer> (.c-footer)footer-group: inner block (.c-footer__group)footer-inner: inner block (.c-footer__inner)footer-group-2: inner block (.c-footer__group-2)footer-group-3: inner block (.c-footer__group-3)footer-group-4: inner block (.c-footer__group-4)footer-group-5: inner flex row (.c-footer__group-5)footer-text: label text, 37 characters (.c-footer__text)Desktop recipe
<div class="c-footer-scope">
<footer class="c-footer">
<div class="c-footer__group">
<div class="c-footer__inner"></div>
<div class="c-footer__group-2">
<div class="c-footer__group-3"></div>
<div class="c-footer__group-4"></div>
<div class="c-footer__group-5">
<span class="c-footer__text">lorem ipsum dolor sit amet consectetu</span>
</div>
</div>
</div>
</footer>
</div>
.c-footer-scope {
background-color: #FFFEFB;
color: #111111;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
}
.c-footer {
display: block;
border-spacing: 0px;
box-sizing: border-box;
position: relative;
overflow-x: hidden;
overflow-y: hidden;
background-color: #000000;
color: #111111;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
padding-top: 140px;
padding-right: 24px;
padding-left: 24px;
}
.c-footer__group {
display: block;
transform: matrix(1, 0, 0, 1, 0, 0);
transform-origin: 696px 366.164px;
}
.c-footer__inner {
display: block;
max-width: 1211px;
margin: auto;
}
.c-footer__group-2 {
display: block;
color: #FFFFFF;
padding-top: 80px;
padding-bottom: 16px;
}
.c-footer__group-3 {
display: block;
font-size: 20px;
line-height: 32.4px;
margin-top: 16px;
margin-bottom: 16px;
}
.c-footer__group-4 {
display: block;
opacity: 0.6;
font-size: 14px;
line-height: 21.98px;
}
.c-footer__group-5 {
display: flex;
justify-content: center;
opacity: 0.6;
font-size: 14px;
line-height: 21.98px;
margin-top: 16px;
}
.c-footer__text {
display: block;
}
Mobile anatomy
footer-mobile: the component root, a <footer> (.c-footer-mobile)footer-mobile-group: inner block (.c-footer-mobile__group)footer-mobile-inner: inner block (.c-footer-mobile__inner)footer-mobile-group-2: inner block (.c-footer-mobile__group-2)footer-mobile-group-3: inner block (.c-footer-mobile__group-3)footer-mobile-group-4: inner block (.c-footer-mobile__group-4)footer-mobile-group-5: inner flex row (.c-footer-mobile__group-5)footer-mobile-text: label text, 37 characters (.c-footer-mobile__text)Mobile recipe
<div class="c-footer-mobile-scope">
<footer class="c-footer-mobile">
<div class="c-footer-mobile__group">
<div class="c-footer-mobile__inner"></div>
<div class="c-footer-mobile__group-2">
<div class="c-footer-mobile__group-3"></div>
<div class="c-footer-mobile__group-4"></div>
<div class="c-footer-mobile__group-5">
<span class="c-footer-mobile__text">lorem ipsum dolor sit amet consectetu</span>
</div>
</div>
</div>
</footer>
</div>
.c-footer-mobile-scope {
background-color: #FFFEFB;
color: #111111;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
}
.c-footer-mobile {
display: block;
border-spacing: 0px;
box-sizing: border-box;
position: relative;
overflow-x: hidden;
overflow-y: hidden;
background-color: #000000;
color: #111111;
font-family: "Omani Rial", "Emirati Dirham", "Saudi Riyal", "Noto IKEA", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Noto Sans TC", "Noto Sans", Roboto, "Open Sans", system-ui, sans-serif;
font-size: 16px;
font-weight: 400;
line-height: normal;
padding-top: 80px;
padding-right: 16px;
padding-left: 16px;
}
.c-footer-mobile__group {
display: block;
}
.c-footer-mobile__inner {
display: block;
max-width: 794px;
margin: auto;
}
.c-footer-mobile__group-2 {
display: block;
color: #FFFFFF;
padding-top: 48px;
padding-bottom: 16px;
}
.c-footer-mobile__group-3 {
display: block;
line-height: 25.92px;
margin-top: 16px;
margin-bottom: 16px;
}
.c-footer-mobile__group-4 {
display: block;
opacity: 0.6;
font-size: 14px;
line-height: 21.98px;
}
.c-footer-mobile__group-5 {
display: flex;
justify-content: center;
opacity: 0.6;
font-size: 14px;
line-height: 21.98px;
margin-top: 16px;
}
.c-footer-mobile__text {
display: block;
}
States
surface (#FFFEFB) with ink (#111111) text; the warm off-white is part of the brand voice.primary (#FFDB00) for the shopping CTA block and yellow buttons. The site fills button-secondary with it, puts on-primary (#111111) text on top, and hovers to primary-tint (#FFF094).button-ghost is ink (#111111) with on-dark text and hovers to ink-soft (#333333). Its white twin button-ghost-2 hovers to #F5F5F5. Both are 56px tall.rounded.md (8px), on every tile and panel, as card-group does.Omani Rial / Noto IKEA stack at weights 400 and 700 only.hero-display, display-lg and display-md to every headline at 36px and above.surface-dark (#000000) footer and on-dark links, set at body-lg for primary links and body-sm for legal links (navigation-2, navigation-3).caption eyebrow above a display-md headline.card, header and footer carry none).rounded.md, apart from true circles on small icon buttons.link (#0000EE) for visible links; it is a browser default measured on the logo link only.primary across backgrounds, borders or text. Its rarity is what makes the CTA land.success (#1A7E3B) or accent-orange (#FFAE66) as general decoration; green signals availability or positive actions, orange is an occasional promo fill.surface for pure #FFFFFF on the page canvas, or ink for pure black in body text.This analysis is two-viewport (one desktop, one mobile capture). No breakpoint values could be observed.
header is 96px tall; the mobile header-mobile is 68px. Both keep the 89×36px logo (header-logo-image, header-mobile-logo-image) and the surface fill. On mobile, the text nav collapses behind a hamburger.card recipe was captured as 4 instances in a 1-column grid with a 20px gap.footer is 872px tall on desktop and footer-mobile is 737px. Both keep the black fill and white body-sm text (footer-text, footer-mobile-text).The overlay buttons button-ghost and button-ghost-2 measure 56px tall, which is comfortably touch-sized. The header-cta link carries 20px padding on all sides. Keep any new tappable control at or above the 56px button height on mobile.
Intermediate tablet layouts, the exact collapse point and type scaling between viewports were not captured. Display sizes are recorded from desktop only.
primary, surface, ink, surface-dark, on-dark and the rest by name. If a color you need is not a token (such as the #F5F5F5 hover on button-ghost-2), keep it scoped to that component's state.primary belongs to the shopping CTA panel and yellow buttons (button-secondary). Adding it elsewhere breaks the system's single focal point. Its hover is always primary-tint.Omani Rial / Noto IKEA, weights are 400 and 700 only, and the radius is rounded.md (8px). Treat all three as fixed boundaries; propose new values only with live-site evidence.hero-display through micro) and keep each token's own line-height and tracking. Do not round the fractional display sizes, and do not apply negative tracking below display-md.surface → primary → surface-dark) or a 1px hairline (hairline), never box-shadow or blur.button-secondary (yellow), button-ghost (dark) and button-ghost-2 (white). Note that most recipes are flagged, so re-check their geometry before you derive new components from them.button-secondary (flagged: the render matched 94% of the original pixels, below the 97% required after 2 correction attempts)button-ghost (flagged: the render matched 52% of the original pixels, below the 97% required after 2 correction attempts)button-ghost-2 (flagged: the render matched 55% of the original pixels, below the 97% required after 2 correction attempts)card (flagged: the render matched 9% of the original pixels, below the 96% required (instance 1) after 2 correction attempts)navigation (flagged: the navigation-list height did not reproduce the measured 54px after 2 correction attempts)navigation-3 (flagged: the navigation-3-item width did not reproduce the measured 113px after 2 correction attempts)header (flagged: the header-inner y did not reproduce the measured 21px after 2 correction attempts)footer (flagged: the footer-group height did not reproduce the measured 732px after 2 correction attempts)header-mobile (flagged: the header-mobile-inner y did not reproduce the measured 12px after 2 correction attempts)footer-mobile (flagged: the footer-mobile-group height did not reproduce the measured 657px after 2 correction attempts)navigation-2 verified.card (card-group-3, card-group-4) were not captured, so tile caption internals are inferred from screenshots.success control's full styling, are unknown.Omani Rial as the family, but that is likely a currency-glyph subset font; the Noto IKEA attribution is inferred from the stack.このDESIGN.mdファイルは、AIコーディングエージェントが読み込む言語である英語で書かれています。
IKEAの公開Webサイトから抽出したもので、公式のブランドガイドラインではありません。他のサイトのフォントを調べる

Airbnbのデザインシステムは、独自のバリアブルフォント「Airbnb Cereal VF」を中心に構成されています。ほぼモノクロームのニュートラルなパレットで、濃いチャコール(#222222)とライトグレーを基調としています。ブランドのシグネチャーカラーである「Rausch」のコーラルピンク(#ff385c)は、プライマリーCTAとロゴにのみ限定して使われています。レイアウトはレスポンシブな写真カードグリッドで、画像とテキストの比率にゆとりがあります。カードには20pxのやわらかな角丸が付けられ、複数レイヤーのアンビエントシャドウによって、強いコントラストを避けながら控えめな奥行きを生み出しています。検索バーは目立つピル型のコンテナで、主要なユーザーアクションをまとめる役割を果たしています。

Notionのマーケティング向けホームページは、深いネイビー(#02093a)のヒーローセクションと明るい(#f6f5f4)ボディを組み合わせています。全テキストに独自書体のNotionInterを用い、12カラムグリッドと28pxのガターで構成されています。角丸は2種類を使い分け、カードには8px、ピル型の要素には9999pxを適用しています。フローティングUIには複数レイヤーのシャドウを段階的に重ねた影の仕組みを採用しています。ブランドブルー(#2537b1)はCTAやアクセントのハイライトに使われ、gray-200からgray-900までの段階的なグレースケールが、テキストと面の階層を整えています。

Railwayのデザインシステムは、ダークを基調とした開発者向けプラットフォームのUIです。深い黒に近いネイビーの面(#13111c、#0b0b0f)を土台にし、高コントラストのオフホワイトのテキスト(#f7f7f8)と、特徴的な紫のブランドアクセント(#853bce / #553f83)を組み合わせています。ヒーローセクションはIBM Plex Serifで編集的な重みを出し、UIの文言はすべてInterで組み、コード表示にはJetBrains MonoとSF Monoを使っています。 立体感は影ではなく、rgba(255,255,255,0.2) 1.5px insetの白い光彩のような内側ボーダーで表現しており、ガラスパネルのような印象を与えます。スペーシングは4pxを基準とし、8/12/16/24/32の明確なリズムで構成されています。角丸は4pxが中心で、カードやヒーローのコンテナには8pxと16pxを限定的に使っています。

Shopifyのマーケティング用トップページは、全面に広がるドラマチックな動画ヒーローを採用しています。ほぼ黒に近い背景色 #02090a が、上部の白いナビゲーションバーと鮮やかなコントラストを生み出しています。ブランドのアクセントカラーは鮮やかなミントグリーンの #36f4a4 で、ハイライトやインタラクティブな状態の表示にアクセントとして控えめに使われています。タイポグラフィは、ディスプレイ用や編集的な見出しに NeueHaasGrotesk、UIの本文に Inter-Variable を組み合わせています。CTAには完全な角丸のピル型(border-radius: 9999px)が用いられています。全体の設計システムは、自信に満ち、コントラストが高く、理想を感じさせる印象で、訪問者を加盟店へと転換させることを目指して作られています。

Stripeのマーケティングホームページは、可変フォント「sohne-var」を軽めのウェイト(300〜400)で用いた、厳密に管理されたデザインシステム(HDS — Stripe Design System)で構成されています。ブランドカラーは濃いネイビーからインディゴにかけてのパレットで、中核には#533afd(Stripe Indigo)を据えています。特徴的なのは、全面に広がるスペクトラム調のグラデーションを用いたヒーローセクションです。コンポーネントは角丸が小さく(4〜6px)、影はフラットからごく控えめな程度に抑えられ、8pxを基準とするスペーシンググリッドに沿って構成されています。全体のトーンは、権威がありながらも親しみやすく、確かなタイポグラフィと控えめな色使いによって、金融インフラストラクチャーを伝えています。

Anthropicのデザインシステムは、抑制の効いたタイポグラフィ主導のアイデンティティで、Anthropic SerifとAnthropic Sansという2つのカスタムタイプフェイスを軸にしています。背景は温かみのあるアイボリー(#faf9f5)が基調です。配色は意図的にミニマルで、温かみのあるオフホワイトの上にほぼ黒の#141413を配し、二次的なテキストや罫線にはくすんだストーン系の色調を使っています。大きなセリフの見出しがエディトリアルな語り口の核となり、ダークパネルのセクション(ほぼ黒の背景にアイボリーの文字)が劇的なコントラストを生み出しています。全体として、余白を豊かにとり、タイポグラフィのコントラストを高く保ち、装飾をいっさい排したスタイルによって、知的な真剣さと安全性を第一とするミッションを伝えています。