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
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: 8percent
|
|
3
|
+
name: 8percent
|
|
4
|
+
display_name_kr: 에잇퍼센트
|
|
5
|
+
country: KR
|
|
6
|
+
category: fintech
|
|
7
|
+
homepage: "https://www.8percent.kr/"
|
|
8
|
+
primary_color: "#3282f0"
|
|
9
|
+
logo:
|
|
10
|
+
type: favicon
|
|
11
|
+
slug: "https://www.google.com/s2/favicons?domain=8percent.kr&sz=128"
|
|
12
|
+
verified: "2026-07-02"
|
|
13
|
+
added: "2026-07-02"
|
|
14
|
+
omd: "0.1"
|
|
15
|
+
tokens:
|
|
16
|
+
source: live-extract
|
|
17
|
+
extracted: "2026-07-02"
|
|
18
|
+
note: "primary = live action/emphasis blue (#3282f0); #6741d9 purple is the secondary accent (tinted 'more' pills). Data-dense, near-shadowless product surface on a cool-grey canvas (#f1f3f5) with white (#ffffff) cards. Official DS = EDS (Eight Design System): EdsButton/EdsTextfield/EdsToggle/EdsCheckbox."
|
|
19
|
+
colors:
|
|
20
|
+
primary: "#3282f0"
|
|
21
|
+
accent-purple: "#6741d9"
|
|
22
|
+
ink: "#1d2024"
|
|
23
|
+
slate: "#3c3c3c"
|
|
24
|
+
body: "#606060"
|
|
25
|
+
label: "#4b525a"
|
|
26
|
+
muted: "#858d94"
|
|
27
|
+
faint: "#9ca5ad"
|
|
28
|
+
canvas: "#f1f3f5"
|
|
29
|
+
surface: "#ffffff"
|
|
30
|
+
surface-blue: "#f1f6fe"
|
|
31
|
+
divider: "#dee3e8"
|
|
32
|
+
hairline: "#d2d2d2"
|
|
33
|
+
grade-accent: "#3770b2"
|
|
34
|
+
typography:
|
|
35
|
+
family: { body: "Pretendard", blog: "NanumSquare" }
|
|
36
|
+
stat: { size: 40, weight: 400, lineHeight: 1.10, tracking: -0.9, use: "Hero stat numerals (누적 대출액), Pretendard" }
|
|
37
|
+
section: { size: 24, weight: 700, lineHeight: 1.50, tracking: -0.6, use: "Section titles (모집중 상품), Pretendard Bold" }
|
|
38
|
+
subhead: { size: 16, weight: 700, lineHeight: 1.50, use: "Active nav / disclosure tab, Pretendard Bold" }
|
|
39
|
+
body: { size: 14, weight: 400, lineHeight: 1.15, use: "Standard product text, Pretendard" }
|
|
40
|
+
spacing: { xs: 4, sm: 6, md: 8, base: 12, lg: 16, xl: 32 }
|
|
41
|
+
rounded: { xs: 3, sm: 4, md: 8, lg: 10, xl: 16, full: 9999 }
|
|
42
|
+
shadow:
|
|
43
|
+
none: "none"
|
|
44
|
+
components:
|
|
45
|
+
button-primary: { type: button, bg: "#3282f0", fg: "#ffffff", radius: "8px", font: "16px / 700 Pretendard", states: "EdsButton variants primary/secondary/tertiary, sizes xs/s/m/l", use: "Primary action, brand blue" }
|
|
46
|
+
button-soft: { type: button, bg: "#f1f6fe", fg: "#3282f0", radius: "8px", padding: "6px 16px 6px 12px", font: "14px / 400 Pretendard", use: "Soft blue-tint action pill ('전체 상품, 한 번에 투자')" }
|
|
47
|
+
button-news-pill: { type: button, bg: "rgba(103, 65, 217, 0.1)", fg: "#6741d9", radius: "6px", padding: "8px 16px", font: "14px / 700 Pretendard", use: "Tinted 'more' pill (언론기사 더 보기), purple accent" }
|
|
48
|
+
button-confirm: { type: button, bg: "#ffffff", fg: "#4b525a", border: "1px solid #d2d2d2", radius: "3px", font: "16px / 700 Pretendard", use: "Neutral confirm button (date-picker 확인)" }
|
|
49
|
+
input-text: { type: input, bg: "#ffffff", fg: "#1d2024", border: "1px solid #d2d2d2", radius: "4px", font: "14px Pretendard", focus: "#3282f0", use: "EdsTextfield, brand-blue focus" }
|
|
50
|
+
product-card: { type: card, bg: "#ffffff", border: "1px solid #dee3e8", radius: "10px", use: "Investment product card, flat with #dee3e8 divider" }
|
|
51
|
+
grade-badge: { type: badge, bg: "#3770b2", fg: "#ffffff", radius: "4px", font: "14px / 400 Pretendard", use: "Credit-grade tag on product cards (B tier blue; grades color-coded)" }
|
|
52
|
+
nav-tab: { type: tab, fg: "#9ca5ad", active: "text #1d2024 weight 700", use: "Disclosure section tabs — active bold ink, inactive faint" }
|
|
53
|
+
components_harvested: true
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
# Design System Inspiration of 8percent
|
|
57
|
+
|
|
58
|
+
## 1. Visual Theme & Atmosphere
|
|
59
|
+
|
|
60
|
+
8percent (에잇퍼센트) is Korea's first licensed online investment-linked finance (온투업) platform, and its product surface reads exactly like what it is: a data-dense, trust-first financial marketplace that stays calm instead of loud. The page sits on a soft cool-grey canvas (`#f1f3f5`) with white (`#ffffff`) cards floating on it, separated not by shadows but by a light divider grey (`#dee3e8`) and thin `#d2d2d2` hairlines. Text runs in a restrained cool-neutral ladder — near-black ink (`#1d2024`) for headings, a softer slate (`#3c3c3c`) for the big statistic numerals, and a quiet mid-grey (`#606060`) for body copy. The single saturated action color is a confident blue (`#3282f0`), reserved for emphasis words, links, and the primary call-to-action, so the eye is trained to read that blue as "do this / go here."
|
|
61
|
+
|
|
62
|
+
The typographic personality is Korean-product-standard: everything is set in **Pretendard**, the de-facto hangul UI font, tuned for dense legibility. Headlines are Bold (700) and tightly tracked — section titles at 24px with `-0.6px` tracking (`#1d2024`), and the marquee accumulated-loan statistic at 40px weight 400 with `-0.9px` tracking in slate (`#3c3c3c`). Body and UI text drop to a quiet 14px / weight 400 in `#606060`. The result is a hierarchy driven by weight and size rather than color — appropriate for a page that must present interest rates, credit grades, and loan balances without ever feeling like a hard sell.
|
|
63
|
+
|
|
64
|
+
What distinguishes 8percent from flashier fintech peers is its restraint with depth and its disciplined use of a second accent. There are essentially no drop shadows; grouping comes from flat tinted surfaces and hairlines. Beyond the primary blue, a measured purple (`#6741d9`) appears only on tinted "more" pills (a `rgba(103, 65, 217, 0.1)` wash behind `#6741d9` text). Investment products carry color-coded credit-grade markers — a blue tier (`#3770b2`) plus gold, green, and lilac variants — that turn risk grading into a scannable visual system. Interactive chrome is softly rounded (10px cards dominate, with a 3–16px radius family), and a light-blue tint surface (`#f1f6fe`) hosts the softer secondary actions. It is engineered, orderly, and deliberately un-intimidating — a bank-grade tool that looks like a modern product.
|
|
65
|
+
|
|
66
|
+
**Key Characteristics:**
|
|
67
|
+
- Pretendard throughout — Bold (700) for headings, weight 400 for body/UI, hierarchy by weight not color
|
|
68
|
+
- Single saturated action blue (`#3282f0`) reserved for emphasis, links, and the primary CTA
|
|
69
|
+
- Measured purple accent (`#6741d9`) only on tinted `rgba(103, 65, 217, 0.1)` "more" pills
|
|
70
|
+
- Cool-neutral text ladder: ink (`#1d2024`) → slate (`#3c3c3c`) → body (`#606060`) → muted (`#858d94`) → faint (`#9ca5ad`)
|
|
71
|
+
- Near-shadowless: cool-grey canvas (`#f1f3f5`), white (`#ffffff`) cards, `#dee3e8` dividers and `#d2d2d2` hairlines
|
|
72
|
+
- Color-coded credit grades — blue (`#3770b2`) and a gold/green/lilac spectrum — for scannable risk
|
|
73
|
+
- Softly rounded geometry: 10px card radius dominant, 3–16px family
|
|
74
|
+
- Light-blue tint surface (`#f1f6fe`) for soft secondary actions
|
|
75
|
+
- Official design system EDS (Eight Design System): EdsButton, EdsTextfield, EdsToggle, EdsCheckbox
|
|
76
|
+
|
|
77
|
+
## 2. Color Palette & Roles
|
|
78
|
+
|
|
79
|
+
### Primary
|
|
80
|
+
- **8percent Blue** (`#3282f0`): Primary brand and action color. Emphasis words, links ("사업공시 보러가기"), active markers, and the primary CTA. The system's single "action" hue.
|
|
81
|
+
- **Accent Purple** (`#6741d9`): Secondary accent for tinted "more" pills and press/press-more affordances, shown as `#6741d9` text on a `rgba(103, 65, 217, 0.1)` wash.
|
|
82
|
+
|
|
83
|
+
### Text Ladder
|
|
84
|
+
- **Ink** (`#1d2024`): Primary heading and strong-label color; also the active disclosure-tab label. A near-black with a faint cool cast.
|
|
85
|
+
- **Slate** (`#3c3c3c`): Large statistic numerals and secondary headings (the accumulated-loan figure).
|
|
86
|
+
- **Body** (`#606060`): Standard body/product text — the document default.
|
|
87
|
+
- **Label** (`#4b525a`): Strong secondary labels, neutral confirm-button text, notice-pill text.
|
|
88
|
+
- **Muted** (`#858d94`): Tertiary text, captions, metadata.
|
|
89
|
+
- **Faint** (`#9ca5ad`): Inactive nav labels, disabled/low-emphasis text.
|
|
90
|
+
|
|
91
|
+
### Surface & Border
|
|
92
|
+
- **Canvas Grey** (`#f1f3f5`): Page background; also the neutral notice-pill fill.
|
|
93
|
+
- **Pure White** (`#ffffff`): Card and content surfaces, confirm-button fill, text on the blue CTA.
|
|
94
|
+
- **Surface Blue** (`#f1f6fe`): Light-blue tint surface behind soft secondary actions.
|
|
95
|
+
- **Divider** (`#dee3e8`): The most frequent surface separator — card dividers and section rules in the shadow-free system.
|
|
96
|
+
- **Hairline** (`#d2d2d2`): Thin borders on buttons, inputs, and containers.
|
|
97
|
+
|
|
98
|
+
### Status / Grade
|
|
99
|
+
- **Grade Accent Blue** (`#3770b2`): Credit-grade marker (B tier). Investment products color-code credit grades across a spectrum — the `#3770b2` blue alongside gold (`#d2b82f`), green (`#4a7656`), and lilac (`#8884c9`) — turning risk grade into a scannable cue.
|
|
100
|
+
|
|
101
|
+
## 3. Typography Rules
|
|
102
|
+
|
|
103
|
+
### Font Family
|
|
104
|
+
- **Product**: `Pretendard` (with `Malgun Gothic`, `Apple SD Gothic Neo` fallbacks) — used for all product/marketing UI at weights 400 and 700.
|
|
105
|
+
- **Blog**: `NanumSquare` (with `Source Sans Pro`) — used only on the official product/engineering blog (`8percent.github.io`), not on the product surface.
|
|
106
|
+
|
|
107
|
+
### Hierarchy
|
|
108
|
+
|
|
109
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
110
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
111
|
+
| Hero Stat | Pretendard | 40px (2.50rem) | 400 | 1.10 (44px) | -0.9px | Accumulated-loan numerals (`#3c3c3c`) |
|
|
112
|
+
| Section Heading | Pretendard | 24px (1.50rem) | 700 | 1.50 (36px) | -0.6px | Section titles (`#1d2024`) |
|
|
113
|
+
| Subhead / Active Tab | Pretendard | 16px (1.00rem) | 700 | 1.50 | normal | Active nav / disclosure tab (`#1d2024`) |
|
|
114
|
+
| Body | Pretendard | 14px (0.88rem) | 400 | 1.15 (16.1px) | normal | Standard product text (`#606060`) |
|
|
115
|
+
|
|
116
|
+
### Principles
|
|
117
|
+
- **Weight over color for hierarchy**: 700 headings vs 400 body carry the structure; the palette stays neutral so financial data reads cleanly.
|
|
118
|
+
- **Tight tracking on display**: -0.9px at 40px and -0.6px at 24px compress headlines; body stays at normal tracking.
|
|
119
|
+
- **One typeface, two weights**: Pretendard 700 and 400 do all product work — no decorative display face. NanumSquare is walled off to the blog.
|
|
120
|
+
- **Hangul-first density**: body at a deliberate 14px with a tight 16.1px line-height suits information-rich financial layouts.
|
|
121
|
+
|
|
122
|
+
## 4. Component Stylings
|
|
123
|
+
|
|
124
|
+
### Buttons
|
|
125
|
+
|
|
126
|
+
**Primary (EdsButton)**
|
|
127
|
+
- Background: `#3282f0`
|
|
128
|
+
- Text: `#ffffff`
|
|
129
|
+
- Radius: 8px
|
|
130
|
+
- Font: 16px Pretendard weight 700
|
|
131
|
+
- Use: Primary action, brand blue (EDS EdsButton — variants primary/secondary/tertiary, sizes xs/s/m/l)
|
|
132
|
+
|
|
133
|
+
**Soft Blue-Tint**
|
|
134
|
+
- Background: `#f1f6fe`
|
|
135
|
+
- Text: `#3282f0`
|
|
136
|
+
- Radius: 8px
|
|
137
|
+
- Padding: 6px 16px 6px 12px
|
|
138
|
+
- Font: 14px Pretendard weight 400
|
|
139
|
+
- Height: 40px
|
|
140
|
+
- Use: Soft secondary action pill ("전체 상품, 한 번에 투자해볼까요?") with blue emphasis
|
|
141
|
+
|
|
142
|
+
**News-More Pill**
|
|
143
|
+
- Background: `rgba(103, 65, 217, 0.1)`
|
|
144
|
+
- Text: `#6741d9`
|
|
145
|
+
- Radius: 6px
|
|
146
|
+
- Padding: 8px 16px
|
|
147
|
+
- Font: 14px Pretendard weight 700
|
|
148
|
+
- Height: 40px
|
|
149
|
+
- Use: Tinted "more" pill ("언론기사 더 보기") — the purple accent's home
|
|
150
|
+
|
|
151
|
+
**Neutral Confirm**
|
|
152
|
+
- Background: `#ffffff`
|
|
153
|
+
- Text: `#4b525a`
|
|
154
|
+
- Border: 1px solid `#d2d2d2`
|
|
155
|
+
- Radius: 3px
|
|
156
|
+
- Font: 16px Pretendard weight 700
|
|
157
|
+
- Height: 60px
|
|
158
|
+
- Use: Neutral confirm button (date-picker "확인")
|
|
159
|
+
|
|
160
|
+
### Inputs
|
|
161
|
+
|
|
162
|
+
**EdsTextfield**
|
|
163
|
+
- Background: `#ffffff`
|
|
164
|
+
- Text: `#1d2024`
|
|
165
|
+
- Border: 1px solid `#d2d2d2`
|
|
166
|
+
- Radius: 4px
|
|
167
|
+
- Font: 14px Pretendard
|
|
168
|
+
- Focus: `#3282f0`
|
|
169
|
+
- Use: Standard text field (EDS EdsTextfield), brand-blue focus
|
|
170
|
+
|
|
171
|
+
### Cards & Containers
|
|
172
|
+
|
|
173
|
+
**Product Card**
|
|
174
|
+
- Background: `#ffffff`
|
|
175
|
+
- Border: 1px solid `#dee3e8`
|
|
176
|
+
- Radius: 10px
|
|
177
|
+
- Use: Investment product card — flat, separated by the `#dee3e8` divider (no shadow)
|
|
178
|
+
|
|
179
|
+
### Badges
|
|
180
|
+
|
|
181
|
+
**Credit-Grade Tag**
|
|
182
|
+
- Background: `#3770b2`
|
|
183
|
+
- Text: `#ffffff`
|
|
184
|
+
- Radius: 4px
|
|
185
|
+
- Font: 14px Pretendard weight 400
|
|
186
|
+
- Use: Credit-grade marker on product cards (B tier blue; grades color-coded across a gold/green/lilac spectrum)
|
|
187
|
+
|
|
188
|
+
### Navigation
|
|
189
|
+
- Text (active): `#1d2024`
|
|
190
|
+
- Text (inactive): `#9ca5ad`
|
|
191
|
+
- Font: 16px Pretendard weight 700 (active), weight 400 (inactive)
|
|
192
|
+
- Use: Disclosure section tabs ("경영현황", "이용정보", "취급현황") — active bold ink, inactive faint
|
|
193
|
+
|
|
194
|
+
### Notice Pill
|
|
195
|
+
- Background: `#f1f3f5`
|
|
196
|
+
- Text: `#4b525a`
|
|
197
|
+
- Radius: 16px
|
|
198
|
+
- Padding: 0px 16px
|
|
199
|
+
- Height: 56px
|
|
200
|
+
- Use: Notice/announcement link pill ("[공지] 개인정보 처리방침 개정 안내")
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
**Verified:** 2026-07-02 (omd:add-reference CREATE — Tier 1 live inspect, 3 surfaces)
|
|
205
|
+
**Tier 1 sources:** https://www.8percent.kr/, https://www.8percent.kr/disclosures/, https://8percent.github.io/, https://8percent.github.io/2024-07-15/frontend-eds-improvement/
|
|
206
|
+
**Tier 2 sources:** getdesign.md/8percent — 404 (no entry); styles.refero.design/?q=8percent — not listed (generic catalog only)
|
|
207
|
+
**Conflicts unresolved:** none
|
|
208
|
+
|
|
209
|
+
## 5. Layout Principles
|
|
210
|
+
|
|
211
|
+
### Spacing System
|
|
212
|
+
- Base unit: ~4px
|
|
213
|
+
- Scale: 4px, 6px, 8px, 12px, 16px, 32px
|
|
214
|
+
- Notable: soft pills use compact 6px vertical / 12–16px horizontal padding; cards and product blocks use generous internal padding, with a dense 16.1px body line-height to pack financial data
|
|
215
|
+
|
|
216
|
+
### Grid & Container
|
|
217
|
+
- Cool-grey (`#f1f3f5`) full-width canvas hosting white (`#ffffff`) cards
|
|
218
|
+
- Investment products laid out as a scannable card grid with color-coded grade markers
|
|
219
|
+
- Hero statistic band ("누적 대출액") anchors the top with a large 40px numeral
|
|
220
|
+
- Disclosure surfaces use tabbed sections ("경영현황"/"이용정보"/"취급현황") over tabular data
|
|
221
|
+
|
|
222
|
+
### Whitespace Philosophy
|
|
223
|
+
- **Flat segmentation**: sections separate by the `#dee3e8` divider and `#d2d2d2` hairlines, not by elevation
|
|
224
|
+
- **Dense data, calm chrome**: rates, grades, and balances are packed tightly while the surrounding chrome stays airy and neutral
|
|
225
|
+
- **Restraint with color**: the neutral field keeps the single blue action color and purple accent legible
|
|
226
|
+
|
|
227
|
+
### Border Radius Scale
|
|
228
|
+
- Extra-small (3px): confirm buttons, tight controls
|
|
229
|
+
- Small (4px): inputs, grade tags, small containers
|
|
230
|
+
- Medium (8px): soft action pills
|
|
231
|
+
- Large (10px): product cards — the workhorse radius (dominant on the page)
|
|
232
|
+
- Extra-large (16px): notice pills, large containers
|
|
233
|
+
- Full (9999px): pills / circular markers
|
|
234
|
+
|
|
235
|
+
## 6. Depth & Elevation
|
|
236
|
+
|
|
237
|
+
| Level | Treatment | Use |
|
|
238
|
+
|-------|-----------|-----|
|
|
239
|
+
| Flat (Level 0) | No shadow | Page background, inline text, most surfaces |
|
|
240
|
+
| Tint (Level 1) | `#f1f3f5` canvas vs `#ffffff` card shift | Card/section separation without elevation |
|
|
241
|
+
| Divider (Level 2) | `#dee3e8` rule / `1px solid #d2d2d2` hairline | Card outlines, list separators, dividers |
|
|
242
|
+
|
|
243
|
+
**Shadow Philosophy**: 8percent is a near-shadowless system. Live inspection found `box-shadow: none` across the hero, section headings, product cards, and buttons; the dominant repeated surface color is the `#dee3e8` divider rather than any elevation token. Separation and grouping are communicated through flat tint (cool-grey `#f1f3f5` canvas vs white `#ffffff` cards) and thin `#d2d2d2` hairlines. This is a deliberate modern-flat choice that keeps a data-heavy financial UI feeling clean, fast, and trustworthy — when emphasis is needed the system reaches for color (blue `#3282f0`) or a tinted surface (`#f1f6fe`), never a drop shadow.
|
|
244
|
+
|
|
245
|
+
## 7. Do's and Don'ts
|
|
246
|
+
|
|
247
|
+
### Do
|
|
248
|
+
- Use Pretendard throughout — 700 for headings, 400 for body/UI
|
|
249
|
+
- Drive hierarchy with weight and size, keeping the palette neutral for dense financial data
|
|
250
|
+
- Reserve blue (`#3282f0`) for the primary action, emphasis, and links — the single action color
|
|
251
|
+
- Use the purple accent (`#6741d9`) only on tinted `rgba(103, 65, 217, 0.1)` "more" pills
|
|
252
|
+
- Separate surfaces with the `#dee3e8` divider and `#d2d2d2` hairlines, not shadows
|
|
253
|
+
- Set the canvas to cool-grey (`#f1f3f5`) with white (`#ffffff`) cards
|
|
254
|
+
- Color-code credit grades (blue `#3770b2` plus the gold/green/lilac spectrum) for scannable risk
|
|
255
|
+
- Use the 10px card radius as the default; keep the 3–16px radius family
|
|
256
|
+
|
|
257
|
+
### Don't
|
|
258
|
+
- Use drop shadows for elevation — 8percent is a flat, hairline-and-divider system
|
|
259
|
+
- Spread the blue across many elements — it dilutes the single-action signal
|
|
260
|
+
- Introduce a third saturated accent — blue is primary, purple is the one measured accent
|
|
261
|
+
- Set body text in the ink navy — reserve `#1d2024` for headings; body is `#606060`
|
|
262
|
+
- Use heavy display faces — Pretendard 700/400 carries everything on the product surface
|
|
263
|
+
- Use NanumSquare on the product UI — it belongs to the blog only
|
|
264
|
+
- Use positive letter-spacing on headlines — display tracks tight (-0.9px / -0.6px)
|
|
265
|
+
- Rely on color alone to grade risk — pair the grade color with the letter grade
|
|
266
|
+
|
|
267
|
+
## 8. Responsive Behavior
|
|
268
|
+
|
|
269
|
+
### Breakpoints
|
|
270
|
+
| Name | Width | Key Changes |
|
|
271
|
+
|------|-------|-------------|
|
|
272
|
+
| Mobile | <640px | Single-column product cards, hero stat compresses, tabs scroll |
|
|
273
|
+
| Tablet | 640-1024px | 2-up product cards, moderate padding |
|
|
274
|
+
| Desktop | 1024-1440px | Full multi-column product grid, centered content |
|
|
275
|
+
|
|
276
|
+
### Touch Targets
|
|
277
|
+
- Neutral confirm buttons at 60px height — an unmistakable tap target
|
|
278
|
+
- Notice pills at 56px height; soft action pills at 40px
|
|
279
|
+
- Nav/disclosure tabs spaced for touch within the header
|
|
280
|
+
|
|
281
|
+
### Collapsing Strategy
|
|
282
|
+
- Hero statistic: 40px numeral scales down on mobile, weight 400 maintained
|
|
283
|
+
- Product grid: multi-column → 2-up → single column stacked
|
|
284
|
+
- Disclosure tables: horizontal scroll on narrow viewports
|
|
285
|
+
- Tinted/white surfaces maintain full-width treatment
|
|
286
|
+
|
|
287
|
+
### Image Behavior
|
|
288
|
+
- Product/grade thumbnails keep their color-coded backgrounds at all sizes
|
|
289
|
+
- Cards maintain the 10px radius across breakpoints, no shadow at any size
|
|
290
|
+
|
|
291
|
+
## 9. Agent Prompt Guide
|
|
292
|
+
|
|
293
|
+
### Quick Color Reference
|
|
294
|
+
- Primary action / link: 8percent Blue (`#3282f0`)
|
|
295
|
+
- Secondary accent (tinted pill): Accent Purple (`#6741d9`)
|
|
296
|
+
- Heading / active label: Ink (`#1d2024`)
|
|
297
|
+
- Statistic numerals: Slate (`#3c3c3c`)
|
|
298
|
+
- Body text: Body Grey (`#606060`)
|
|
299
|
+
- Strong label / confirm text: Label (`#4b525a`)
|
|
300
|
+
- Muted text: `#858d94`
|
|
301
|
+
- Faint / inactive: `#9ca5ad`
|
|
302
|
+
- Canvas: Cool Grey (`#f1f3f5`)
|
|
303
|
+
- Card surface: White (`#ffffff`)
|
|
304
|
+
- Soft tint surface: `#f1f6fe`
|
|
305
|
+
- Divider: `#dee3e8`
|
|
306
|
+
- Hairline: `#d2d2d2`
|
|
307
|
+
- Credit-grade blue: `#3770b2`
|
|
308
|
+
|
|
309
|
+
### Example Component Prompts
|
|
310
|
+
- "Create a fintech product listing on a cool-grey canvas (#f1f3f5) with white (#ffffff) cards, 10px radius, separated by a #dee3e8 divider and no shadow. Section title 24px Pretendard weight 700, letter-spacing -0.6px, color #1d2024. Primary CTA: #3282f0 background, white text, 8px radius, 16px Pretendard 700."
|
|
311
|
+
- "Design a hero statistic band: 40px Pretendard weight 400, letter-spacing -0.9px, color #3c3c3c ('누적 대출액'). Body labels 14px weight 400, #606060."
|
|
312
|
+
- "Build a soft secondary action pill: #f1f6fe background, 8px radius, 6px 16px 6px 12px padding, near-ink label with a #3282f0 emphasis word. And a 'more' pill: rgba(103,65,217,0.1) background, #6741d9 text, 6px radius."
|
|
313
|
+
- "Create disclosure tabs: active label #1d2024 16px Pretendard 700, inactive label #9ca5ad weight 400. Below, a text field: white background, 1px solid #d2d2d2, 4px radius, #3282f0 focus."
|
|
314
|
+
- "Add a credit-grade badge: #3770b2 background, white text, 4px radius, 14px Pretendard — one of a color-coded grade spectrum (also gold, green, lilac)."
|
|
315
|
+
|
|
316
|
+
### Iteration Guide
|
|
317
|
+
1. Pretendard for everything on the product surface — 700 headings, 400 body
|
|
318
|
+
2. Blue (`#3282f0`) is the single action color; purple (`#6741d9`) is the one measured accent (tinted pills only)
|
|
319
|
+
3. No shadows — separate with `#dee3e8` dividers and `#d2d2d2` hairlines
|
|
320
|
+
4. Canvas is cool-grey `#f1f3f5`; cards are white `#ffffff` at 10px radius
|
|
321
|
+
5. Text color is `#606060` body / `#1d2024` headings — never ink for body copy
|
|
322
|
+
6. Tight negative tracking on headlines, normal on body
|
|
323
|
+
7. Color-code credit grades but always pair the color with the letter grade
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
## 10. Voice & Tone
|
|
328
|
+
|
|
329
|
+
8percent's voice is **plain, reassuring, and evidence-led** — a financial platform that earns trust by showing numbers, not by hyping returns. Its name states the thesis directly (targeting a mid-single-digit yield that sits between low deposit rates and high consumer-loan rates), and the homepage leads with a verifiable statistic ("누적 대출액 1조 3,955억 2,815만 원" / accumulated loan volume) rather than a slogan. Copy treats the reader as a rational investor who deserves disclosure and comparison, and it foregrounds regulatory standing ("온투업 1호" — the first licensed online investment-linked finance company).
|
|
330
|
+
|
|
331
|
+
| Context | Tone |
|
|
332
|
+
|---|---|
|
|
333
|
+
| Hero / statistics | Concrete and quantified. Leads with accumulated-loan figures, not adjectives. |
|
|
334
|
+
| Product labels | Functional and precise. Credit grade, rate, term stated plainly. |
|
|
335
|
+
| CTAs | Direct, low-pressure. "한 번에 투자", "사업공시 보러가기", "더 보기". |
|
|
336
|
+
| Disclosure / compliance | Formal, transparent. Business-disclosure tabs read like a regulatory filing. |
|
|
337
|
+
| Press / trust copy | Factual, third-party-anchored. Cites coverage and milestones, not superlatives. |
|
|
338
|
+
|
|
339
|
+
**Voice samples (verbatim from live surfaces):**
|
|
340
|
+
- "모집중 상품" — section heading; plainly names the state ("products now funding"). *(verified live 2026-07-02)*
|
|
341
|
+
- "누적 대출액 1조 3,955억 2,815만 원" — hero statistic (quantified trust). *(verified live 2026-07-02)*
|
|
342
|
+
- "사업공시 보러가기" — disclosure link (transparency-first CTA). *(verified live 2026-07-02)*
|
|
343
|
+
|
|
344
|
+
**Forbidden register**: guaranteed-return language, fear- or urgency-based investment pressure, undefined financial jargon left unexplained, exclamation-heavy hype.
|
|
345
|
+
|
|
346
|
+
## 11. Brand Narrative
|
|
347
|
+
|
|
348
|
+
8percent (에잇퍼센트) was founded around **2014 by 이효진 (Lee Hyo-jin, CEO)**, a former bank employee, to attack a uniquely Korean gap: the chasm between the low single-digit rates savers earned on deposits and the high double-digit rates borrowers paid on consumer and card loans. The brand name encodes the mission — connect lenders and borrowers directly so both meet near a fairer middle (an ~8% register) — reframing lending as a transparent, data-driven marketplace rather than an opaque bank product. The company became **Korea's first licensed online investment-linked finance provider (온투업 1호)**, a positioning it still leads with on the homepage.
|
|
349
|
+
|
|
350
|
+
Over a decade the platform matured into an established P2P/online-investment brand — the live homepage marks its 10th-anniversary milestones and an accumulated loan volume above 1.39 trillion won, and press coverage on the site documents institutional-investor inflows and the CEO's public profile (including a noted meeting with then-U.S. Treasury Secretary Janet Yellen). The brand positions itself as the disciplined, disclosure-forward operator in a category that has seen less-careful players fail.
|
|
351
|
+
|
|
352
|
+
What 8percent refuses, visible in its design: the hard-sell urgency and guaranteed-return theatrics of predatory lending marketing, and the heavy institutional chrome of legacy banking. What it embraces: a flat, data-dense, near-shadowless interface; a single trustworthy blue; verifiable statistics leading the page; and color-coded credit grading that makes risk legible rather than hidden.
|
|
353
|
+
|
|
354
|
+
## 12. Principles
|
|
355
|
+
|
|
356
|
+
1. **Show the numbers.** Trust is earned with verifiable data, not adjectives. *UI implication:* lead with real statistics (accumulated loan volume, rates, grades); keep the palette neutral so figures read cleanly.
|
|
357
|
+
2. **Make risk legible.** Credit grade is a first-class citizen, not fine print. *UI implication:* color-code grades (blue `#3770b2` and a gold/green/lilac spectrum) and always pair the color with the letter grade.
|
|
358
|
+
3. **One action, one color.** Blue (`#3282f0`) means "do this." *UI implication:* reserve the saturated blue for the primary CTA, emphasis, and links so the next step is never ambiguous.
|
|
359
|
+
4. **Flat and calm.** Data density beats decorative depth. *UI implication:* no shadows; separate with `#dee3e8` dividers and `#d2d2d2` hairlines on a cool-grey canvas.
|
|
360
|
+
5. **Disclosure over persuasion.** Regulatory transparency is a design surface. *UI implication:* give business disclosures tidy tabbed layouts that read like a filing, not a sales page.
|
|
361
|
+
|
|
362
|
+
## 13. Personas
|
|
363
|
+
|
|
364
|
+
*Personas below are fictional archetypes informed by publicly observable 8percent user segments (Korean retail investors seeking mid-yield alternatives, borrowers refinancing high-rate loans), not individual people.*
|
|
365
|
+
|
|
366
|
+
**정민수, 34, 서울.** A salaried retail investor parking part of his savings for a better-than-deposit yield. Distrusts "guaranteed return" pitches; values that 8percent leads with accumulated-loan figures and a visible license status. Chose it because the credit grades and disclosures let him judge risk himself.
|
|
367
|
+
|
|
368
|
+
**한지영, 41, 경기.** A small-business owner who used 8percent to refinance a high-rate loan into a lower-rate one. Appreciates that terms and grades are shown plainly and that the interface feels like a calm tool, not a pressure funnel.
|
|
369
|
+
|
|
370
|
+
**오세라, 29, 부산.** A cautious first-time P2P investor who reads the business-disclosure tabs before committing. Trusts the brand's factual, third-party-anchored tone and its decade-long track record over flashier newcomers.
|
|
371
|
+
|
|
372
|
+
## 14. States
|
|
373
|
+
|
|
374
|
+
| State | Treatment |
|
|
375
|
+
|---|---|
|
|
376
|
+
| **Empty (no products funding)** | White (`#ffffff`) card on the `#f1f3f5` canvas. Single Ink (`#1d2024`) line stating no products are currently funding, with a calm path to upcoming products. No illustration clutter. |
|
|
377
|
+
| **Empty (no investments yet)** | Muted (`#858d94`) single line explaining nothing invested yet, plus a `#3282f0` link into the product list. Honest and quiet. |
|
|
378
|
+
| **Loading (product list fetch)** | Skeleton cards at final dimensions, 10px radius, on the `#dee3e8`/`#f1f3f5` neutral field. Flat pulse — no shadow shimmer, consistent with the shadowless system. |
|
|
379
|
+
| **Loading (figures compute)** | Inline placeholder within the statistic band; previously loaded numbers stay visible until refreshed. |
|
|
380
|
+
| **Error (fetch failed)** | Inline message in Ink (`#1d2024`) with a plain-language explanation and a retry. Never a bare "오류가 발생했습니다" — states what to do next. |
|
|
381
|
+
| **Error (form validation)** | Field-level message below the EdsTextfield describing what is valid, not just "필수". |
|
|
382
|
+
| **Success (investment placed)** | Brief inline confirmation in a calm tone; the transaction/grade detail is linked immediately below. No celebratory emoji. |
|
|
383
|
+
| **Skeleton** | `#dee3e8` blocks at final dimensions, 10px radius, flat pulse. |
|
|
384
|
+
| **Disabled** | Faint (`#9ca5ad`) text on a reduced-opacity surface; the blue action fades rather than turning grey, preserving the brand read. |
|
|
385
|
+
|
|
386
|
+
## 15. Motion & Easing
|
|
387
|
+
|
|
388
|
+
**Durations**:
|
|
389
|
+
|
|
390
|
+
| Token | Value | Use |
|
|
391
|
+
|---|---|---|
|
|
392
|
+
| `motion-fast` | 120ms | Hover, pill press, focus |
|
|
393
|
+
| `motion-standard` | 200ms | Card/section reveal, tab switch, dropdown |
|
|
394
|
+
| `motion-slow` | 320ms | Page-level transitions, modal |
|
|
395
|
+
|
|
396
|
+
**Easings**:
|
|
397
|
+
|
|
398
|
+
| Token | Curve | Use |
|
|
399
|
+
|---|---|---|
|
|
400
|
+
| `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Arriving — cards, sheets, dropdowns |
|
|
401
|
+
| `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
|
|
402
|
+
| `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions |
|
|
403
|
+
|
|
404
|
+
**Motion rules**: Motion is functional and restrained — consistent with the flat, data-first aesthetic. Pills and buttons respond to press with a subtle opacity/scale shift; product cards fade-in from below at `motion-standard / ease-enter`. No bounce or spring — a regulated finance product signals steadiness, not playfulness. Under `prefers-reduced-motion: reduce`, all transitions collapse to instant; the product remains fully functional.
|
|
405
|
+
|
|
406
|
+
<!--
|
|
407
|
+
OmD v0.1 Sources — Philosophy Layer (sections 10–15)
|
|
408
|
+
|
|
409
|
+
Tier 1 live inspect (2026-07-02) via playwright getComputedStyle on https://www.8percent.kr/,
|
|
410
|
+
https://www.8percent.kr/disclosures/, and https://8percent.github.io/:
|
|
411
|
+
- Action/emphasis blue rgb(50,130,240) #3282f0; secondary accent purple rgb(103,65,217) #6741d9
|
|
412
|
+
on a rgba(103,65,217,0.1) tint pill ("언론기사 더 보기")
|
|
413
|
+
- Headings rgb(29,32,36) #1d2024 (H3 24px/700/-0.6px); hero stat rgb(60,60,60) #3c3c3c (40px/400/-0.9px)
|
|
414
|
+
- Body Pretendard rgb(96,96,96) #606060 14px/line-height 16.1px; canvas rgb(241,243,245) #f1f3f5
|
|
415
|
+
- box-shadow: none across hero/cards/buttons; dominant divider rgb(222,227,232) #dee3e8
|
|
416
|
+
- Credit-grade card backgrounds color-coded: #3770b2 blue / #d2b82f gold / #4a7656 green / #8884c9 lilac
|
|
417
|
+
- Official DS = EDS (Eight Design System): EdsButton (primary/secondary/tertiary, xs/s/m/l),
|
|
418
|
+
EdsTextfield, EdsToggle, EdsCheckbox — https://8percent.github.io/2024-07-15/frontend-eds-improvement/
|
|
419
|
+
|
|
420
|
+
Token-level claims (§1-9) are sourced from this live inspection + the EDS blog post.
|
|
421
|
+
|
|
422
|
+
Voice samples (§10) are verbatim from the live homepage ("모집중 상품", "누적 대출액 …",
|
|
423
|
+
"사업공시 보러가기").
|
|
424
|
+
|
|
425
|
+
Brand narrative (§11): 8percent (에잇퍼센트) founded ~2014, CEO 이효진 (Lee Hyo-jin); Korea's first
|
|
426
|
+
licensed online investment-linked finance company (온투업 1호). The 10th-anniversary milestone,
|
|
427
|
+
accumulated-loan figure (>1.39 trillion won), institutional-inflow coverage, and the CEO/Janet
|
|
428
|
+
Yellen meeting are all surfaced on the live homepage's press links. Broader founding details are
|
|
429
|
+
widely documented public facts, not directly quoted from a verified 8percent statement in this turn.
|
|
430
|
+
|
|
431
|
+
Personas (§13) are fictional archetypes informed by publicly observable 8percent user segments
|
|
432
|
+
(Korean retail investors, refinancing borrowers). Names are illustrative; they do not refer to
|
|
433
|
+
real people.
|
|
434
|
+
|
|
435
|
+
Interpretive claims (e.g., "one action, one color", "flat and calm as a rejection of predatory-
|
|
436
|
+
lending theatrics and legacy-bank chrome") are editorial readings connecting 8percent's observed
|
|
437
|
+
design to its positioning, not directly sourced 8percent statements.
|
|
438
|
+
-->
|