oh-my-design-cli 1.6.6 → 1.7.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/AGENTS.md +1 -1
- package/README.md +8 -8
- package/data/reference-fingerprints.json +1318 -10
- package/dist/bin/oh-my-design.js +1 -1
- package/dist/{install-skills-JNH66GOI.js → install-skills-YYHEC4CS.js} +5 -11
- package/dist/install-skills-YYHEC4CS.js.map +1 -0
- package/package.json +1 -1
- package/skills/claude-design/SKILL.md +7 -2
- package/web/references/11st/DESIGN.md +400 -0
- package/web/references/17live/DESIGN.md +43 -0
- package/web/references/29cm/DESIGN.md +41 -0
- package/web/references/91app/DESIGN.md +31 -0
- package/web/references/ably/DESIGN.md +54 -0
- package/web/references/airbnb/DESIGN.md +58 -0
- package/web/references/airtable/DESIGN.md +39 -0
- package/web/references/alipay/DESIGN.md +50 -0
- package/web/references/amazingtalker/DESIGN.md +434 -0
- package/web/references/appier/DESIGN.md +45 -0
- package/web/references/apple/DESIGN.md +47 -0
- package/web/references/baemin/DESIGN.md +142 -43
- package/web/references/banksalad/DESIGN.md +67 -0
- package/web/references/bilibili/DESIGN.md +45 -0
- package/web/references/bithumb/DESIGN.md +38 -0
- package/web/references/bmw/DESIGN.md +37 -0
- package/web/references/brandi/DESIGN.md +414 -0
- package/web/references/bunjang/DESIGN.md +47 -0
- package/web/references/cakeresume/DESIGN.md +29 -0
- package/web/references/cal/DESIGN.md +52 -0
- package/web/references/catchtable/DESIGN.md +79 -19
- package/web/references/cathay/DESIGN.md +432 -0
- package/web/references/channeltalk/DESIGN.md +48 -0
- package/web/references/class101/DESIGN.md +51 -0
- package/web/references/classting/DESIGN.md +41 -0
- package/web/references/classum/DESIGN.md +43 -0
- package/web/references/claude/DESIGN.md +157 -70
- package/web/references/clay/DESIGN.md +56 -0
- package/web/references/clickhouse/DESIGN.md +50 -0
- package/web/references/cloudflare/DESIGN.md +637 -0
- package/web/references/cohere/DESIGN.md +48 -0
- package/web/references/coinbase/DESIGN.md +139 -5
- package/web/references/coinone/DESIGN.md +39 -0
- package/web/references/composio/DESIGN.md +46 -0
- package/web/references/cookpad/DESIGN.md +37 -0
- package/web/references/coupang/DESIGN.md +57 -2
- package/web/references/cursor/DESIGN.md +44 -0
- package/web/references/dabang/DESIGN.md +57 -19
- package/web/references/dcard/DESIGN.md +57 -0
- package/web/references/dell/DESIGN.md +636 -0
- package/web/references/devsisters/DESIGN.md +29 -0
- package/web/references/discord/DESIGN.md +604 -0
- package/web/references/dji/DESIGN.md +39 -0
- package/web/references/drnow/DESIGN.md +52 -0
- package/web/references/duolingo/DESIGN.md +563 -0
- package/web/references/elevenlabs/DESIGN.md +39 -0
- package/web/references/expo/DESIGN.md +39 -0
- package/web/references/fastcampus/DESIGN.md +50 -0
- package/web/references/ferrari/DESIGN.md +47 -0
- package/web/references/figma/DESIGN.md +44 -0
- package/web/references/finda/DESIGN.md +413 -0
- package/web/references/flex/DESIGN.md +28 -0
- package/web/references/flo/DESIGN.md +43 -0
- package/web/references/framer/DESIGN.md +38 -0
- package/web/references/freee/DESIGN.md +48 -0
- package/web/references/fugle/DESIGN.md +41 -1
- package/web/references/gangnamunni/DESIGN.md +57 -1
- package/web/references/genie/DESIGN.md +415 -0
- package/web/references/github/DESIGN.md +727 -0
- package/web/references/gmarket/DESIGN.md +51 -0
- package/web/references/gogolook/DESIGN.md +25 -1
- package/web/references/gogoro/DESIGN.md +38 -0
- package/web/references/grip/DESIGN.md +39 -0
- package/web/references/hahow/DESIGN.md +26 -0
- package/web/references/hashicorp/DESIGN.md +42 -0
- package/web/references/hogangnono/DESIGN.md +41 -0
- package/web/references/hp/DESIGN.md +563 -0
- package/web/references/hyperconnect/DESIGN.md +393 -0
- package/web/references/hyundaicard/DESIGN.md +24 -0
- package/web/references/ibm/DESIGN.md +44 -0
- package/web/references/ichef/DESIGN.md +44 -0
- package/web/references/ikala/DESIGN.md +400 -0
- package/web/references/inflearn/DESIGN.md +38 -0
- package/web/references/intercom/DESIGN.md +38 -0
- package/web/references/jandi/DESIGN.md +382 -0
- package/web/references/jkopay/DESIGN.md +35 -1
- package/web/references/jobkorea/DESIGN.md +39 -0
- package/web/references/jumpit/DESIGN.md +37 -0
- package/web/references/kakao/DESIGN.md +64 -0
- package/web/references/kakaobank/DESIGN.md +55 -1
- package/web/references/kakaopay/DESIGN.md +59 -0
- package/web/references/kakaot/DESIGN.md +53 -0
- package/web/references/karrot/DESIGN.md +49 -0
- package/web/references/kbank/DESIGN.md +39 -0
- package/web/references/kdan/DESIGN.md +34 -1
- package/web/references/kintone/DESIGN.md +586 -0
- package/web/references/kkbox/DESIGN.md +22 -0
- package/web/references/kkday/DESIGN.md +47 -0
- package/web/references/kmong/DESIGN.md +427 -0
- package/web/references/krafton/DESIGN.md +37 -0
- package/web/references/kraken/DESIGN.md +44 -0
- package/web/references/krds/DESIGN.md +63 -0
- package/web/references/kream/DESIGN.md +32 -0
- package/web/references/kurly/DESIGN.md +38 -1
- package/web/references/laftel/DESIGN.md +40 -0
- package/web/references/lamborghini/DESIGN.md +54 -0
- package/web/references/layerx/DESIGN.md +615 -0
- package/web/references/lezhin/DESIGN.md +47 -0
- package/web/references/line/DESIGN.md +36 -0
- package/web/references/linear.app/DESIGN.md +182 -88
- package/web/references/loom/DESIGN.md +396 -0
- package/web/references/lovable/DESIGN.md +38 -0
- package/web/references/lunit/DESIGN.md +47 -19
- package/web/references/mastercard/DESIGN.md +587 -0
- package/web/references/meituan/DESIGN.md +42 -0
- package/web/references/melon/DESIGN.md +26 -0
- package/web/references/mercari/DESIGN.md +41 -0
- package/web/references/mercury/DESIGN.md +589 -0
- package/web/references/meta/DESIGN.md +615 -0
- package/web/references/millie/DESIGN.md +51 -0
- package/web/references/minimax/DESIGN.md +53 -0
- package/web/references/mintlify/DESIGN.md +45 -0
- package/web/references/miro/DESIGN.md +47 -0
- package/web/references/mistral.ai/DESIGN.md +37 -0
- package/web/references/momoshop/DESIGN.md +43 -0
- package/web/references/money-forward/DESIGN.md +42 -0
- package/web/references/mongodb/DESIGN.md +44 -0
- package/web/references/muji/DESIGN.md +605 -0
- package/web/references/musinsa/DESIGN.md +48 -0
- package/web/references/mustit/DESIGN.md +47 -1
- package/web/references/myrealtrip/DESIGN.md +49 -0
- package/web/references/naver/DESIGN.md +50 -1
- package/web/references/naverwebtoon/DESIGN.md +48 -0
- package/web/references/netflix/DESIGN.md +572 -0
- package/web/references/nexon/DESIGN.md +389 -0
- package/web/references/nhncloud/DESIGN.md +33 -0
- package/web/references/nike/DESIGN.md +588 -0
- package/web/references/note/DESIGN.md +28 -0
- package/web/references/notion/DESIGN.md +48 -0
- package/web/references/nvidia/DESIGN.md +50 -0
- package/web/references/ohouse/DESIGN.md +56 -0
- package/web/references/oliveyoung/DESIGN.md +47 -1
- package/web/references/ollama/DESIGN.md +40 -0
- package/web/references/openai/DESIGN.md +641 -0
- package/web/references/opencode.ai/DESIGN.md +37 -0
- package/web/references/payco/DESIGN.md +40 -0
- package/web/references/paypay/DESIGN.md +656 -0
- package/web/references/pchome/DESIGN.md +439 -0
- package/web/references/perplexity/DESIGN.md +546 -0
- package/web/references/piccollage/DESIGN.md +43 -0
- package/web/references/pinkoi/DESIGN.md +55 -0
- package/web/references/pinterest/DESIGN.md +44 -0
- package/web/references/pixiv/DESIGN.md +613 -0
- package/web/references/pixnet/DESIGN.md +430 -0
- package/web/references/posthog/DESIGN.md +50 -0
- package/web/references/publy/DESIGN.md +52 -0
- package/web/references/qanda/DESIGN.md +49 -1
- package/web/references/ragic/DESIGN.md +444 -0
- package/web/references/ramp/DESIGN.md +634 -0
- package/web/references/rayark/DESIGN.md +22 -0
- package/web/references/raycast/DESIGN.md +45 -0
- package/web/references/remember/DESIGN.md +44 -0
- package/web/references/renault/DESIGN.md +42 -0
- package/web/references/replicate/DESIGN.md +39 -0
- package/web/references/resend/DESIGN.md +44 -0
- package/web/references/retool/DESIGN.md +645 -0
- package/web/references/revolut/DESIGN.md +46 -0
- package/web/references/richart/DESIGN.md +465 -0
- package/web/references/ridi/DESIGN.md +47 -0
- package/web/references/riiid/DESIGN.md +32 -0
- package/web/references/robinhood/DESIGN.md +604 -0
- package/web/references/runwayml/DESIGN.md +45 -0
- package/web/references/sanity/DESIGN.md +50 -0
- package/web/references/sansan/DESIGN.md +631 -0
- package/web/references/sendbird/DESIGN.md +46 -0
- package/web/references/sentry/DESIGN.md +48 -0
- package/web/references/shinhancard/DESIGN.md +421 -0
- package/web/references/shopline/DESIGN.md +431 -0
- package/web/references/slack/DESIGN.md +635 -0
- package/web/references/smarthr/DESIGN.md +48 -0
- package/web/references/smartnews/DESIGN.md +29 -0
- package/web/references/socar/DESIGN.md +35 -0
- package/web/references/soomgo/DESIGN.md +326 -0
- package/web/references/spacex/DESIGN.md +27 -0
- package/web/references/spoon/DESIGN.md +46 -0
- package/web/references/spotify/DESIGN.md +49 -0
- package/web/references/starbucks/DESIGN.md +597 -0
- package/web/references/stripe/DESIGN.md +46 -0
- package/web/references/studio/DESIGN.md +602 -0
- package/web/references/supabase/DESIGN.md +41 -0
- package/web/references/superhuman/DESIGN.md +39 -0
- package/web/references/surveycake/DESIGN.md +442 -0
- package/web/references/tada/DESIGN.md +51 -0
- package/web/references/tesla/DESIGN.md +36 -0
- package/web/references/theverge/DESIGN.md +500 -0
- package/web/references/together.ai/DESIGN.md +33 -0
- package/web/references/toss/DESIGN.md +43 -0
- package/web/references/toss-securities/DESIGN.md +54 -19
- package/web/references/tossbank/DESIGN.md +57 -0
- package/web/references/trenbe/DESIGN.md +41 -0
- package/web/references/triple/DESIGN.md +47 -0
- package/web/references/tumblbug/DESIGN.md +48 -0
- package/web/references/tving/DESIGN.md +40 -0
- package/web/references/uber/DESIGN.md +36 -0
- package/web/references/ubie/DESIGN.md +615 -0
- package/web/references/uniqlo/DESIGN.md +575 -0
- package/web/references/upbit/DESIGN.md +42 -0
- package/web/references/upstage/DESIGN.md +38 -0
- package/web/references/velog/DESIGN.md +28 -0
- package/web/references/vercel/DESIGN.md +44 -0
- package/web/references/voicetube/DESIGN.md +39 -0
- package/web/references/voltagent/DESIGN.md +44 -0
- package/web/references/wadiz/DESIGN.md +71 -19
- package/web/references/wanted/DESIGN.md +46 -0
- package/web/references/warp/DESIGN.md +37 -0
- package/web/references/watcha/DESIGN.md +40 -0
- package/web/references/wavve/DESIGN.md +43 -1
- package/web/references/wconcept/DESIGN.md +45 -0
- package/web/references/webflow/DESIGN.md +49 -0
- package/web/references/wired/DESIGN.md +572 -0
- package/web/references/wise/DESIGN.md +41 -0
- package/web/references/x.ai/DESIGN.md +31 -0
- package/web/references/xiaohongshu/DESIGN.md +39 -0
- package/web/references/yanolja/DESIGN.md +45 -0
- package/web/references/yeogiotte/DESIGN.md +42 -1
- package/web/references/yogiyo/DESIGN.md +50 -0
- package/web/references/yourator/DESIGN.md +453 -0
- package/web/references/zapier/DESIGN.md +41 -0
- package/web/references/zigbang/DESIGN.md +33 -0
- package/web/references/zigzag/DESIGN.md +62 -0
- package/web/references/zozotown/DESIGN.md +578 -0
- package/dist/install-skills-JNH66GOI.js.map +0 -1
|
@@ -10,6 +10,53 @@ logo:
|
|
|
10
10
|
slug: "https://www.google.com/s2/favicons?domain=lezhin.com&sz=256"
|
|
11
11
|
verified: "2026-06-03"
|
|
12
12
|
omd: "0.1"
|
|
13
|
+
tokens:
|
|
14
|
+
source: prose-derived
|
|
15
|
+
extracted: "2026-06-09"
|
|
16
|
+
components_harvested: true
|
|
17
|
+
colors:
|
|
18
|
+
primary: "#eb0014"
|
|
19
|
+
primary-hover: "#ff5254"
|
|
20
|
+
primary-dark: "#c40017"
|
|
21
|
+
ink: "#111115"
|
|
22
|
+
deep-dark: "#09090b"
|
|
23
|
+
charcoal: "#222225"
|
|
24
|
+
text-soft: "#36363a"
|
|
25
|
+
text-subtle: "#6f6f77"
|
|
26
|
+
text-muted: "#a1a1a9"
|
|
27
|
+
border-muted: "#e9e9ec"
|
|
28
|
+
surface-muted: "#f4f4f5"
|
|
29
|
+
canvas: "#ffffff"
|
|
30
|
+
on-primary: "#ffffff"
|
|
31
|
+
typography:
|
|
32
|
+
family: { sans: "Pretendard Variable", mono: "Pretendard Variable" }
|
|
33
|
+
section-header: { size: 24, weight: 700, lineHeight: 1.35, tracking: -0.36, use: "Section headers" }
|
|
34
|
+
title: { size: 18, weight: 700, lineHeight: 1.4, use: "Smaller section headers" }
|
|
35
|
+
body: { size: 16, weight: 400, lineHeight: 1.5, use: "Body default" }
|
|
36
|
+
label: { size: 14, weight: 600, lineHeight: 1.4, use: "Label / UI text, button labels" }
|
|
37
|
+
label-medium: { size: 14, weight: 500, lineHeight: 1.4, use: "Medium UI text" }
|
|
38
|
+
caption: { size: 13, weight: 400, lineHeight: 1.4, use: "Caption / metadata" }
|
|
39
|
+
caption-small: { size: 12, weight: 400, lineHeight: 1.4, use: "Smallest metadata" }
|
|
40
|
+
spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 20, xl: 24, xxl: 32, section: 56 }
|
|
41
|
+
rounded: { sm: 4, md: 8, lg: 12, full: 9999 }
|
|
42
|
+
shadow:
|
|
43
|
+
subtle: "0 0 0 rgba(17,17,21,0.06)"
|
|
44
|
+
soft: "0 2px 12px 0 rgba(17,17,21,0.08)"
|
|
45
|
+
medium: "0 0 0 rgba(17,17,21,0.25)"
|
|
46
|
+
strong: "0 0 0 rgba(17,17,21,0.30)"
|
|
47
|
+
components:
|
|
48
|
+
button-primary: { type: button, bg: "#eb0014", fg: "#ffffff", radius: 4, padding: "0 12px", font: "14px/600", use: "Primary CTA, 48px height" }
|
|
49
|
+
button-primary-large: { type: button, bg: "#eb0014", fg: "#ffffff", radius: 4, padding: "0 16px", font: "16px/600", use: "Large primary CTA, 56px height" }
|
|
50
|
+
button-secondary: { type: button, bg: "#222225", fg: "#ffffff", radius: 4, padding: "0 12px", font: "14px/600", use: "Secondary, 48px height" }
|
|
51
|
+
button-tertiary: { type: button, bg: "#f4f4f5", fg: "#36363a", radius: 4, padding: "0 12px", font: "14px/600", use: "Tertiary, 48px height" }
|
|
52
|
+
button-outlined: { type: button, bg: "transparent", fg: "#36363a", radius: 4, padding: "0 20px", font: "14px/600", use: "Outlined, 1px #a1a1a9 border, 40px height" }
|
|
53
|
+
card-thumbnail: { type: card, bg: "#f4f4f5", radius: 4, use: "Comic thumbnail card, 2/3 portrait aspect" }
|
|
54
|
+
card-circle: { type: card, radius: 9999, use: "Circle thumb card, tracked ring" }
|
|
55
|
+
badge-chip: { type: badge, bg: "transparent", fg: "#6f6f77", radius: 9999, padding: "0 12px", use: "Default genre/tag chip, 1px #e9e9ec border, 32px height" }
|
|
56
|
+
badge-chip-selected: { type: badge, fg: "#c40017", radius: 9999, use: "Selected chip" }
|
|
57
|
+
tab-default: { type: tab, fg: "#111115", radius: 4, padding: "0 12px", use: "Default tab, 36px height" }
|
|
58
|
+
tab-selected: { type: tab, fg: "#ffffff", radius: 4, use: "Selected tab" }
|
|
59
|
+
dialog-dropdown: { type: dialog, bg: "#ffffff", radius: 4, padding: "12px 0", use: "Dropdown/select container, 1px #f4f4f5 border" }
|
|
13
60
|
---
|
|
14
61
|
|
|
15
62
|
# Lezhin Comics
|
|
@@ -16,6 +16,42 @@ ds:
|
|
|
16
16
|
type: system
|
|
17
17
|
description: LINE's shared design system for products across the LINE family.
|
|
18
18
|
og_image: "https://designsystem.line.me/static/36a4ead41b7b972b1130287e849a14b1/73f08/SEO_IMG_1741574443.png"
|
|
19
|
+
tokens:
|
|
20
|
+
source: prose-derived
|
|
21
|
+
extracted: "2026-06-09"
|
|
22
|
+
components_harvested: true
|
|
23
|
+
colors:
|
|
24
|
+
primary: "#07b53b"
|
|
25
|
+
primary-hover: "#069030"
|
|
26
|
+
canvas: "#ffffff"
|
|
27
|
+
ink: "#1e1e1e"
|
|
28
|
+
body: "#000000"
|
|
29
|
+
swiper-blue: "#007aff"
|
|
30
|
+
on-primary: "#ffffff"
|
|
31
|
+
typography:
|
|
32
|
+
family: { sans: "SFPro", mono: "SFPro" }
|
|
33
|
+
hero: { size: 70, weight: 700, use: "Hero headline, Life on LINE" }
|
|
34
|
+
service: { size: 40, weight: 700, use: "Service names, section heads" }
|
|
35
|
+
title: { size: 20, weight: 700, use: "Page title H1" }
|
|
36
|
+
body: { size: 20, weight: 400, lineHeight: 1.5, use: "Body default, editorial scale" }
|
|
37
|
+
button: { size: 16, weight: 700, lineHeight: 1.0, use: "Button / pill / nav labels" }
|
|
38
|
+
caption: { size: 14, weight: 400, use: "Card descriptions, supporting copy" }
|
|
39
|
+
badge: { size: 12, weight: 700, use: "Pill badge label" }
|
|
40
|
+
spacing: { xs: 4, sm: 8, md: 15, base: 16, lg: 24, xl: 32, xxl: 48, section: 100 }
|
|
41
|
+
rounded: { sm: 12, md: 12, lg: 12, full: 9999 }
|
|
42
|
+
shadow:
|
|
43
|
+
header: "0 1px 0 rgba(0,0,0,0.1)"
|
|
44
|
+
card: "0 2px 8px rgba(0,0,0,0.04)"
|
|
45
|
+
modal: "0 4px 24px rgba(0,0,0,0.15)"
|
|
46
|
+
components:
|
|
47
|
+
button-pill-active: { type: button, bg: "#07b53b", fg: "#ffffff", radius: 9999, padding: "8px 15px", font: "16px/700", use: "Active category pill, primary CTA" }
|
|
48
|
+
button-pill-inactive: { type: button, bg: "transparent", fg: "#1e1e1e", radius: 9999, padding: "8px 15px", font: "16px/700", use: "Unselected category pill" }
|
|
49
|
+
button-pill-pressed: { type: button, bg: "#069030", fg: "#ffffff", radius: 9999, padding: "8px 15px", use: "Hover/pressed primary pill" }
|
|
50
|
+
input-default: { type: input, bg: "#ffffff", fg: "#1e1e1e", radius: 12, padding: "12px 16px", font: "16px/400", use: "Form field, green focus border" }
|
|
51
|
+
card-service: { type: card, bg: "#ffffff", fg: "#1e1e1e", radius: 12, padding: "24px", use: "Service/feature card with icon + title" }
|
|
52
|
+
card-image: { type: card, bg: "#ffffff", radius: 12, use: "Image-dominant tile, STICKERS/WEBTOON" }
|
|
53
|
+
card-download: { type: card, bg: "#ffffff", radius: 12, padding: "12px", use: "App download tile, 56px touch target" }
|
|
54
|
+
badge-pill: { type: badge, bg: "#07b53b", fg: "#ffffff", radius: 9999, padding: "4px 10px", font: "12px/700", use: "Pill-style badge" }
|
|
19
55
|
---
|
|
20
56
|
|
|
21
57
|
# Design System Inspiration of LINE
|
|
@@ -16,6 +16,53 @@ ds:
|
|
|
16
16
|
type: brand
|
|
17
17
|
description: Linear's brand guidelines with wordmark, logomark, and color specifications.
|
|
18
18
|
og_image: "https://linear.app/api/og/generic?title=Brand&v=3"
|
|
19
|
+
tokens:
|
|
20
|
+
source: reconciled
|
|
21
|
+
extracted: "2026-06-08"
|
|
22
|
+
components_harvested: true
|
|
23
|
+
note: "freq×sat picked link color #828fff; CSS var --color-brand-bg=#5e6ad2 is the canonical primary. TIER 2 multi-route harvest (home/pricing/customers/now) 2026-06-09 — no public DS; app behind auth."
|
|
24
|
+
colors:
|
|
25
|
+
primary: "#5e6ad2"
|
|
26
|
+
accent: "#7170ff"
|
|
27
|
+
accent-hover: "#828fff"
|
|
28
|
+
background: "#0f1011"
|
|
29
|
+
canvas: "#08090a"
|
|
30
|
+
surface: "#191a1b"
|
|
31
|
+
surface-2: "#28282c"
|
|
32
|
+
foreground: "#f7f8f8"
|
|
33
|
+
text-secondary: "#d0d6e0"
|
|
34
|
+
muted: "#8a8f98"
|
|
35
|
+
text-quaternary: "#62666d"
|
|
36
|
+
typography:
|
|
37
|
+
family: { sans: "Inter", mono: "Berkeley Mono" }
|
|
38
|
+
display-xl: { size: 72, weight: 510, lineHeight: 1.00, tracking: -1.584, use: "Hero headlines, maximum impact" }
|
|
39
|
+
display-lg: { size: 64, weight: 510, lineHeight: 1.00, tracking: -1.408, use: "Secondary hero text" }
|
|
40
|
+
display: { size: 48, weight: 510, lineHeight: 1.00, tracking: -1.056, use: "Section headlines" }
|
|
41
|
+
heading-1: { size: 32, weight: 400, lineHeight: 1.13, tracking: -0.704, use: "Major section titles" }
|
|
42
|
+
heading-2: { size: 24, weight: 400, lineHeight: 1.33, tracking: -0.288, use: "Sub-section headings" }
|
|
43
|
+
heading-3: { size: 20, weight: 590, lineHeight: 1.33, tracking: -0.24, use: "Feature titles, card headers" }
|
|
44
|
+
body-lg: { size: 18, weight: 400, lineHeight: 1.60, use: "Introduction text, feature descriptions" }
|
|
45
|
+
body: { size: 17, weight: 400, lineHeight: 1.60, use: "Body, emphasized content" }
|
|
46
|
+
spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32 }
|
|
47
|
+
rounded: { sm: 4, md: 8, lg: 12, full: 9999 }
|
|
48
|
+
shadow:
|
|
49
|
+
subtle: "rgba(0,0,0,0.03) 0px 1.2px 0px"
|
|
50
|
+
inset: "rgba(0,0,0,0.2) 0px 0px 12px 0px inset"
|
|
51
|
+
components:
|
|
52
|
+
primary-cta: { type: button, bg: "#e5e5e6", fg: "#08090a", border: "1px solid #e5e5e6", radius: "9999px", height: "32px", padding: "0 12px", font: "13px / 510", shadow: "layered drop stack rgba(0,0,0,0.08) 0px 0px 1px · rgba(0,0,0,0.07) 0px 1px 1px · rgba(0,0,0,0.04) 0px 3px 2px", use: "Highest-priority CTA on dark surfaces (Sign up / Open app); 44px hero variant at 16px/510, 0 20px" }
|
|
53
|
+
secondary-cta: { type: button, bg: "rgba(255,255,255,0.05)", fg: "#f7f8f8", radius: "9999px", height: "40px", padding: "0 14px", font: "13px / 510", shadow: "inset hairline + ring rgba(255,255,255,0.03) 0px 0px 0px 1px inset · rgba(0,0,0,0.6) 0px 0px 0px 1px · rgba(0,0,0,0.1) 0px 4px 4px", use: "Paired alternative beside the primary CTA (Contact sales next to Get started); 44px hero variant" }
|
|
54
|
+
brand-cta-lime: { type: button, bg: "#e4f222", fg: "#08090a", radius: "6px", padding: "24px 32px", font: "15px / 590", use: "High-emphasis marketing conversion banner (Build now) — Linear's loudest single accent; 8px live banner variant" }
|
|
55
|
+
brand-fill-button: { type: button, bg: "#5e6ad2", fg: "#ffffff", radius: "6px", height: "32px", padding: "0 16px", font: "14px / 510", hover: "#828fff", use: "Brand-accent fills; reserved indigo, surfaces on skip-link and in-product accents" }
|
|
56
|
+
ghost-button: { type: button, bg: "rgba(255,255,255,0.02)", fg: "#e2e4e7", border: "1px solid #24282c", radius: "6px", focus: "rgba(0,0,0,0.1) 0px 4px 12px", use: "Tertiary actions, low-emphasis secondary CTAs" }
|
|
57
|
+
nav-link: { type: tab, active: "text #f7f8f8 idle #8a8f98", radius: "9999px", height: "32px", padding: "0 12px", font: "13px / 400", use: "Top nav bar links (Product / Resources)" }
|
|
58
|
+
dropdown-popover: { type: dialog, bg: "#101112", border: "1px solid rgba(255,255,255,0.08)", radius: "12px", use: "Product / Resources navigation flyouts; nested submenu #161718, 8px radius, 1px solid rgba(255,255,255,0.05)" }
|
|
59
|
+
search-input: { type: input, bg: "#141516", fg: "#8a8f98", radius: "9999px", height: "40px", padding: "0 16px", font: "14px / 400", shadow: "inset+ring stack rgba(255,255,255,0.03) 0px 0px 0px 1px inset · rgba(0,0,0,0.1) 0px 4px 4px", use: "Changelog / docs search field; in-app triggers Cmd+K palette" }
|
|
60
|
+
filter-pill: { type: badge, bg: "transparent", fg: "#d0d6e0", border: "1px solid #23252a", radius: "9999px", height: "26px", padding: "0 10px 0 5px", font: "12px / 510", use: "Tags, filter chips, category labels (Performance, iOS)" }
|
|
61
|
+
pagination-button: { type: button, bg: "rgba(255,255,255,0.05)", fg: "#f7f8f8", radius: "9999px", height: "40px", padding: "0 16px", font: "15px / 510", shadow: "inset+ring stack (matches secondary CTA)", use: "Changelog Load more pagination" }
|
|
62
|
+
card: { type: card, bg: "rgba(255,255,255,0.02)", border: "1px solid rgba(255,255,255,0.08)", radius: "8px", shadow: "rgba(0,0,0,0.2) 0px 0px 0px 1px ring", hover: "subtle background-opacity increase", use: "Translucent surface (never solid); 12px featured, 22px large panels" }
|
|
63
|
+
default-card-refero: { type: card, bg: "#0f1011", radius: "6px", use: "Refero-captured in-product card surface" }
|
|
64
|
+
command-palette: { type: dialog, bg: "#191a1b", border: "1px solid rgba(255,255,255,0.08)", radius: "12px", shadow: "multi-layer Dialog stack rgba(0,0,0,0.08) 0px 0px 1px … rgba(0,0,0,0) 0px 8px 2px", use: "Cmd+K command palette, modals; backdrop rgba(0,0,0,0.85)" }
|
|
65
|
+
filter-pill-success: { type: badge, bg: "#10b981", fg: "#f7f8f8", radius: "50%", font: "10px / 510", use: "Status dots, completion indicators; 9999px chip variant" }
|
|
19
66
|
---
|
|
20
67
|
|
|
21
68
|
# Design System Inspiration of Linear
|
|
@@ -128,105 +175,166 @@ The color system is almost entirely achromatic — dark backgrounds with white/g
|
|
|
128
175
|
- **OpenType as identity**: `"cv01", "ss03"` aren't decorative — they transform Inter into Linear's distinctive typeface, giving it a more geometric, purposeful character.
|
|
129
176
|
- **Three-tier weight system**: 400 (reading), 510 (emphasis/UI), 590 (strong emphasis). The 300 weight appears only in deliberately de-emphasized contexts.
|
|
130
177
|
|
|
131
|
-
## 4. Component
|
|
178
|
+
## 4. Component Patterns
|
|
132
179
|
|
|
133
|
-
|
|
180
|
+
Specs below are grouped by function. Unless marked *(Inferred)* or *(Refero)*, every value was measured via `getComputedStyle` on a live route (`linear.app` home, `/pricing`, `/customers`, `/now`) on 2026-06-09. Heights are rendered `getBoundingClientRect` values; colors are the computed paint converted to hex.
|
|
134
181
|
|
|
135
|
-
|
|
182
|
+
### Actions
|
|
183
|
+
|
|
184
|
+
**primary cta (Sign up / Open app)**
|
|
185
|
+
- Background: `#e5e5e6` (light neutral — the dark-page primary)
|
|
186
|
+
- Text: `#08090a` (near-black)
|
|
187
|
+
- Border: `1px solid #e5e5e6`
|
|
188
|
+
- Radius: 9999px (full pill)
|
|
189
|
+
- Height: 32px (nav) / 44px hero variant (16px text, 0px 20px padding)
|
|
190
|
+
- Padding: 0px 12px (nav) → 0px 20px (hero)
|
|
191
|
+
- Font: 13px weight 510 (nav) / 16px weight 510 (hero)
|
|
192
|
+
- Shadow: layered drop stack `rgba(0,0,0,0.08) 0px 0px 1px, rgba(0,0,0,0.07) 0px 1px 1px, rgba(0,0,0,0.04) 0px 3px 2px, rgba(0,0,0,0.01) 0px 5px 2px`
|
|
193
|
+
- Use: Highest-priority CTA on dark surfaces ("Sign up", "Open app", "Get started")
|
|
194
|
+
|
|
195
|
+
**secondary cta (Get started / Contact sales / Download)**
|
|
196
|
+
- Background: `rgba(255,255,255,0.05)`
|
|
197
|
+
- Text: `#f7f8f8`
|
|
198
|
+
- Radius: 9999px (full pill)
|
|
199
|
+
- Height: 40px (pricing) / 44px (hero); padding 0px 14px → 0px 20px
|
|
200
|
+
- Font: 13–16px weight 510
|
|
201
|
+
- Shadow: inset hairline + ring `rgba(255,255,255,0.03) 0px 0px 0px 1px inset, rgba(255,255,255,0.04) 0px 1px 0px 0px inset, rgba(0,0,0,0.6) 0px 0px 0px 1px, rgba(0,0,0,0.1) 0px 4px 4px`
|
|
202
|
+
- Use: Paired alternative beside the primary CTA — "Contact sales" next to "Get started"
|
|
203
|
+
|
|
204
|
+
**brand cta (Lime "Build now")** *(Refero + live banner)*
|
|
205
|
+
- Background: `#e4f222` (signature lime)
|
|
206
|
+
- Text: `#08090a`
|
|
207
|
+
- Radius: 6px (Refero) / 8px (live banner block, 24px 32px padding)
|
|
208
|
+
- Font: Inter Variable 15px weight 590
|
|
209
|
+
- Use: High-emphasis marketing conversion banner — Linear's loudest single accent
|
|
210
|
+
|
|
211
|
+
**brand fill button** *(Inferred)*
|
|
212
|
+
- Background: `#5e6ad2` (brand indigo) — measured live only on the visually-hidden "Skip to content" control (`#5e6ad2` fill, white text, 0px 16px, 32px, 14px/510)
|
|
213
|
+
- Text: `#ffffff`
|
|
214
|
+
- Hover: `#828fff` shift
|
|
215
|
+
- Use: Brand-accent fills; in marketing chrome the indigo is reserved, surfacing on the skip-link and in-product accents rather than primary page CTAs
|
|
216
|
+
|
|
217
|
+
**ghost button** *(Inferred)*
|
|
136
218
|
- Background: `rgba(255,255,255,0.02)`
|
|
137
|
-
- Text: `#e2e4e7`
|
|
138
|
-
- Padding: comfortable
|
|
219
|
+
- Text: `#e2e4e7`
|
|
139
220
|
- Radius: 6px
|
|
140
|
-
- Border: `1px solid
|
|
141
|
-
- Outline: none
|
|
221
|
+
- Border: `1px solid #24282c`
|
|
142
222
|
- Focus shadow: `rgba(0,0,0,0.1) 0px 4px 12px`
|
|
143
|
-
- Use:
|
|
223
|
+
- Use: Tertiary actions, low-emphasis secondary CTAs
|
|
144
224
|
|
|
145
|
-
**
|
|
225
|
+
**inline chip button (toolbar)**
|
|
146
226
|
- Background: `rgba(255,255,255,0.04)`
|
|
147
|
-
- Text: `#d0d6e0`
|
|
148
|
-
- Padding: 0px 6px
|
|
149
|
-
- Radius: 6px
|
|
150
|
-
- Use: Toolbar actions, contextual buttons
|
|
151
|
-
|
|
152
|
-
**Primary Brand Button (Inferred)**
|
|
153
|
-
- Background: `#5e6ad2` (brand indigo)
|
|
154
|
-
- Text: `#ffffff`
|
|
155
|
-
- Padding: 8px 16px
|
|
227
|
+
- Text: `#d0d6e0`
|
|
156
228
|
- Radius: 6px
|
|
157
|
-
-
|
|
158
|
-
-
|
|
229
|
+
- Height: 28px; padding 0px 6px
|
|
230
|
+
- Font: 13px weight 510
|
|
231
|
+
- Use: In-product contextual labels surfaced in marketing ("Faster app launch")
|
|
159
232
|
|
|
160
|
-
**
|
|
161
|
-
- Background: `rgba(255,255,255,0.03)`
|
|
162
|
-
- Text: `#f7f8f8`
|
|
233
|
+
**icon button (circle)** *(Inferred)*
|
|
234
|
+
- Background: `rgba(255,255,255,0.03)` → `rgba(255,255,255,0.05)`
|
|
235
|
+
- Text: `#f7f8f8`
|
|
163
236
|
- Radius: 50%
|
|
164
237
|
- Border: `1px solid rgba(255,255,255,0.08)`
|
|
165
238
|
- Use: Close, menu toggle, icon-only actions
|
|
166
239
|
|
|
167
|
-
|
|
168
|
-
|
|
240
|
+
### Navigation
|
|
241
|
+
|
|
242
|
+
**top nav bar**
|
|
243
|
+
- Background: transparent over near-black; sticky; 73px tall
|
|
244
|
+
- Logomark left-aligned (SVG, 4px radius hit-area, 28px)
|
|
245
|
+
- Links: Inter Variable 13px weight 400, idle `#8a8f98`, active/hover lightens to `#f7f8f8`
|
|
246
|
+
- Link hit-area: 9999px radius, 0px 12px padding, 32px height
|
|
247
|
+
- Right cluster: "Log in" ghost text + "Sign up" primary pill
|
|
248
|
+
- Mobile: hamburger collapse at 768px
|
|
249
|
+
|
|
250
|
+
**mega-menu / dropdown popover**
|
|
251
|
+
- Background: `#101112` (one luminance step up from panel)
|
|
252
|
+
- Radius: 12px
|
|
253
|
+
- Border: `1px solid rgba(255,255,255,0.08)`
|
|
254
|
+
- Nested submenu: `#161718` background, 8px radius, `1px solid rgba(255,255,255,0.05)` border
|
|
255
|
+
- Use: "Product" / "Resources" navigation flyouts
|
|
256
|
+
|
|
257
|
+
**footer**
|
|
258
|
+
- Background: `#08090a` (marketing black)
|
|
259
|
+
- Top divider: `1px solid #23252a`
|
|
260
|
+
- Multi-column link layout; link text in `#8a8f98`, hover `#f7f8f8`
|
|
261
|
+
|
|
262
|
+
### Forms
|
|
263
|
+
|
|
264
|
+
**search input**
|
|
265
|
+
- Background: `#141516` (line tint)
|
|
266
|
+
- Text / placeholder: `#8a8f98`
|
|
267
|
+
- Radius: 9999px (rendered as 100px pill)
|
|
268
|
+
- Height: 40px; padding 0px 16px
|
|
269
|
+
- Font: 14px weight 400
|
|
270
|
+
- Shadow: same inset+ring stack as the secondary CTA (`rgba(255,255,255,0.03) 0px 0px 0px 1px inset … rgba(0,0,0,0.1) 0px 4px 4px`)
|
|
271
|
+
- Use: Changelog / docs search field; in-app, the same affordance triggers the `Cmd+K` command palette
|
|
272
|
+
|
|
273
|
+
**text area** *(Inferred)*
|
|
274
|
+
- Background: `rgba(255,255,255,0.02)`
|
|
169
275
|
- Text: `#d0d6e0`
|
|
170
|
-
-
|
|
171
|
-
-
|
|
172
|
-
-
|
|
173
|
-
- Use: Filter chips, tags, status indicators
|
|
276
|
+
- Border: `1px solid rgba(255,255,255,0.08)`
|
|
277
|
+
- Padding: 12px 14px
|
|
278
|
+
- Radius: 6px
|
|
174
279
|
|
|
175
|
-
|
|
176
|
-
- Background: `rgba(255,255,255,0.05)`
|
|
177
|
-
- Text: `#62666d` (muted)
|
|
178
|
-
- Radius: 2px
|
|
179
|
-
- Border: `1px solid rgba(255,255,255,0.05)`
|
|
180
|
-
- Shadow: `rgba(0,0,0,0.03) 0px 1.2px 0px 0px`
|
|
181
|
-
- Font: 12px weight 510
|
|
182
|
-
- Use: Toolbar actions, quick-access controls
|
|
280
|
+
### Data display
|
|
183
281
|
|
|
184
|
-
|
|
185
|
-
- Background: `rgba(255,255,255,0.02)`
|
|
282
|
+
**card / container**
|
|
283
|
+
- Background: `rgba(255,255,255,0.02)` → `rgba(255,255,255,0.05)` (never solid — always translucent)
|
|
186
284
|
- Border: `1px solid rgba(255,255,255,0.08)` (standard) or `1px solid rgba(255,255,255,0.05)` (subtle)
|
|
187
285
|
- Radius: 8px (standard), 12px (featured), 22px (large panels)
|
|
188
|
-
- Shadow: `rgba(0,0,0,0.2) 0px 0px 0px 1px` or layered multi-shadow stacks
|
|
189
|
-
- Hover: subtle background
|
|
286
|
+
- Shadow: `rgba(0,0,0,0.2) 0px 0px 0px 1px` (ring) or layered multi-shadow stacks
|
|
287
|
+
- Hover: subtle background-opacity increase
|
|
288
|
+
|
|
289
|
+
**default card** *(Refero)*
|
|
290
|
+
- Background: `#0f1011` (panel dark)
|
|
291
|
+
- Radius: 6px
|
|
292
|
+
- Use: Refero-captured in-product card surface
|
|
190
293
|
|
|
191
|
-
|
|
294
|
+
**product screenshot frame**
|
|
295
|
+
- Border: `1px solid rgba(255,255,255,0.08)` on dark
|
|
296
|
+
- Top-rounded variant: `12px 12px 0px 0px` radius
|
|
297
|
+
- Shadow: `rgba(0,0,0,0.4) 0px 2px 4px`
|
|
298
|
+
- Use: Dashboard / issue previews dominating feature sections
|
|
192
299
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
300
|
+
### Overlays
|
|
301
|
+
|
|
302
|
+
**command palette / dialog** *(Inferred, from §6 Dialog stack)*
|
|
303
|
+
- Background: `#191a1b`
|
|
196
304
|
- Border: `1px solid rgba(255,255,255,0.08)`
|
|
197
|
-
-
|
|
198
|
-
-
|
|
305
|
+
- Radius: 12px
|
|
306
|
+
- Shadow: multi-layer Dialog stack (`rgba(0,0,0,0.08) 0px 0px 1px … rgba(0,0,0,0) 0px 8px 2px`)
|
|
307
|
+
- Backdrop: `rgba(0,0,0,0.85)`
|
|
308
|
+
- Use: `Cmd+K` command palette, modals
|
|
199
309
|
|
|
200
|
-
|
|
201
|
-
- Background: transparent
|
|
202
|
-
- Text: `#f7f8f8`
|
|
203
|
-
- Padding: 1px 32px (icon-aware)
|
|
310
|
+
### Feedback & Status
|
|
204
311
|
|
|
205
|
-
**
|
|
206
|
-
-
|
|
207
|
-
-
|
|
208
|
-
- Radius:
|
|
209
|
-
-
|
|
312
|
+
**filter pill / tag**
|
|
313
|
+
- Background: transparent
|
|
314
|
+
- Text: `#d0d6e0`
|
|
315
|
+
- Radius: 9999px (full pill)
|
|
316
|
+
- Height: 26px; padding 0px 10px 0px 5px
|
|
317
|
+
- Border: `1px solid #23252a`
|
|
318
|
+
- Font: 12px weight 510
|
|
319
|
+
- Use: Tags, filter chips, category labels ("Performance", "iOS")
|
|
210
320
|
|
|
211
|
-
|
|
321
|
+
**pagination button (Load more)**
|
|
322
|
+
- Background: `rgba(255,255,255,0.05)`
|
|
323
|
+
- Text: `#f7f8f8`
|
|
324
|
+
- Radius: 9999px
|
|
325
|
+
- Height: 40px; padding 0px 16px
|
|
326
|
+
- Font: 15px weight 510
|
|
327
|
+
- Shadow: inset+ring stack (matches secondary CTA)
|
|
328
|
+
- Use: Changelog "Load more" pagination
|
|
212
329
|
|
|
213
|
-
**
|
|
330
|
+
**success pill** *(Inferred)*
|
|
214
331
|
- Background: `#10b981`
|
|
215
332
|
- Text: `#f7f8f8`
|
|
216
|
-
- Radius: 50% (circular)
|
|
333
|
+
- Radius: 50% (circular dot) or 9999px (chip)
|
|
217
334
|
- Font: 10px weight 510
|
|
218
335
|
- Use: Status dots, completion indicators
|
|
219
336
|
|
|
220
|
-
**
|
|
221
|
-
- Background: transparent
|
|
222
|
-
- Text: `#d0d6e0`
|
|
223
|
-
- Padding: 0px 10px 0px 5px
|
|
224
|
-
- Radius: 9999px
|
|
225
|
-
- Border: `1px solid rgb(35, 37, 42)`
|
|
226
|
-
- Font: 12px weight 510
|
|
227
|
-
- Use: Tags, filter chips, category labels
|
|
228
|
-
|
|
229
|
-
**Subtle Badge**
|
|
337
|
+
**subtle badge** *(Inferred)*
|
|
230
338
|
- Background: `rgba(255,255,255,0.05)`
|
|
231
339
|
- Text: `#f7f8f8`
|
|
232
340
|
- Padding: 0px 8px 0px 2px
|
|
@@ -235,27 +343,13 @@ The color system is almost entirely achromatic — dark backgrounds with white/g
|
|
|
235
343
|
- Font: 10px weight 510
|
|
236
344
|
- Use: Inline labels, version tags
|
|
237
345
|
|
|
238
|
-
### Navigation
|
|
239
|
-
- Dark sticky header on near-black background
|
|
240
|
-
- Linear logomark left-aligned (SVG icon)
|
|
241
|
-
- Links: Inter Variable 13–14px weight 510, `#d0d6e0` text
|
|
242
|
-
- Active/hover: text lightens to `#f7f8f8`
|
|
243
|
-
- CTA: Brand indigo button or ghost button
|
|
244
|
-
- Mobile: hamburger collapse
|
|
245
|
-
- Search: command palette trigger (`/` or `Cmd+K`)
|
|
246
|
-
|
|
247
|
-
### Image Treatment
|
|
248
|
-
- Product screenshots on dark backgrounds with subtle border (`rgba(255,255,255,0.08)`)
|
|
249
|
-
- Top-rounded images: `12px 12px 0px 0px` radius
|
|
250
|
-
- Dashboard/issue previews dominate feature sections
|
|
251
|
-
- Subtle shadow beneath screenshots: `rgba(0,0,0,0.4) 0px 2px 4px`
|
|
252
|
-
|
|
253
346
|
---
|
|
254
347
|
|
|
255
|
-
**Verified:** 2026-
|
|
256
|
-
**Tier
|
|
257
|
-
**Tier
|
|
258
|
-
**
|
|
348
|
+
**Verified:** 2026-06-09
|
|
349
|
+
**Tier:** 2 (no public design system / Storybook; brand page at `linear.app/brand` is wordmark + color only; product app behind auth). Harvested across 4 public routes — home, `/pricing`, `/customers`, `/now`.
|
|
350
|
+
**Tier 1 sources:** linear.app live DOM via playwright — nav links 13px / 400 / `#8a8f98` → `#f7f8f8` active, 9999px / 0×12 / 32px; primary CTA `#e5e5e6` fill / `#08090a` text / 9999px / 32px (nav) and 44px / 0×20 / 16px (hero); secondary CTA `rgba(255,255,255,0.05)` / 40–44px / inset+ring shadow; search input `#141516` / 40px / 100px pill; filter pill transparent / `#23252a` border / 26px; "Load more" `rgba(255,255,255,0.05)` / 40px; mega-menu popover `#101112` / 12px / `rgba(255,255,255,0.08)`, submenu `#161718` / 8px; footer `#08090a` with `#23252a` top divider; lime banner `#e4f222` / 8px.
|
|
351
|
+
**Tier 2 sources:** styles.refero.design/style/90ce5883-bb24-4466-93f7-801cd617b0d1 (Primary Action Lime `#e4f222` / `#08090a` text / 6px / Inter Variable 590·15px ✓; Default Card `#0f1011` / 6px ✓); getdesign.md/linear — directory only.
|
|
352
|
+
**Conflicts unresolved:** none. Refero captures the Lime "Build now" CTA (`#e4f222`); live homepage primary is the light neutral `#e5e5e6` ("Sign up"). Both retained as distinct action variants above.
|
|
259
353
|
|
|
260
354
|
## 5. Layout Principles
|
|
261
355
|
|