oh-my-design-cli 1.8.7 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/hooks/lib/preferences-parser.cjs +1 -0
- package/.claude/hooks/lib/preferences-writer.cjs +1 -0
- package/.claude/hooks/post-edit-watch.cjs +1 -0
- package/.claude/hooks/session-end-foldin.cjs +1 -0
- package/.claude/hooks/session-state-loader.cjs +1 -0
- package/.claude/hooks/skill-activation.cjs +1 -0
- package/.claude/settings.json +10 -1
- package/.github/assets/logo-bg.png +0 -0
- package/AGENTS.md +20 -1
- package/CHANGELOG.md +482 -0
- package/MIGRATION.md +103 -0
- package/README.ja.md +56 -19
- package/README.ko.md +47 -30
- package/README.md +48 -30
- package/README.zh-TW.md +59 -22
- package/agents/AGENT.md +8 -7
- package/agents/omd-codex-image.md +1 -1
- package/agents/omd-critic.md +6 -7
- package/agents/omd-designer-review.md +1 -1
- package/agents/omd-final-qa.md +1 -1
- package/agents/omd-humanizer.md +38 -0
- package/agents/omd-kr-writer.md +3 -4
- package/agents/omd-locale-adapter.md +12 -16
- package/agents/omd-master.md +24 -19
- package/agents/omd-microcopy.md +1 -1
- package/agents/omd-orchestrator.md +7 -8
- package/agents/omd-slop-auditor.md +31 -0
- package/agents/omd-ux-researcher.md +1 -1
- package/data/reference-fingerprints.json +1995 -38
- package/dist/bin/oh-my-design.js +16 -8
- package/dist/bin/oh-my-design.js.map +1 -1
- package/dist/chunk-UJIHCEYF.js +99 -0
- package/dist/chunk-UJIHCEYF.js.map +1 -0
- package/dist/doctor-LDWSFM3I.js +763 -0
- package/dist/doctor-LDWSFM3I.js.map +1 -0
- package/dist/install-skills-ZZFNJ2II.js +1120 -0
- package/dist/install-skills-ZZFNJ2II.js.map +1 -0
- package/docs/CLI_QUICKSTART.md +157 -0
- package/package.json +25 -4
- package/scripts/postinstall.cjs +5 -4
- package/skills/claude-design/SKILL.md +38 -14
- package/skills/claude-design/references/claude-design-flow.md +11 -11
- package/skills/claude-design/references/codebase-analysis.md +5 -4
- package/skills/omd-final-qa/SKILL.md +1 -1
- package/skills/omd-harness/SKILL.md +51 -50
- package/skills/omd-humanize/SKILL.md +116 -0
- package/skills/omd-humanize/agents/openai.yaml +4 -0
- package/skills/omd-humanize/references/locale-playbooks.md +102 -0
- package/skills/omd-humanize/references/sources.md +11 -0
- package/skills/omd-init/SKILL.md +18 -12
- package/skills/omd-locale-adapter/SKILL.md +58 -91
- package/skills/omd-orchestrator/SKILL.md +11 -5
- package/skills/omd-reference-capture/SKILL.md +80 -26
- package/skills/omd-reference-capture/scripts/PLAYWRIGHT-LICENSE.txt +202 -0
- package/skills/omd-reference-capture/scripts/PLAYWRIGHT-NOTICE.txt +5 -0
- package/skills/omd-reference-capture/scripts/THIRD_PARTY_NOTICES.md +3 -0
- package/skills/omd-reference-capture/scripts/capture-reference-evidence.mjs +159906 -0
- package/skills/omd-slop-audit/SKILL.md +110 -0
- package/skills/omd-slop-audit/agents/openai.yaml +4 -0
- package/skills/omd-slop-audit/references/pattern-catalog.md +96 -0
- package/skills/omd-slop-audit/references/sources.md +24 -0
- package/web/references/104/DESIGN.md +354 -0
- package/web/references/11st/DESIGN.md +197 -316
- package/web/references/29cm/DESIGN.md +297 -393
- package/web/references/42dot/DESIGN.md +390 -0
- package/web/references/8percent/DESIGN.md +438 -0
- package/web/references/ably/DESIGN.md +267 -572
- package/web/references/acer/DESIGN.md +329 -0
- package/web/references/airbnb/DESIGN.md +219 -557
- package/web/references/alipay/DESIGN.md +179 -420
- package/web/references/apple/DESIGN.md +224 -498
- package/web/references/asleep/DESIGN.md +402 -0
- package/web/references/au/DESIGN.md +334 -0
- package/web/references/autopedia/DESIGN.md +382 -0
- package/web/references/aws-cloudscape/DESIGN.md +241 -0
- package/web/references/baemin/DESIGN.md +332 -491
- package/web/references/banksalad/DESIGN.md +269 -180
- package/web/references/barogo/DESIGN.md +416 -0
- package/web/references/beusable/DESIGN.md +464 -0
- package/web/references/bilibili/DESIGN.md +206 -374
- package/web/references/bmw/DESIGN.md +162 -276
- package/web/references/brandi/DESIGN.md +184 -325
- package/web/references/catchtable/DESIGN.md +219 -264
- package/web/references/cgv/DESIGN.md +317 -0
- package/web/references/channeltalk/DESIGN.md +210 -336
- package/web/references/china-airlines/DESIGN.md +291 -0
- package/web/references/cjonstyle/DESIGN.md +453 -0
- package/web/references/class101/DESIGN.md +168 -387
- package/web/references/classum/DESIGN.md +228 -203
- package/web/references/claude/DESIGN.md +242 -479
- package/web/references/clay/DESIGN.md +179 -377
- package/web/references/clickhouse/DESIGN.md +254 -343
- package/web/references/cohere/DESIGN.md +214 -324
- package/web/references/coinone/DESIGN.md +199 -179
- package/web/references/corca/DESIGN.md +414 -0
- package/web/references/coupang/DESIGN.md +205 -475
- package/web/references/cursor/DESIGN.md +240 -381
- package/web/references/dabang/DESIGN.md +248 -213
- package/web/references/dable/DESIGN.md +431 -0
- package/web/references/datarize/DESIGN.md +217 -330
- package/web/references/dealicious/DESIGN.md +402 -0
- package/web/references/drdiary/DESIGN.md +404 -0
- package/web/references/elastic/DESIGN.md +238 -0
- package/web/references/elevenlabs/DESIGN.md +183 -321
- package/web/references/eslite/DESIGN.md +257 -0
- package/web/references/evaair/DESIGN.md +338 -0
- package/web/references/expo/DESIGN.md +238 -331
- package/web/references/familymart-tw/DESIGN.md +254 -0
- package/web/references/ferrari/DESIGN.md +160 -377
- package/web/references/figma/DESIGN.md +197 -451
- package/web/references/fitpet/DESIGN.md +445 -0
- package/web/references/flex/DESIGN.md +170 -253
- package/web/references/framer/DESIGN.md +197 -340
- package/web/references/freee/DESIGN.md +211 -533
- package/web/references/friendliai/DESIGN.md +431 -0
- package/web/references/frip/DESIGN.md +440 -0
- package/web/references/gangnamunni/DESIGN.md +154 -591
- package/web/references/gaudiolab/DESIGN.md +414 -0
- package/web/references/google/DESIGN.md +290 -398
- package/web/references/hashicorp/DESIGN.md +273 -318
- package/web/references/heydealer/DESIGN.md +429 -0
- package/web/references/humanscape/DESIGN.md +433 -0
- package/web/references/hyundai/DESIGN.md +158 -368
- package/web/references/hyundaicard/DESIGN.md +171 -121
- package/web/references/ibm/DESIGN.md +227 -378
- package/web/references/idus/DESIGN.md +450 -0
- package/web/references/igaworks/DESIGN.md +437 -0
- package/web/references/inflearn/DESIGN.md +221 -366
- package/web/references/intuit/DESIGN.md +244 -0
- package/web/references/jandi/DESIGN.md +191 -291
- package/web/references/jobplanet/DESIGN.md +415 -0
- package/web/references/kakao/DESIGN.md +287 -475
- package/web/references/kakaobank/DESIGN.md +220 -521
- package/web/references/kakaogames/DESIGN.md +220 -0
- package/web/references/kakaopay/DESIGN.md +207 -526
- package/web/references/karrot/DESIGN.md +227 -251
- package/web/references/kb-kookmin/DESIGN.md +308 -0
- package/web/references/kbank/DESIGN.md +220 -175
- package/web/references/kmong/DESIGN.md +281 -356
- package/web/references/krds/DESIGN.md +245 -19
- package/web/references/kream/DESIGN.md +224 -359
- package/web/references/kurly/DESIGN.md +211 -533
- package/web/references/lamborghini/DESIGN.md +198 -360
- package/web/references/lguplus/DESIGN.md +259 -0
- package/web/references/likelion/DESIGN.md +283 -0
- package/web/references/line/DESIGN.md +396 -355
- package/web/references/linear.app/DESIGN.md +209 -562
- package/web/references/lotteon/DESIGN.md +386 -0
- package/web/references/lovable/DESIGN.md +255 -349
- package/web/references/makinarocks/DESIGN.md +149 -349
- package/web/references/maum-ai/DESIGN.md +423 -0
- package/web/references/medibloc/DESIGN.md +425 -0
- package/web/references/megabox/DESIGN.md +232 -0
- package/web/references/mercari/DESIGN.md +217 -434
- package/web/references/microsoft/DESIGN.md +234 -388
- package/web/references/mildang/DESIGN.md +411 -0
- package/web/references/millie/DESIGN.md +183 -504
- package/web/references/minimax/DESIGN.md +264 -322
- package/web/references/miricanvas/DESIGN.md +182 -355
- package/web/references/miro/DESIGN.md +234 -232
- package/web/references/mistral.ai/DESIGN.md +231 -314
- package/web/references/mixi/DESIGN.md +234 -0
- package/web/references/moin/DESIGN.md +445 -0
- package/web/references/mongodb/DESIGN.md +219 -316
- package/web/references/musinsa/DESIGN.md +184 -510
- package/web/references/mynavi/DESIGN.md +242 -0
- package/web/references/myrealtrip/DESIGN.md +169 -406
- package/web/references/naver/DESIGN.md +328 -499
- package/web/references/naverwebtoon/DESIGN.md +172 -395
- package/web/references/nhn/DESIGN.md +169 -346
- package/web/references/nhncloud/DESIGN.md +185 -123
- package/web/references/notion/DESIGN.md +271 -475
- package/web/references/nrise/DESIGN.md +417 -0
- package/web/references/ohouse/DESIGN.md +210 -549
- package/web/references/oliveyoung/DESIGN.md +217 -326
- package/web/references/ollama/DESIGN.md +241 -308
- package/web/references/onestore/DESIGN.md +248 -0
- package/web/references/palantir/DESIGN.md +256 -0
- package/web/references/panasonic/DESIGN.md +276 -0
- package/web/references/patternfly/DESIGN.md +259 -0
- package/web/references/payhere/DESIGN.md +438 -0
- package/web/references/pega/DESIGN.md +262 -0
- package/web/references/peoplefund/DESIGN.md +431 -0
- package/web/references/petfriends/DESIGN.md +428 -0
- package/web/references/pinkfong/DESIGN.md +199 -367
- package/web/references/pinterest/DESIGN.md +258 -308
- package/web/references/poya/DESIGN.md +286 -0
- package/web/references/pozalabs/DESIGN.md +438 -0
- package/web/references/protopie/DESIGN.md +419 -0
- package/web/references/qraft/DESIGN.md +448 -0
- package/web/references/quotabook/DESIGN.md +449 -0
- package/web/references/recruit/DESIGN.md +247 -0
- package/web/references/remember/DESIGN.md +202 -396
- package/web/references/resend/DESIGN.md +274 -348
- package/web/references/sakura-internet/DESIGN.md +269 -0
- package/web/references/samsung/DESIGN.md +157 -359
- package/web/references/sandoll/DESIGN.md +445 -0
- package/web/references/sanity/DESIGN.md +241 -375
- package/web/references/scatterlab/DESIGN.md +412 -0
- package/web/references/selectstar/DESIGN.md +439 -0
- package/web/references/servicenow/DESIGN.md +289 -0
- package/web/references/shinhanbank/DESIGN.md +161 -341
- package/web/references/shinhancard/DESIGN.md +208 -319
- package/web/references/sionic/DESIGN.md +454 -0
- package/web/references/sktelecom/DESIGN.md +310 -0
- package/web/references/socar/DESIGN.md +125 -32
- package/web/references/softbank/DESIGN.md +231 -0
- package/web/references/sony/DESIGN.md +234 -0
- package/web/references/soop/DESIGN.md +261 -0
- package/web/references/spacex/DESIGN.md +184 -323
- package/web/references/spotify/DESIGN.md +253 -394
- package/web/references/squeezebits/DESIGN.md +441 -0
- package/web/references/stayfolio/DESIGN.md +422 -0
- package/web/references/stripe/DESIGN.md +212 -491
- package/web/references/supabase/DESIGN.md +244 -316
- package/web/references/tabling/DESIGN.md +415 -0
- package/web/references/taishinbank/DESIGN.md +243 -0
- package/web/references/teamlab/DESIGN.md +240 -0
- package/web/references/teamsparta/DESIGN.md +472 -0
- package/web/references/tellingme/DESIGN.md +392 -0
- package/web/references/tesla/DESIGN.md +244 -427
- package/web/references/thsr/DESIGN.md +284 -0
- package/web/references/thumbtack/DESIGN.md +302 -0
- package/web/references/together.ai/DESIGN.md +257 -304
- package/web/references/toss/DESIGN.md +251 -593
- package/web/references/toss-securities/DESIGN.md +255 -178
- package/web/references/tossbank/DESIGN.md +195 -491
- package/web/references/toyota/DESIGN.md +238 -0
- package/web/references/tving/DESIGN.md +197 -245
- package/web/references/typed/DESIGN.md +413 -0
- package/web/references/uber/DESIGN.md +256 -333
- package/web/references/udn/DESIGN.md +250 -0
- package/web/references/upbit/DESIGN.md +145 -256
- package/web/references/upstage/DESIGN.md +211 -204
- package/web/references/uswds/DESIGN.md +287 -0
- package/web/references/vercel/DESIGN.md +236 -440
- package/web/references/wanted/DESIGN.md +215 -487
- package/web/references/wise/DESIGN.md +223 -231
- package/web/references/wisetracker/DESIGN.md +462 -0
- package/web/references/wooribank/DESIGN.md +245 -0
- package/web/references/yanolja/DESIGN.md +250 -419
- package/web/references/yeogiotte/DESIGN.md +235 -418
- package/web/references/zapier/DESIGN.md +256 -377
- package/web/references/zendesk/DESIGN.md +288 -0
- package/web/references/zigzag/DESIGN.md +200 -621
- package/dist/install-skills-7UUDOLG2.js +0 -734
- package/dist/install-skills-7UUDOLG2.js.map +0 -1
|
@@ -2,493 +2,256 @@
|
|
|
2
2
|
id: myrealtrip
|
|
3
3
|
name: MyRealTrip
|
|
4
4
|
country: KR
|
|
5
|
-
category:
|
|
5
|
+
category: consumer-tech
|
|
6
6
|
homepage: "https://www.myrealtrip.com"
|
|
7
|
-
primary_color: "#
|
|
7
|
+
primary_color: "#2b96ed"
|
|
8
8
|
logo:
|
|
9
9
|
type: favicon
|
|
10
10
|
slug: "https://www.google.com/s2/favicons?domain=myrealtrip.com&sz=128"
|
|
11
|
-
verified: "2026-
|
|
11
|
+
verified: "2026-07-13"
|
|
12
12
|
omd: "0.1"
|
|
13
|
+
verification_v2:
|
|
14
|
+
schema: 2
|
|
15
|
+
checked: "2026-07-13"
|
|
16
|
+
surfaces:
|
|
17
|
+
- { id: consumer-home, kind: product, url: "https://www.myrealtrip.com/", inspected: "2026-07-13" }
|
|
18
|
+
- { id: hotel-listing, kind: product, url: "https://www.myrealtrip.com/hotels", inspected: "2026-07-13" }
|
|
19
|
+
- { id: corporate-about, kind: corporate, url: "https://about.myrealtrip.com/", inspected: "2026-07-13" }
|
|
20
|
+
sources:
|
|
21
|
+
- { id: home-live, kind: product-surface, url: "https://www.myrealtrip.com/", captured: "2026-07-13" }
|
|
22
|
+
- { id: hotel-live, kind: product-surface, url: "https://www.myrealtrip.com/hotels", captured: "2026-07-13" }
|
|
23
|
+
- { id: about-live, kind: product-surface, url: "https://about.myrealtrip.com/", captured: "2026-07-13" }
|
|
24
|
+
- { id: help-center, kind: product-surface, url: "https://help.myrealtrip.com/hc/ko", captured: "2026-07-13" }
|
|
25
|
+
- { id: pretendard-license, kind: license, url: "https://github.com/orioncactus/pretendard/blob/main/LICENSE", captured: "2026-07-13" }
|
|
26
|
+
claims:
|
|
27
|
+
"tokens.colors.primary": &home { surface_id: consumer-home, source_id: home-live, method: computed-style, captured: "2026-07-13" }
|
|
28
|
+
"tokens.colors.canvas": *home
|
|
29
|
+
"tokens.colors.ink": *home
|
|
30
|
+
"tokens.colors.muted": *home
|
|
31
|
+
"tokens.colors.search-fill": *home
|
|
32
|
+
"tokens.colors.control-border": *home
|
|
33
|
+
"tokens.colors.selected-fill": *home
|
|
34
|
+
"tokens.colors.on-primary": *home
|
|
35
|
+
"tokens.typography.family.sans": &hotel_font { surface_id: hotel-listing, source_id: hotel-live, method: computed-style-fontfaceset-source, captured: "2026-07-13" }
|
|
36
|
+
"tokens.typography.body.size": *hotel_font
|
|
37
|
+
"tokens.typography.body.weight": *hotel_font
|
|
38
|
+
"tokens.typography.body.lineHeight": *hotel_font
|
|
39
|
+
"tokens.typography.body.use": *hotel_font
|
|
40
|
+
"tokens.typography.control.size": *hotel_font
|
|
41
|
+
"tokens.typography.control.weight": *hotel_font
|
|
42
|
+
"tokens.typography.control.lineHeight": *hotel_font
|
|
43
|
+
"tokens.typography.control.use": *hotel_font
|
|
44
|
+
"tokens.spacing.action-inline": *home
|
|
45
|
+
"tokens.rounded.square": *home
|
|
46
|
+
"tokens.rounded.action": *home
|
|
47
|
+
"tokens.rounded.selected-tab": *home
|
|
48
|
+
"tokens.components.primary-header-action.type": *home
|
|
49
|
+
"tokens.components.primary-header-action.bg": *home
|
|
50
|
+
"tokens.components.primary-header-action.fg": *home
|
|
51
|
+
"tokens.components.primary-header-action.radius": *home
|
|
52
|
+
"tokens.components.primary-header-action.padding": *home
|
|
53
|
+
"tokens.components.primary-header-action.height": *home
|
|
54
|
+
"tokens.components.primary-header-action.font": *home
|
|
55
|
+
"tokens.components.primary-header-action.states": *home
|
|
56
|
+
"tokens.components.primary-header-action.use": *home
|
|
57
|
+
"tokens.components.selected-locale-tab.type": *home
|
|
58
|
+
"tokens.components.selected-locale-tab.bg": *home
|
|
59
|
+
"tokens.components.selected-locale-tab.fg": *home
|
|
60
|
+
"tokens.components.selected-locale-tab.radius": *home
|
|
61
|
+
"tokens.components.selected-locale-tab.padding": *home
|
|
62
|
+
"tokens.components.selected-locale-tab.height": *home
|
|
63
|
+
"tokens.components.selected-locale-tab.font": *home
|
|
64
|
+
"tokens.components.selected-locale-tab.active": *home
|
|
65
|
+
"tokens.components.selected-locale-tab.use": *home
|
|
66
|
+
conflicts: []
|
|
13
67
|
tokens:
|
|
14
|
-
source:
|
|
15
|
-
extracted: "2026-
|
|
68
|
+
source: live-extract
|
|
69
|
+
extracted: "2026-07-13"
|
|
70
|
+
note: "Only values with current raw computed-style provenance are tokens. Home/hotel product surfaces and corporate/about chrome remain separate."
|
|
16
71
|
colors:
|
|
17
72
|
primary: "#2b96ed"
|
|
18
|
-
primary-hover: "#1583db"
|
|
19
|
-
brand: "#0250cb"
|
|
20
|
-
accent: "#8238fa"
|
|
21
73
|
canvas: "#ffffff"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
74
|
+
ink: "#495056"
|
|
75
|
+
muted: "#666d75"
|
|
76
|
+
search-fill: "#f5f6f7"
|
|
77
|
+
control-border: "#ced4da"
|
|
78
|
+
selected-fill: "#101418"
|
|
26
79
|
on-primary: "#ffffff"
|
|
27
|
-
hairline: "#e5e5e5"
|
|
28
|
-
border-strong: "#d1d1d1"
|
|
29
|
-
success: "#22c55e"
|
|
30
|
-
error: "#ff4d4f"
|
|
31
|
-
warning: "#faad14"
|
|
32
80
|
typography:
|
|
33
|
-
family: { sans: "Pretendard"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
cta: { size: 14, weight: 600, lineHeight: 1.4, use: "Buttons, nav" }
|
|
39
|
-
price: { size: 18, weight: 700, lineHeight: 1.3, use: "Price emphasis on cards" }
|
|
40
|
-
caption: { size: 12, weight: 400, lineHeight: 1.4, use: "Metadata, badges, fine print" }
|
|
41
|
-
spacing: [4, 8, 12, 16, 24, 32, 40]
|
|
42
|
-
rounded: { sm: 6, md: 8, lg: 12, xl: 16, full: 9999 }
|
|
43
|
-
shadow:
|
|
44
|
-
subtle: "0 1px 3px rgba(0,0,0,0.04)"
|
|
45
|
-
hover: "0 2px 8px rgba(0,0,0,0.06)"
|
|
46
|
-
floating: "0 4px 16px rgba(0,0,0,0.1)"
|
|
47
|
-
modal: "0 8px 24px rgba(0,0,0,0.16)"
|
|
81
|
+
family: { sans: "Pretendard" }
|
|
82
|
+
body: { size: 14, weight: 400, lineHeight: "21px", use: "Public hotel-listing body/list text" }
|
|
83
|
+
control: { size: 15, weight: 500, lineHeight: "22.5px", use: "Public hotel-search input" }
|
|
84
|
+
spacing: { action-inline: 24 }
|
|
85
|
+
rounded: { square: 0, action: 12, selected-tab: 16 }
|
|
48
86
|
components_harvested: true
|
|
49
87
|
components:
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
button-secondary: { type: button, bg: "#ffffff", fg: "#2b96ed", border: "1px solid #2b96ed", radius: "12px", padding: "0 24px", font: "14px / 600", use: "Secondary action" }
|
|
53
|
-
button-ghost: { type: button, bg: "transparent", fg: "#333333", radius: "8px", font: "14px / 600", use: "Tertiary nav, 더보기" }
|
|
54
|
-
input: { type: input, bg: "#ffffff", fg: "#0f0f0f", border: "1px solid #e5e5e5", radius: "12px", padding: "12px 16px", font: "14px / 400", focus: "border #2b96ed", use: "Search / text field" }
|
|
55
|
-
card: { type: card, bg: "#ffffff", border: "1px solid #e5e5e5", radius: "8px", shadow: "hover 0 2px 8px rgba(0,0,0,0.06)", use: "Tour / accommodation card" }
|
|
56
|
-
badge-confirm: { type: badge, bg: "rgba(34,197,94,0.12)", fg: "#22c55e", radius: "6px", padding: "2px 8px", font: "12px / 600", use: "Instant-confirm badge" }
|
|
57
|
-
badge-discount: { type: badge, bg: "transparent", fg: "#ff4d4f", font: "14px / 700", use: "Discount percentage on cards" }
|
|
58
|
-
chip: { type: badge, bg: "#f8f8f8", fg: "#333333", radius: "999px", padding: "6px 14px", font: "13px / 500", use: "Category filter chip" }
|
|
59
|
-
tab: { type: tab, fg: "#767676", font: "14px / 600", active: "2px bottom bar #2b96ed, fg #0f0f0f", use: "Top nav category item" }
|
|
60
|
-
toast: { type: toast, bg: "#0f0f0f", fg: "#ffffff", radius: "8px", padding: "12px 16px", use: "Snackbar transient feedback" }
|
|
61
|
-
dialog: { type: dialog, bg: "#ffffff", fg: "#0f0f0f", radius: "16px", padding: "24px", shadow: "rgba(0,0,0,0.5) backdrop", use: "Login, date picker, bottom sheet" }
|
|
88
|
+
primary-header-action: { type: button, bg: "#2b96ed", fg: "#ffffff", radius: "12px", padding: "0px 24px", height: "40px", font: "14px / 600 / Pretendard", states: "Default only; interactionCount is 0, so hover, focus, pressed, and disabled variants are not claimed.", use: "Public home and hotel-header action; home::[data-omd-capture=\"5\"] and surface-3::[data-omd-capture=\"3\"]" }
|
|
89
|
+
selected-locale-tab: { type: tab, bg: "#101418", fg: "#ffffff", radius: "16px", padding: "6px 10px", height: "32px", font: "15px / 700 / Pretendard", active: "aria-selected=true observed on home::[data-omd-capture=\"1\"]", use: "Selected locale tab on the public home header" }
|
|
62
90
|
---
|
|
63
91
|
|
|
64
92
|
# Design System Inspiration of MyRealTrip (마이리얼트립)
|
|
65
93
|
|
|
66
94
|
## 1. Visual Theme & Atmosphere
|
|
67
95
|
|
|
68
|
-
MyRealTrip is
|
|
96
|
+
MyRealTrip is a Korean travel marketplace whose own public materials describe a 2012 start brokering locally made tours and a current scope across travel experiences. The current public home and hotel-listing surfaces pair a white working canvas with low-chrome navigation: a blue header action, a pale-gray search field, compact gray text, and a selected dark locale pill. The visual system recorded here is deliberately narrower than a brand story. It covers only current rendered public web evidence, while the separate corporate/about site is kept as corporate chrome rather than silently blended into consumer-product tokens. MyRealTrip’s public partner program foregrounds reliable booking, sustained traveler ratings, and prompt communication; its current company blog describes the organisation as an AI-native travel platform. Those are product and organisational context, not evidence for an unobserved app component or visual token.
|
|
69
97
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
Typography is Pretendard (loaded as a self-hosted variable face, `__pretandard_*`), the modern Korean product sans, in a black-to-gray scale on white. Geometry is rounded and soft — `12px` radius on the primary CTA, `8px` on cards — giving the marketplace a tactile, friendly feel that says "booking should feel easy, not bureaucratic."
|
|
73
|
-
|
|
74
|
-
**Key Characteristics:**
|
|
75
|
-
- Sky-blue interactive accent (`#2B96ED`) for primary actions; deep "Science Blue" (`#0250CB`) reserved for brand/logo
|
|
76
|
-
- Violet promotional accent (`#8238FA`) for membership, benefits, and special-offer surfaces
|
|
77
|
-
- Clean white canvas (`#FFFFFF`) with a frosted-translucent header (`rgba(248,248,248,0.8)`)
|
|
78
|
-
- Near-black wordmark (`#0F0F0F`) — editorial, not discount-loud
|
|
79
|
-
- Pretendard variable type stack in a black→gray scale
|
|
80
|
-
- Soft rounded geometry — `12px` CTA radius, `8px` cards
|
|
81
|
-
- Photographic, content-forward marketplace: imagery carries the page
|
|
98
|
+
**Observed character:** restrained utility chrome around travel discovery, with `#2B96ED` used for the repeated public header action rather than a generalised brand palette.
|
|
82
99
|
|
|
83
100
|
## 2. Color Palette & Roles
|
|
84
101
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
### Brand / Interactive
|
|
88
|
-
- **MRT Blue** (`#2B96ED`): Primary interactive — login/signup CTA, primary buttons, active states. Observed `rgb(43, 150, 237)` on the header CTA, 12px radius.
|
|
89
|
-
- **Science Blue** (`#0250CB`): Deep brand blue (per Brandfetch / brand assets) — logo, hero, marketing lockups. The gravity blue, distinct from the lighter UI `#2B96ED`.
|
|
90
|
-
- **Blue Pressed** (`#1583DB`): Hover/pressed for MRT Blue. Observed `rgb(21, 131, 219)`.
|
|
91
|
-
|
|
92
|
-
### Accent (Promotional)
|
|
93
|
-
- **MRT Violet** (`#8238FA`): Membership, benefits, special-offer surfaces and badges — the most-frequent accent in the home feed. Observed `rgb(130, 56, 250)`.
|
|
94
|
-
|
|
95
|
-
### Surfaces
|
|
96
|
-
- **Canvas White** (`#FFFFFF`): Page background, card surfaces.
|
|
97
|
-
- **Header Frosted** (`rgba(248,248,248,0.8)`): Translucent sticky header background.
|
|
98
|
-
- **Surface Tint** (`#F8F8F8`): Section bands, subtle grouping fills.
|
|
99
|
-
- **Blue Tint** (`#F0F6FE`): Informational blue-tinted blocks.
|
|
102
|
+
The following are current computed observations from the supplied 2026-07-13 product bundle. They are not a published MyRealTrip token library.
|
|
100
103
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
| Observed role | Value | Provenance and boundary |
|
|
105
|
+
|---|---:|---|
|
|
106
|
+
| Repeated header action | `#2B96ED` | 40px button background on home and hotel listing; do not infer hover or booking-flow use. |
|
|
107
|
+
| White canvas / action text | `#FFFFFF` | Repeated public surface background and text on the blue action. |
|
|
108
|
+
| Search fill | `#F5F6F7` | 48px public search input on home and hotel listing. |
|
|
109
|
+
| Search/control ink | `#495056` | Repeated input and public list/control text. |
|
|
110
|
+
| Muted navigation text | `#666D75` | Repeated public home and hotel-header text/border observation. |
|
|
111
|
+
| Control border | `#CED4DA` | Static white outlined control in both product surfaces. |
|
|
112
|
+
| Selected locale-tab fill | `#101418` | `aria-selected=true` tab on the home header. |
|
|
106
113
|
|
|
107
|
-
|
|
108
|
-
- **Border Default** (`#E5E5E5`): Card borders, dividers, input outlines.
|
|
109
|
-
- **Border Strong** (`#D1D1D1`): Emphasized borders, active outlines.
|
|
110
|
-
|
|
111
|
-
### Semantic
|
|
112
|
-
- **Success / Confirm** (`#22C55E`): Instant-confirm badge ("즉시확정"), booking confirmed.
|
|
113
|
-
- **Discount / Sale** (`#FF4D4F`): Discount percentages, sale tags.
|
|
114
|
-
- **Warning** (`#FAAD14`): Pending, attention-needed.
|
|
114
|
+
The prior deep-blue, violet, semantic, sale, and success palette claims are not retained: the fresh bundle does not establish them as current reusable product tokens.
|
|
115
115
|
|
|
116
116
|
## 3. Typography Rules
|
|
117
117
|
|
|
118
|
-
###
|
|
119
|
-
```
|
|
120
|
-
Pretendard (variable, self-hosted), -apple-system, "system-ui", Roboto, "Noto Sans KR", "Malgun Gothic", sans-serif
|
|
121
|
-
```
|
|
118
|
+
### Current public-web font evidence
|
|
122
119
|
|
|
123
|
-
|
|
120
|
+
| Evidence class | Finding | Boundary |
|
|
121
|
+
|---|---|---|
|
|
122
|
+
| **Official product-use** | No first-party MyRealTrip font specification or announcement was found in this update. | No brand-font claim is inferred from a marketing or corporate page. |
|
|
123
|
+
| **Live computed surface-use** | `Pretendard` is a loaded, high-confidence first family with 60 visible uses and 36 captured source URLs; the hotel search input resolves to it directly. | This supports the public-web UI-family token only. |
|
|
124
|
+
| **Loaded internal alias** | `__pretandard_7bdbf6` is loaded with high confidence, 64 visible uses, and four MyRealTrip CDN sources. | The bundle does not prove that the internal alias is a separately named, reusable brand typeface. |
|
|
125
|
+
| **Official distributed font asset / licence** | Pretendard’s upstream project publishes the font under SIL Open Font License 1.1. | This is third-party font licensing, not a licence to MyRealTrip marks, UI assets, or an assertion that every MyRealTrip surface ships the same build. |
|
|
126
|
+
| **Declared-only** | `Pretendard Variable`, `Noto Sans KR`, `PP Neue Montreal`, and icon faces appear as declarations in the bundle but are not promoted by the collector. | Do not render a specimen or token as though any of them were verified visible current UI use. |
|
|
124
127
|
|
|
125
|
-
###
|
|
128
|
+
### Measured public roles
|
|
126
129
|
|
|
127
|
-
| Role | Size | Weight | Line
|
|
128
|
-
|
|
129
|
-
|
|
|
130
|
-
|
|
|
131
|
-
|
|
|
132
|
-
| Body | 14px | 400 | 1.5 | Descriptions, list copy |
|
|
133
|
-
| CTA / Label | 14px | 600 | 1.4 | Buttons (login CTA observed 14px/600), nav |
|
|
134
|
-
| Price | 16–18px | 700 | 1.3 | Price emphasis on cards |
|
|
135
|
-
| Caption | 12px | 400 | 1.4 | Metadata, badges, fine print |
|
|
130
|
+
| Role | Family | Size | Weight | Line height | Surface |
|
|
131
|
+
|---|---|---:|---:|---:|---|
|
|
132
|
+
| Hotel-listing body/list text | Pretendard | 14px | 400 | 21px | `https://www.myrealtrip.com/hotels` |
|
|
133
|
+
| Hotel search control | Pretendard | 15px | 500 | 22.5px | `https://www.myrealtrip.com/hotels` |
|
|
134
|
+
| Selected home locale tab | Pretendard | 15px | 700 | 18.6px | `https://www.myrealtrip.com/` |
|
|
136
135
|
|
|
137
|
-
|
|
138
|
-
- **700 for headings and prices, 600 for CTAs/card titles, 400 for body** — prices get heading-level weight because they're the decision.
|
|
139
|
-
- **Black headline, gray body** — `#0F0F0F` → `#333333` → `#767676` hierarchy.
|
|
140
|
-
- **Discount numerals are loud** — `15%`, `10%` rendered in sale-red with emphasis weight.
|
|
141
|
-
- **Korean-primary, English secondary** — Korean copy is first-class; English used in language-toggle parity, not as default.
|
|
136
|
+
These are captured public-web roles, not a claim about authenticated booking screens, mobile native UI, help-center chrome, or a company-wide typographic scale.
|
|
142
137
|
|
|
143
138
|
## 4. Component Stylings
|
|
144
139
|
|
|
145
|
-
###
|
|
140
|
+
### Public header action
|
|
146
141
|
|
|
147
|
-
**
|
|
142
|
+
**Observed default**
|
|
148
143
|
- Background: `#2B96ED`
|
|
149
144
|
- Text: `#FFFFFF`
|
|
150
|
-
- Border: none
|
|
151
|
-
- Radius: 12px
|
|
152
|
-
- Padding: 0 24px
|
|
153
|
-
- Font: 14px / 600 / Pretendard
|
|
154
|
-
- Hover: background `#1583DB`
|
|
155
|
-
- Use: Login/signup, primary booking action — observed 40px tall in header
|
|
156
|
-
|
|
157
|
-
**Membership / Promo CTA**
|
|
158
|
-
- Background: `#8238FA`
|
|
159
|
-
- Text: `#FFFFFF`
|
|
160
|
-
- Border: none
|
|
161
145
|
- Radius: 12px
|
|
162
|
-
- Padding:
|
|
163
|
-
-
|
|
164
|
-
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
-
|
|
172
|
-
-
|
|
173
|
-
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
-
|
|
177
|
-
-
|
|
178
|
-
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
**Search / Text Field**
|
|
186
|
-
- Background: `#FFFFFF`
|
|
187
|
-
- Text: `#0F0F0F`
|
|
188
|
-
- Border: 1px solid `#E5E5E5`
|
|
189
|
-
- Radius: 12px
|
|
190
|
-
- Padding: 12px 16px
|
|
191
|
-
- Font: 14px / 400 / Pretendard
|
|
192
|
-
- Placeholder: `#999999`
|
|
193
|
-
- Focus: border `#2B96ED`
|
|
194
|
-
- Use: Destination/keyword search, form fields
|
|
195
|
-
|
|
196
|
-
### Cards
|
|
197
|
-
|
|
198
|
-
**Tour / Product Card**
|
|
199
|
-
- Background: `#FFFFFF`
|
|
200
|
-
- Border: 1px solid `#E5E5E5` (or shadowless on tinted bands)
|
|
201
|
-
- Radius: 8px
|
|
202
|
-
- Padding: 0 (image-led) + 12px text region
|
|
203
|
-
- Shadow: `0 2px 8px rgba(0,0,0,0.06)` on hover
|
|
204
|
-
- Use: The marketplace atom — image top, title + rating + price below
|
|
205
|
-
|
|
206
|
-
**Accommodation Card**
|
|
207
|
-
- Background: `#FFFFFF`
|
|
208
|
-
- Border: 1px solid `#E5E5E5`
|
|
209
|
-
- Radius: 8px
|
|
210
|
-
- Padding: 0 + 12px text
|
|
211
|
-
- Use: Hotel/stay listing, same rhythm as tour card
|
|
212
|
-
|
|
213
|
-
### Badges / Chips
|
|
214
|
-
|
|
215
|
-
**Instant-Confirm Badge (즉시확정)**
|
|
216
|
-
- Background: `rgba(34,197,94,0.12)`
|
|
217
|
-
- Text: `#22C55E`
|
|
218
|
-
- Border: none
|
|
219
|
-
- Radius: 6px
|
|
220
|
-
- Padding: 2px 8px
|
|
221
|
-
- Font: 12px / 600 / Pretendard
|
|
222
|
-
- Use: "✨즉시확정" instant booking flag
|
|
223
|
-
|
|
224
|
-
**Discount Tag**
|
|
225
|
-
- Background: transparent
|
|
226
|
-
- Text: `#FF4D4F`
|
|
227
|
-
- Font: 14px / 700 / Pretendard
|
|
228
|
-
- Use: "15%", "10%" discount percentages on cards
|
|
229
|
-
|
|
230
|
-
**Category Chip**
|
|
231
|
-
- Background: `#F8F8F8`
|
|
232
|
-
- Text: `#333333`
|
|
233
|
-
- Border: none
|
|
234
|
-
- Radius: 999px
|
|
235
|
-
- Padding: 6px 14px
|
|
236
|
-
- Font: 13px / 500 / Pretendard
|
|
237
|
-
- Use: Category filters (투어·티켓 / 숙소 / 패키지 / 한인민박)
|
|
238
|
-
|
|
239
|
-
### Tabs / Nav
|
|
240
|
-
|
|
241
|
-
**Top Nav Item**
|
|
242
|
-
- Active text: `#0F0F0F` (weight 600)
|
|
243
|
-
- Inactive text: `#767676`
|
|
244
|
-
- Indicator: bottom bar `#2B96ED` 2px (on active)
|
|
245
|
-
- Font: 14px / 500–600 / Pretendard
|
|
246
|
-
- Use: Category navigation in the frosted header
|
|
247
|
-
|
|
248
|
-
### Toasts
|
|
249
|
-
|
|
250
|
-
**Snackbar**
|
|
251
|
-
- Background: `#0F0F0F`
|
|
146
|
+
- Padding: 0px 24px
|
|
147
|
+
- Height: 40px
|
|
148
|
+
- Font: 14px / 600 / loaded internal Pretendard alias on home; Pretendard stack on hotel listing
|
|
149
|
+
- States: default only; the supplied bundle reports `interactionCount: 0`, so no hover, focus, pressed, disabled, menu, dialog, validation, or loading variant is claimed
|
|
150
|
+
- Use: repeated header action on `home::[data-omd-capture="5"]` and `surface-3::[data-omd-capture="3"]`
|
|
151
|
+
|
|
152
|
+
### Public search field
|
|
153
|
+
|
|
154
|
+
**Observed default**
|
|
155
|
+
- Background: `#F5F6F7`
|
|
156
|
+
- Text: `#495056`
|
|
157
|
+
- Border: 0px
|
|
158
|
+
- Radius: 0px
|
|
159
|
+
- Padding: 0px 54px 0px 20px
|
|
160
|
+
- Height: 48px
|
|
161
|
+
- Font: 15px / 500 / loaded internal Pretendard alias on home; Pretendard stack on hotel listing
|
|
162
|
+
- Use: public keyword search at `home::[data-omd-capture="3"]` and `surface-3::[data-omd-capture="1"]`
|
|
163
|
+
|
|
164
|
+
### Selected locale tab
|
|
165
|
+
|
|
166
|
+
**Selected state observed**
|
|
167
|
+
- Background: `#101418`
|
|
252
168
|
- Text: `#FFFFFF`
|
|
253
|
-
- Radius:
|
|
254
|
-
- Padding:
|
|
255
|
-
-
|
|
256
|
-
|
|
257
|
-
|
|
169
|
+
- Radius: 16px
|
|
170
|
+
- Padding: 6px 10px
|
|
171
|
+
- Height: 32px
|
|
172
|
+
- Font: 15px / 700 / Pretendard
|
|
173
|
+
- Active: `aria-selected="true"` on `home::[data-omd-capture="1"]`
|
|
174
|
+
- Use: selected locale tab within the home-header tablist
|
|
258
175
|
|
|
259
|
-
|
|
260
|
-
- Background: `#FFFFFF`
|
|
261
|
-
- Text: `#0F0F0F`
|
|
262
|
-
- Radius: 16px (top corners on sheet)
|
|
263
|
-
- Padding: 24px
|
|
264
|
-
- Backdrop: `rgba(0,0,0,0.5)`
|
|
265
|
-
- Use: Login, date picker, option selection
|
|
176
|
+
The unselected sibling’s transparent computed text is not promoted as a reusable inactive variant. Its static capture does not establish an interaction transition.
|
|
266
177
|
|
|
267
178
|
---
|
|
179
|
+
**Verified:** 2026-07-13
|
|
180
|
+
**Tier 1 sources:** `https://www.myrealtrip.com/` (public consumer home), `https://www.myrealtrip.com/hotels` (public hotel listing), `https://about.myrealtrip.com/` (separate corporate/about surface), `https://help.myrealtrip.com/hc/ko` (official support chrome and service context)
|
|
181
|
+
**Tier 2 sources:** `https://getdesign.md/myrealtrip` (attempted; built-in web open returned a safe-open failure and search returned no MyRealTrip detail), `https://styles.refero.design/?q=myrealtrip` (attempted; built-in web open returned a safe-open failure and search returned no MyRealTrip detail). No Tier 2 value was promoted.
|
|
182
|
+
**Conflicts unresolved:** none
|
|
268
183
|
|
|
269
|
-
|
|
270
|
-
**Tier 1 sources:** myrealtrip.com (live computed styles via Playwright — primary CTA `#2B96ED` (rgb 43,150,237) / 12px radius / 14px·600 / 40px tall; violet accent `#8238FA` (rgb 130,56,250) most-frequent feed color; blue pressed `#1583DB` (rgb 21,131,219); wordmark `#0F0F0F` (rgb 15,15,15); secondary glyph `#767676` (rgb 118,118,118); header bg `rgba(248,248,248,0.8)`; font self-hosted Pretendard `__pretandard_*`; bg white).
|
|
271
|
-
**Tier 2 sources:** Brandfetch (myrealtrip.com) — brand "Science Blue" `#0250CB`, White `#FFFFFF`, Woodsmoke `#141719`; MyRealTrip product Medium (medium.com/myrealtrip-product/color-system) — documented flexible color system + gray-scale tokens (`gray_300`–`gray_700` observed in markup).
|
|
272
|
-
**Conflicts unresolved:** Brand blue split — Brandfetch lists deep `#0250CB` (Science Blue) as primary brand; live UI primary action is the lighter `#2B96ED`. Resolved as distinct surfaces: `#0250CB` = logo/marketing gravity, `#2B96ED` = interactive UI (Toss brand-vs-UI-blue precedent). `primary_color` frontmatter set to the live interactive `#2B96ED`.
|
|
184
|
+
The prior prose-derived palette, broad card/badge/dialog/toast inventory, hover/focus/error/disabled catalogue, mobile breakpoints, and motion rules were not supported by the supplied current raw evidence. They are removed rather than refreshed by assumption.
|
|
273
185
|
|
|
274
186
|
## 5. Layout Principles
|
|
275
187
|
|
|
276
|
-
|
|
277
|
-
- Frosted sticky header (~64px) over a centered max-width content column (~1200px).
|
|
278
|
-
- Home feed is a stack of horizontally-scrolling product rows ("투어·티켓", "숙소", "패키지") with section headers.
|
|
279
|
-
|
|
280
|
-
### Spacing
|
|
281
|
-
- Base unit 8px; common values 4 / 8 / 12 / 16 / 24 / 32 / 40.
|
|
282
|
-
- Card gutter ~16px; vertical gap between sections ~40px.
|
|
283
|
-
- Page horizontal padding ~24px desktop, 16px mobile.
|
|
284
|
-
|
|
285
|
-
### Density
|
|
286
|
-
**Medium-density, image-forward.** Cards pack 3–4 per row at desktop with generous imagery; text regions are compact. Detail/booking pages loosen up for trust (price breakdown, policy, reviews get breathing room).
|
|
287
|
-
|
|
288
|
-
### Border Radius Scale
|
|
289
|
-
- Small (6px): badges
|
|
290
|
-
- Standard (8px): cards, ghost buttons
|
|
291
|
-
- Comfortable (12px): primary buttons, inputs
|
|
292
|
-
- Large (16px): modals, bottom sheets
|
|
293
|
-
- Pill (999px): category chips
|
|
188
|
+
The supplied bundle records public desktop-width documents only. The repeated consumer header is compact: the search field is 48px high, the primary action is 40px high, and the selected locale tab is 32px high. No public max-width, carousel, card-grid, booking-detail, or authenticated-flow layout rule is retained because the bundle does not supply a stable element-level measurement for one.
|
|
294
189
|
|
|
295
190
|
## 6. Depth & Elevation
|
|
296
191
|
|
|
297
|
-
|
|
298
|
-
|---|---|---|
|
|
299
|
-
| Flat | no shadow | Page bg, inline elements, cards on tinted bands |
|
|
300
|
-
| Subtle | `0 1px 3px rgba(0,0,0,0.04)` | Resting cards |
|
|
301
|
-
| Hover | `0 2px 8px rgba(0,0,0,0.06)` | Card hover lift |
|
|
302
|
-
| Floating | `0 4px 16px rgba(0,0,0,0.1)` | Dropdowns, sticky CTA bar |
|
|
303
|
-
| Modal | `0 8px 24px rgba(0,0,0,0.16)` | Dialogs, bottom sheets |
|
|
304
|
-
|
|
305
|
-
Shadows are light and neutral — the frosted header (`backdrop-filter: blur`) is the most distinctive depth cue, separating sticky chrome from the scrolling photographic feed beneath without a hard border.
|
|
192
|
+
The retained primary action, search field, and selected locale tab have no shadow. The selected tab’s own sample carries `0px 1px 2px rgba(0, 0, 0, 0.15)` while the action and search field are `none`; this isolated header treatment does not establish a reusable elevation scale.
|
|
306
193
|
|
|
307
194
|
## 7. Do's and Don'ts
|
|
308
195
|
|
|
309
196
|
### Do
|
|
310
|
-
- Use `#2B96ED` for primary interactive actions; reserve deep `#0250CB` for logo/marketing.
|
|
311
|
-
- Use `#8238FA` violet only for membership/benefit/offer surfaces.
|
|
312
|
-
- Keep the canvas white and let photography carry the page.
|
|
313
|
-
- Render prices at heading weight (700) — they're the decision.
|
|
314
|
-
- Use the frosted translucent header over scrolling content.
|
|
315
197
|
|
|
316
|
-
|
|
317
|
-
-
|
|
318
|
-
-
|
|
319
|
-
- Don't bury the price; never render it lighter than the title.
|
|
320
|
-
- Don't add hard borders to the sticky header — the blur is the separation.
|
|
321
|
-
- Don't shout with sale-red across non-discount UI.
|
|
198
|
+
- Keep the documented `#2B96ED` / `#FFFFFF` pair for the observed 40px public header action when reproducing that exact public-web pattern.
|
|
199
|
+
- Preserve the selected locale tab’s observed `#101418` fill, 16px radius, and explicit selected-state provenance.
|
|
200
|
+
- Treat the pale `#F5F6F7` search field as its own square-cornered public header control.
|
|
322
201
|
|
|
323
|
-
|
|
202
|
+
### Don't
|
|
324
203
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
| Mobile | <768px | Single-column feed, ~1.5 cards peeking per row, bottom tab nav, full-width sticky CTA |
|
|
329
|
-
| Tablet | 768–1024px | 2–3 cards per row, condensed header |
|
|
330
|
-
| Desktop | >1024px | 3–4 cards per row, full frosted header, ~1200px content |
|
|
204
|
+
- Don't turn the captured default action into hover, focus, pressed, disabled, booking, or payment variants without new state evidence.
|
|
205
|
+
- Don't substitute a declared-only font face for the visibly loaded Pretendard/public aliases.
|
|
206
|
+
- Don't blend the corporate/about or help-center chrome into consumer product tokens.
|
|
331
207
|
|
|
332
|
-
|
|
333
|
-
- Cards swipeable in carousels on touch; chevron-driven on desktop.
|
|
334
|
-
- Sticky bottom CTA ("예약하기") with safe-area inset on product detail.
|
|
335
|
-
- Min 44px tap targets on controls.
|
|
208
|
+
## 8. Responsive Behavior
|
|
336
209
|
|
|
337
|
-
|
|
338
|
-
- Product images 4:3 or 1:1, `object-fit: cover`, lazy-loaded, rounded 8px top.
|
|
339
|
-
- Hero campaigns full-bleed with text overlay.
|
|
210
|
+
No responsive breakpoint or mobile layout was captured in the supplied evidence. The record therefore makes no claim about mobile navigation, carousel behavior, touch targets, safe-area controls, or image aspect-ratio rules.
|
|
340
211
|
|
|
341
212
|
## 9. Agent Prompt Guide
|
|
342
213
|
|
|
343
|
-
|
|
344
|
-
- Primary CTA: MRT Blue `#2B96ED` (pressed `#1583DB`)
|
|
345
|
-
- Brand/logo: Science Blue `#0250CB`
|
|
346
|
-
- Promo/membership: Violet `#8238FA`
|
|
347
|
-
- Canvas: White `#FFFFFF`; tint `#F8F8F8`; blue tint `#F0F6FE`
|
|
348
|
-
- Text: `#0F0F0F` → `#333333` → `#767676` → `#999999`
|
|
349
|
-
- Border: `#E5E5E5`; focus `#2B96ED`
|
|
350
|
-
- Confirm green `#22C55E`; sale red `#FF4D4F`; warning `#FAAD14`
|
|
351
|
-
|
|
352
|
-
### Example Component Prompts
|
|
353
|
-
- "Build a MyRealTrip primary button: bg `#2B96ED`, white text 14px weight 600, 12px radius, padding 0 24px, 40px tall. Hover bg `#1583DB`."
|
|
354
|
-
- "Create a MyRealTrip tour card: white bg, 1px border `#E5E5E5`, 8px radius. Image top (4:3, cover, rounded 8px top). Below: title (16px weight 600 `#0F0F0F`), rating + review count (12px `#767676`), price (16px weight 700 `#0F0F0F`), discount `15%` (14px weight 700 `#FF4D4F`), instant-confirm badge (bg `rgba(34,197,94,0.12)`, text `#22C55E`, 6px radius). Hover shadow `0 2px 8px rgba(0,0,0,0.06)`."
|
|
355
|
-
- "Design a membership CTA: bg `#8238FA`, white text 14px weight 600, 12px radius — for benefit/offer surfaces only."
|
|
356
|
-
- "Create the frosted header: bg `rgba(248,248,248,0.8)`, backdrop-filter blur, no hard border, near-black wordmark `#0F0F0F`, category nav (active `#0F0F0F` weight 600 with 2px `#2B96ED` underbar, inactive `#767676`)."
|
|
357
|
-
|
|
358
|
-
### Iteration Guide
|
|
359
|
-
1. Blue `#2B96ED` for action, deep `#0250CB` for brand only, violet `#8238FA` for offers.
|
|
360
|
-
2. White canvas; photography is the color.
|
|
361
|
-
3. Pretendard stack first.
|
|
362
|
-
4. Prices at 700 weight — never quieter than the title.
|
|
363
|
-
5. Radius: 12px buttons/inputs, 8px cards, 16px sheets, 999px chips.
|
|
364
|
-
6. Frosted blur header over scrolling feed; no hard border.
|
|
365
|
-
7. Sale-red stays inside discount contexts.
|
|
214
|
+
Use only the captured public pattern: “Create a 40px MyRealTrip public header action with `#2B96ED` background, `#FFFFFF` text, 12px radius, 0px 24px padding, and 14px/600 Pretendard-context typography. This is a static default; do not invent interaction states.”
|
|
366
215
|
|
|
367
|
-
|
|
216
|
+
For the selected locale control: “Use the observed selected tab only: `#101418` fill, white 15px/700 text, 16px radius, 6px 10px padding, 32px height; preserve that it was an `aria-selected=true` observation.”
|
|
368
217
|
|
|
369
218
|
## 10. Voice & Tone
|
|
370
219
|
|
|
371
|
-
|
|
220
|
+
The public sources demonstrate Korean-first service labels such as `무엇을 도와드릴까요?`, `문의하기`, and partner guidance written in polite `~요` language. Those samples support a practical, explanatory service register on the public help and partner surfaces; they do not establish a comprehensive product voice system.
|
|
372
221
|
|
|
373
|
-
|
|
|
222
|
+
| Evidence | Safe use |
|
|
374
223
|
|---|---|
|
|
375
|
-
|
|
|
376
|
-
|
|
|
377
|
-
|
|
|
378
|
-
| Error messages | Blameless, specific, one action (`예약 정보를 다시 확인해 주세요`). Never `오류가 발생했습니다`. |
|
|
379
|
-
| Empty states | Warm explanation + one action (`아직 찜한 여행이 없어요. 마음에 드는 여행을 담아보세요`). |
|
|
380
|
-
| Price / policy | Exact numbers + clear conditions; honest about fees and cancellation. |
|
|
381
|
-
| Legal / terms | Formal `~합니다` register — the exception to the warm default. |
|
|
382
|
-
|
|
383
|
-
**Forbidden phrases.** `오류가 발생했습니다` (generic error), `죄송하지만` on non-destructive failures, hidden-fee vagueness on price, pressure CTAs (`지금 예약하세요!` → `예약하기`), superlatives (`최저가 보장!` style) on UI chrome unless contractually true, English-first strings on Korean surfaces.
|
|
384
|
-
|
|
385
|
-
**Voice samples.**
|
|
386
|
-
- `로그인 및 회원가입` — header primary CTA, observed live on the `#2B96ED` button. <!-- verified: myrealtrip.com via Playwright 2026-05-19 -->
|
|
387
|
-
- `투어·티켓` / `숙소` / `패키지` / `한인민박` — category nav labels, observed live. <!-- verified: myrealtrip.com via Playwright/WebFetch 2026-05-19 -->
|
|
388
|
-
- `진짜 나다운 여행` — page-title tagline (`<title>진짜 나다운 여행 - 마이리얼트립</title>`), the post-rebrand brand line. <!-- verified: page title via Playwright 2026-05-19 -->
|
|
389
|
-
- `찜 목록에 추가했어요` — illustrative wishlist-add toast, soft `~요` ending. <!-- illustrative: not verified verbatim -->
|
|
224
|
+
| `무엇을 도와드릴까요?` | Help-centre framing for a support entry point. |
|
|
225
|
+
| `문의하기` | Direct action label for a support route. |
|
|
226
|
+
| `여행자와의 약속을 성실히 이행해요` | Partner-program guidance, not a generic consumer CTA. |
|
|
390
227
|
|
|
391
228
|
## 11. Brand Narrative
|
|
392
229
|
|
|
393
|
-
MyRealTrip
|
|
394
|
-
|
|
395
|
-
In **2023 the company rebranded** around the idea of *"My"* — visually expanding the wordmark and tightening the system into the bright, photographic, editorial marketplace it is today. ([designcompass.org rebrand writeup](https://designcompass.org/en/2023/08/11/myrealtrip-rebrand/)) The product team has publicly documented its engineering culture, including a writeup on building a *flexible, shareable color system* for efficient cross-team collaboration ([medium.com/myrealtrip-product](https://medium.com/myrealtrip-product/color-system-f8b7607ba57)) — evidence that the design system is a deliberate, maintained artifact, not an accident of templates.
|
|
396
|
-
|
|
397
|
-
What MyRealTrip refuses: the discount-shouting, banner-stuffed aesthetic of legacy OTAs (the rebrand pulled it toward editorial calm), the impersonal "inventory firehose" feed, and the one-size group-tour packaging it was founded to replace. The two-accent system — trustworthy blue for action, delightful violet for benefits — is the visual form of its promise: booking should feel both safe and joyful.
|
|
230
|
+
MyRealTrip’s own public offer page identifies founder Lee Dong-geon and says the company was founded in February 2012, beginning by brokering tours made by local people. Its current partner programme frames quality around responsible reservation fulfilment, traveller ratings, and timely communication. The company blog currently describes MyRealTrip as an AI-native travel platform and publishes product, technology, and organisational stories. Together, these sources establish a travel-marketplace origin and a current organisational direction; they do not supply an official rebrand history or a visual-design manifesto.
|
|
398
231
|
|
|
399
232
|
## 12. Principles
|
|
400
233
|
|
|
401
|
-
1. **
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
3. **Photography is the page; chrome is calm.** Imagery carries color and emotion; chrome stays near-monochrome. *UI implication:* White canvas, near-black wordmark, gray nav. Don't compete with the travel photos.
|
|
406
|
-
|
|
407
|
-
4. **The price is the decision.** Price gets heading weight and clarity; fees are honest. *UI implication:* Price at 700 weight, discounts visible, no hidden-fee vagueness. Trust is the conversion lever.
|
|
408
|
-
|
|
409
|
-
5. **Brand gravity vs. UI action are different blues.** Deep `#0250CB` carries the wordmark; lighter `#2B96ED` carries the tap. *UI implication:* Don't fill buttons with Science Blue; don't logo-lockup with the UI blue.
|
|
234
|
+
1. **Reliable reservation fulfilment.** The partner programme asks partners to manage schedules so confirmed reservations can be fulfilled. *UI implication:* do not represent this as a verified button, badge, or checkout-state treatment without product-screen evidence.
|
|
235
|
+
2. **Traveller feedback matters.** The public Real Partner criteria include a rolling one-year 4.8-or-higher review requirement. *UI implication:* the criterion is partner-program context, not permission to invent rating-card components.
|
|
236
|
+
3. **Timely communication.** The same programme asks for message responses and reservation confirmation within 24 hours. *UI implication:* do not turn this service standard into a notification, SLA, or error-state token without direct evidence.
|
|
410
237
|
|
|
411
238
|
## 13. Personas
|
|
412
239
|
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
**현우 (Hyun-woo), 31, Seoul.** Plans an annual overseas trip and books tours, tickets, and a 한인민박 through MyRealTrip in one session. Values instant-confirm ("즉시확정") and Korean-language support abroad. Compares prices but converts on trust signals — reviews, clear cancellation policy.
|
|
416
|
-
|
|
417
|
-
**예린 (Ye-rin), 26, Seongnam.** Frequent short-haul traveler (Japan, Southeast Asia). Discovers experiences through the home feed's curated rows and "취향저격" recommendations. Joins membership for the violet-flagged benefits. Books almost entirely on mobile.
|
|
418
|
-
|
|
419
|
-
**정아 (Jeong-a), 45, Daegu.** Plans family trips. Wants a one-stop flow — flights + hotel + a kid-friendly tour — without juggling apps. Reads every fee line; abandons if the price feels unclear. The honest price breakdown is why she completes the booking.
|
|
240
|
+
The first-party materials identify public stakeholder groups rather than research-backed personas: travellers seeking travel products, partners who operate listings and reservations, and support visitors looking for help. No named or synthetic persona is supplied here; demographic needs, booking journeys, and conversion motivations remain `[FILL IN]` pending first-party research or user-provided evidence.
|
|
420
241
|
|
|
421
242
|
## 14. States
|
|
422
243
|
|
|
423
|
-
|
|
244
|
+
The collector reports one selected tab observation and `interactionCount: 0`. No verified empty, loading, error, success, disabled, validation, toast, dialog, or skeleton treatment is available from this packet.
|
|
245
|
+
|
|
246
|
+
| State | Evidence boundary |
|
|
424
247
|
|---|---|
|
|
425
|
-
|
|
|
426
|
-
|
|
|
427
|
-
|
|
|
428
|
-
|
|
|
429
|
-
|
|
|
430
|
-
|
|
|
431
|
-
| **Error (payment)** | Dedicated screen: `#0F0F0F` heading, clear reason, retry button `#2B96ED`. Never blames the user. |
|
|
432
|
-
| **Success (wishlist add)** | Snackbar `#0F0F0F` + white text (`찜 목록에 추가했어요`), heart fills, 3s dismiss. |
|
|
433
|
-
| **Success (booking confirmed)** | Dedicated confirmation screen — green `#22C55E` check, booking number, date, single `확인` CTA. Never a toast. |
|
|
434
|
-
| **Skeleton** | `#F2F2F2` blocks at exact card dimensions, 8px radius, ~1.2s shimmer. |
|
|
435
|
-
| **Disabled (button)** | Background `rgba(43,150,237,0.4)`, white text; geometry stable. |
|
|
248
|
+
| Selected locale tab | `aria-selected="true"` static home-header observation; values recorded in §4. |
|
|
249
|
+
| Empty | `[FILL IN]` |
|
|
250
|
+
| Loading | `[FILL IN]` |
|
|
251
|
+
| Error | `[FILL IN]` |
|
|
252
|
+
| Success | `[FILL IN]` |
|
|
253
|
+
| Disabled | `[FILL IN]` |
|
|
436
254
|
|
|
437
255
|
## 15. Motion & Easing
|
|
438
256
|
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
**Durations:**
|
|
442
|
-
|
|
443
|
-
| Token | Value | Use |
|
|
444
|
-
|---|---|---|
|
|
445
|
-
| `motion-instant` | 0ms | Toggle/checkbox, heart fill |
|
|
446
|
-
| `motion-fast` | 150ms | Hover lift, button press, chip select |
|
|
447
|
-
| `motion-standard` | 250ms | Card hover, sheet open, tab switch |
|
|
448
|
-
| `motion-slow` | 350ms | Page-to-detail, hero crossfade |
|
|
449
|
-
|
|
450
|
-
**Easings:**
|
|
451
|
-
|
|
452
|
-
| Token | Curve | Use |
|
|
453
|
-
|---|---|---|
|
|
454
|
-
| `ease-standard` | `cubic-bezier(0.4, 0, 0.2, 1)` | Default — most motion |
|
|
455
|
-
| `ease-enter` | `cubic-bezier(0.0, 0.0, 0.2, 1)` | Sheets, modals, toasts appearing |
|
|
456
|
-
| `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
|
|
457
|
-
|
|
458
|
-
**Spring stance.** Spring/overshoot is reserved for small delight moments only (heart-favorite pop). Booking and navigation flows use standard easing — a travel-booking app must feel trustworthy, and overshoot on a price or a confirm would read as unserious.
|
|
459
|
-
|
|
460
|
-
**Signature motions.**
|
|
461
|
-
1. **Card hover lift.** Card raises with `0 2px 8px rgba(0,0,0,0.06)` shadow and a ~2px translate-up over `motion-standard / ease-standard`. Image stays crisp.
|
|
462
|
-
2. **Header frost-on-scroll.** Header transitions from transparent to `rgba(248,248,248,0.8)` + `backdrop-filter: blur` over `motion-fast` as content scrolls under it.
|
|
463
|
-
3. **Wishlist heart.** On tap, the heart fills instantly and pops to ~1.2 scale, settling over `motion-fast / ease-spring`. The one licensed spring.
|
|
464
|
-
4. **Reduce motion.** Under `prefers-reduced-motion: reduce`, lifts and slides collapse to instant; skeletons go static `#F2F2F2`. No exceptions.
|
|
465
|
-
|
|
466
|
-
<!--
|
|
467
|
-
OmD v0.1 Sources — Philosophy Layer (sections 10–15)
|
|
468
|
-
|
|
469
|
-
Tier 1 (UI tokens, §1–9): myrealtrip.com live computed styles via Playwright
|
|
470
|
-
MCP, 2026-05-19. Confirmed: primary CTA `#2B96ED` (rgb 43,150,237) 12px radius
|
|
471
|
-
14px·600 40px tall; violet accent `#8238FA` (rgb 130,56,250) most-frequent feed
|
|
472
|
-
color; blue pressed `#1583DB`; wordmark/logo `#0F0F0F` (rgb 15,15,15);
|
|
473
|
-
secondary glyph `#767676`; header bg `rgba(248,248,248,0.8)`; self-hosted
|
|
474
|
-
Pretendard variable (`__pretandard_*`); white bg. Page title
|
|
475
|
-
`진짜 나다운 여행 - 마이리얼트립`.
|
|
476
|
-
|
|
477
|
-
Tier 2: Brandfetch (myrealtrip.com) lists brand "Science Blue" `#0250CB`,
|
|
478
|
-
White, Woodsmoke `#141719`. MyRealTrip product Medium documents a flexible
|
|
479
|
-
color system (medium.com/myrealtrip-product/color-system). designcompass.org
|
|
480
|
-
documents the 2023 "My" rebrand. about.myrealtrip.com / thevc.kr for company
|
|
481
|
-
history (founder Lee Dong-geon, founded 2012, guide-marketplace origin). Not
|
|
482
|
-
all re-verified against primary MRT press.
|
|
483
|
-
|
|
484
|
-
Brand-blue split (`#0250CB` brand vs `#2B96ED` UI) flagged in §4 footer as a
|
|
485
|
-
distinct-surface resolution (Toss precedent). frontmatter primary_color set to
|
|
486
|
-
the live interactive blue `#2B96ED`.
|
|
487
|
-
|
|
488
|
-
Voice samples: `로그인 및 회원가입`, category labels, and `진짜 나다운 여행`
|
|
489
|
-
verified live. `찜 목록에 추가했어요`, `이런 여행 어때요?`, empty/error copy
|
|
490
|
-
are ILLUSTRATIVE patterns following MRT's warm `~요` register; not verbatim.
|
|
491
|
-
|
|
492
|
-
Personas (§13) are fictional archetypes. Any resemblance to specific users is
|
|
493
|
-
unintended.
|
|
494
|
-
-->
|
|
257
|
+
`[FILL IN]` No duration, easing, transition, reduced-motion, or animated-state measurement was captured. Do not infer motion from class names or from the presence of interactive-looking controls.
|