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
|
@@ -9,456 +9,283 @@ primary_color: "#21afbf"
|
|
|
9
9
|
logo:
|
|
10
10
|
type: favicon
|
|
11
11
|
slug: "https://www.google.com/s2/favicons?domain=miricanvas.com&sz=128"
|
|
12
|
-
verified: "2026-
|
|
12
|
+
verified: "2026-07-13"
|
|
13
13
|
added: "2026-06-10"
|
|
14
14
|
omd: "0.1"
|
|
15
|
+
verification_v2:
|
|
16
|
+
schema: 2
|
|
17
|
+
checked: "2026-07-13"
|
|
18
|
+
surfaces:
|
|
19
|
+
- { id: home, kind: public-product, url: "https://www.miricanvas.com/ko", inspected: "2026-07-13" }
|
|
20
|
+
- { id: templates, kind: public-product, url: "https://www.miricanvas.com/ko/templates", inspected: "2026-07-13" }
|
|
21
|
+
- { id: pricing, kind: public-product, url: "https://www.miricanvas.com/ko/pricing", inspected: "2026-07-13" }
|
|
22
|
+
sources:
|
|
23
|
+
- { id: home-live, kind: product-surface, url: "https://www.miricanvas.com/ko", captured: "2026-07-13" }
|
|
24
|
+
- { id: templates-live, kind: product-surface, url: "https://www.miricanvas.com/ko/templates", captured: "2026-07-13" }
|
|
25
|
+
- { id: pricing-live, kind: product-surface, url: "https://www.miricanvas.com/ko/pricing", captured: "2026-07-13" }
|
|
26
|
+
- { id: company-context, kind: official-doc, url: "https://www.miridih.com/ko/home", captured: "2026-07-13" }
|
|
27
|
+
- { id: editor-doc, kind: official-doc, url: "https://help.miricanvas.com/hc/ko/articles/4413862566937", captured: "2026-07-13" }
|
|
28
|
+
- { id: license-doc, kind: official-doc, url: "https://help.miricanvas.com/hc/ko/articles/56483608870681", captured: "2026-07-13" }
|
|
29
|
+
conflicts: []
|
|
30
|
+
claims:
|
|
31
|
+
"tokens.colors.primary": &home { surface_id: home, source_id: home-live, method: live-inspect, captured: "2026-07-13" }
|
|
32
|
+
"tokens.colors.primary-deep": *home
|
|
33
|
+
"tokens.colors.ink": *home
|
|
34
|
+
"tokens.colors.ink-soft": *home
|
|
35
|
+
"tokens.colors.muted": *home
|
|
36
|
+
"tokens.colors.canvas": *home
|
|
37
|
+
"tokens.colors.on-primary": *home
|
|
38
|
+
"tokens.typography.family.sans": *home
|
|
39
|
+
"tokens.typography.display-hero.size": *home
|
|
40
|
+
"tokens.typography.display-hero.weight": *home
|
|
41
|
+
"tokens.typography.display-hero.lineHeight": *home
|
|
42
|
+
"tokens.typography.display-hero.use": *home
|
|
43
|
+
"tokens.typography.page-title.size": &pricing { surface_id: pricing, source_id: pricing-live, method: live-inspect, captured: "2026-07-13" }
|
|
44
|
+
"tokens.typography.page-title.weight": *pricing
|
|
45
|
+
"tokens.typography.page-title.lineHeight": *pricing
|
|
46
|
+
"tokens.typography.page-title.use": *pricing
|
|
47
|
+
"tokens.typography.subsection.size": *home
|
|
48
|
+
"tokens.typography.subsection.weight": *home
|
|
49
|
+
"tokens.typography.subsection.lineHeight": *home
|
|
50
|
+
"tokens.typography.subsection.use": *home
|
|
51
|
+
"tokens.typography.section.size": *home
|
|
52
|
+
"tokens.typography.section.weight": *home
|
|
53
|
+
"tokens.typography.section.lineHeight": *home
|
|
54
|
+
"tokens.typography.section.use": *home
|
|
55
|
+
"tokens.typography.ui.size": *home
|
|
56
|
+
"tokens.typography.ui.weight": *home
|
|
57
|
+
"tokens.typography.ui.lineHeight": *home
|
|
58
|
+
"tokens.typography.ui.use": *home
|
|
59
|
+
"tokens.spacing.xs": *home
|
|
60
|
+
"tokens.spacing.sm": *home
|
|
61
|
+
"tokens.spacing.md": *home
|
|
62
|
+
"tokens.spacing.lg": *home
|
|
63
|
+
"tokens.spacing.xl": *home
|
|
64
|
+
"tokens.spacing.xxl": *home
|
|
65
|
+
"tokens.spacing.hero": *home
|
|
66
|
+
"tokens.rounded.sm": *home
|
|
67
|
+
"tokens.rounded.md": *home
|
|
68
|
+
"tokens.rounded.lg": *home
|
|
69
|
+
"tokens.rounded.xl": *home
|
|
70
|
+
"tokens.shadow.menu-open": *home
|
|
15
71
|
tokens:
|
|
16
|
-
source:
|
|
17
|
-
extracted: "2026-
|
|
18
|
-
note: "
|
|
72
|
+
source: reconciled
|
|
73
|
+
extracted: "2026-07-13"
|
|
74
|
+
note: "Public MiriCanvas surfaces only. Tokens are limited to computed observations corroborated by the supplied FontFaceSet evidence; no authenticated editor or help-center chrome is promoted."
|
|
19
75
|
colors:
|
|
20
76
|
primary: "#21afbf"
|
|
21
77
|
primary-deep: "#1c95a2"
|
|
22
|
-
accent-bright: "#26c7d9"
|
|
23
|
-
tint: "#e7f9fb"
|
|
24
78
|
ink: "#16181d"
|
|
25
79
|
ink-soft: "#23242a"
|
|
26
|
-
|
|
27
|
-
muted: "#626677"
|
|
28
|
-
muted-blue: "#70798f"
|
|
29
|
-
faint: "#8d94a5"
|
|
80
|
+
muted: "#70798f"
|
|
30
81
|
canvas: "#ffffff"
|
|
31
|
-
surface: "#f1f2f4"
|
|
32
82
|
on-primary: "#ffffff"
|
|
33
83
|
typography:
|
|
34
|
-
family: { sans: "Pretendard Variable"
|
|
35
|
-
display-hero: { size: 64, weight: 700, lineHeight: 1.50, use: "
|
|
36
|
-
page-title:
|
|
37
|
-
subsection:
|
|
38
|
-
section:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
body: { size: 16, weight: 400, use: "Body copy, search input text" }
|
|
43
|
-
ui: { size: 14, weight: 500, use: "Nav items, standard buttons" }
|
|
44
|
-
spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 32, section: 64 }
|
|
45
|
-
rounded: { sm: 8, md: 10, lg: 12, xl: 16, full: 9999 }
|
|
84
|
+
family: { sans: "Pretendard Variable" }
|
|
85
|
+
display-hero: { size: 64, weight: 700, lineHeight: 1.50, use: "Public homepage h1" }
|
|
86
|
+
page-title: { size: 40, weight: 700, lineHeight: 1.20, use: "Public pricing h1" }
|
|
87
|
+
subsection: { size: 28, weight: 600, lineHeight: 1.29, use: "Public-surface heading" }
|
|
88
|
+
section: { size: 24, weight: 600, lineHeight: 1.33, use: "Public-surface heading" }
|
|
89
|
+
ui: { size: 14, weight: 500, lineHeight: 1.43, use: "Observed navigation and standard buttons" }
|
|
90
|
+
spacing: { xs: 4, sm: 6, md: 8, lg: 12, xl: 16, xxl: 20, hero: 24 }
|
|
91
|
+
rounded: { sm: 8, md: 10, lg: 12, xl: 16 }
|
|
46
92
|
shadow:
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
button-primary: { type: button, bg: "#21afbf", fg: "#ffffff", radius: "8px", padding: "8px 16px", height: "40px", font: "14px / 500", use: "Header/inline CTA — 회원가입, 지금 써보기" }
|
|
51
|
-
button-hero: { type: button, bg: "#21afbf", fg: "#ffffff", radius: "12px", padding: "14px 24px", height: "56px", font: "18px / 500", use: "Hero primary CTA — 바로 시작하기" }
|
|
52
|
-
button-secondary: { type: button, bg: "#ffffff", fg: "#1c95a2", radius: "12px", padding: "14px 24px", height: "56px", font: "18px / 500", use: "Hero secondary CTA — 템플릿 보러가기" }
|
|
53
|
-
button-ghost: { type: button, fg: "#1c95a2", radius: "8px", padding: "8px 16px", height: "40px", font: "14px / 500", use: "Text-teal tertiary action — 무료로 시작하기, 요금제 알아보기" }
|
|
54
|
-
nav-item: { type: tab, fg: "#23242a", radius: "8px", padding: "8px 16px", font: "14px / 500", use: "GNB items — 템플릿, 추천 기능, 요금제" }
|
|
55
|
-
input-search: { type: input, fg: "#16181d", radius: "10px", height: "46px", font: "16px / 400", use: "Template hub natural-language search" }
|
|
56
|
-
card-template: { type: card, bg: "#ffffff", radius: "12px", shadow: "rgba(0,0,0,0.15) 0px 2px 8px 0px", use: "Template thumbnail card on homepage rail" }
|
|
57
|
-
avatar-social: { type: avatar, radius: "9999px", height: "40px", use: "Footer social circles (Facebook/Instagram/YouTube), subtle grey fill" }
|
|
58
|
-
components_harvested: true
|
|
93
|
+
menu-open: "rgba(11, 60, 65, 0.2) 0px 6px 20px 0px"
|
|
94
|
+
components: {}
|
|
95
|
+
components_harvested: false
|
|
59
96
|
---
|
|
60
97
|
|
|
61
98
|
# Design System Inspiration of MiriCanvas
|
|
62
99
|
|
|
63
100
|
## 1. Visual Theme & Atmosphere
|
|
64
101
|
|
|
65
|
-
MiriCanvas (미리캔버스) is
|
|
102
|
+
MiriCanvas (미리캔버스) is MIRIDIH's browser-based design service: its public template and pricing surfaces position design creation as something users can begin from ready-made material instead of specialist software. The visible system is deliberately spare: a white canvas (`#ffffff`), dark ink (`#16181d`), and an aqua-teal action color (`#21afbf`) recur across the home, template, and pricing routes. This gives the public experience a clear action hierarchy without turning every surface into brand decoration. MIRIDIH frames its broader purpose as reducing inconvenient moments in design and enabling easier communication through design; its corporate site also describes a move from domestic success toward global markets. Those company statements provide context for the inclusive product positioning, but they are not UI-token evidence.
|
|
66
103
|
|
|
67
|
-
|
|
104
|
+
The collector confirms a loaded, site-hosted `Pretendard Variable` face throughout styled public UI. A 64px/700 homepage heading with 96px line-height sits above smaller 28px, 24px, and 14px steps; the contrast is soft geometry rather than an assertion about a private editor system. The evidence packet covers public surfaces only. It does not establish authenticated-editor styling, marketing-only feature-page styling, help-center chrome, or a complete responsive system.
|
|
68
105
|
|
|
69
|
-
|
|
106
|
+
**Key characteristics:**
|
|
70
107
|
|
|
71
|
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
-
|
|
76
|
-
- Near-black ink (`#16181d`) and soft ink (`#23242a`) instead of pure black
|
|
77
|
-
- Flat chrome + shadowed content: only template cards and floating controls elevate
|
|
78
|
-
- Soft radius ladder: 8 → 10 → 12 → 16px, circles reserved for social avatars
|
|
79
|
-
- Template thumbnails as the dominant visual element — the product demos itself
|
|
108
|
+
- Aqua teal (`#21afbf`) on an observed 40px public CTA
|
|
109
|
+
- White (`#ffffff`), Ink (`#16181d`), and Ink Soft (`#23242a`) as recurring public-surface neutrals
|
|
110
|
+
- `Pretendard Variable` is loaded and used by visible styled UI; fallback family names are not promoted
|
|
111
|
+
- 8px, 10px, 12px, and 16px are observed radii, with 8px the strongest public-button cluster
|
|
112
|
+
- An expanded navigation menu is the only captured interaction state; it is white, 16px-rounded, and softly elevated
|
|
80
113
|
|
|
81
114
|
## 2. Color Palette & Roles
|
|
82
115
|
|
|
83
|
-
###
|
|
84
|
-
|
|
85
|
-
- **
|
|
86
|
-
- **
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
- **
|
|
92
|
-
- **
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
- **Ink Soft** (`#23242a`): Nav items, button labels, sub-headings.
|
|
97
|
-
- **Body Slate** (`#434956`): Secondary body copy and descriptions.
|
|
98
|
-
- **Muted** (`#626677`): Tertiary text, template-rail "더보기" links, captions.
|
|
99
|
-
- **Muted Blue** (`#70798f`): Metadata and lower-emphasis labels.
|
|
100
|
-
- **Faint** (`#8d94a5`): Placeholder-level, disabled, finest print.
|
|
116
|
+
### Action and canvas
|
|
117
|
+
|
|
118
|
+
- **Primary teal** (`#21afbf`): observed background of a high-confidence public CTA on home, templates, and pricing.
|
|
119
|
+
- **Teal text** (`#1c95a2`): observed on a public text-action button; keep it distinct from the filled primary action.
|
|
120
|
+
- **Canvas / on-primary** (`#ffffff`): observed page and menu surface, and white CTA text.
|
|
121
|
+
|
|
122
|
+
### Text
|
|
123
|
+
|
|
124
|
+
- **Ink** (`#16181d`): observed primary text on the three public routes.
|
|
125
|
+
- **Ink Soft** (`#23242a`): observed on high-confidence public navigation buttons.
|
|
126
|
+
- **Muted** (`#70798f`): repeated lower-emphasis public text observation.
|
|
127
|
+
|
|
128
|
+
No semantic error, success, disabled, hover, focus, or editor color token is asserted from this packet.
|
|
101
129
|
|
|
102
130
|
## 3. Typography Rules
|
|
103
131
|
|
|
104
|
-
###
|
|
105
|
-
|
|
106
|
-
- **
|
|
107
|
-
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
|
115
|
-
|
|
116
|
-
|
|
|
117
|
-
|
|
|
118
|
-
|
|
|
119
|
-
|
|
|
120
|
-
|
|
|
121
|
-
| UI | Pretendard Variable | 14px (0.88rem) | 500 | — | Nav, standard buttons |
|
|
122
|
-
|
|
123
|
-
### Principles
|
|
124
|
-
- **Bold-but-breathing display**: 700-weight heroes on a 1.5 line-height — confidence delivered with air, not compression.
|
|
125
|
-
- **Normal tracking everywhere**: no negative letter-spacing at any size; the system reads default-friendly, not fashion-tight.
|
|
126
|
-
- **One family, weight-driven hierarchy**: Pretendard Variable carries every role; only weight (700/600/500/400) and size signal rank.
|
|
127
|
-
- **14px/500 chrome**: all interactive chrome shares one quiet spec, so the teal color — not type — flags the primary action.
|
|
132
|
+
### Evidence classes
|
|
133
|
+
|
|
134
|
+
- **Live computed surface-use + loaded source corroboration:** `Pretendard Variable` is the computed family for styled public UI and is backed by a matching loaded `FontFace` record (215 observed uses; 92 MiriCanvas-hosted subset source URLs). It is the only family promoted to `tokens.typography.family`.
|
|
135
|
+
- **Declared-only fallbacks:** `Figtree`, `IBM Plex Sans JP`, `Pretendard JP Variable`, and `Pretendard Std Variable` occur later in the computed stack of styled elements, but the supplied `FontFaceSet` evidence does not match them as loaded faces. They remain declared-only and are not UI-family tokens.
|
|
136
|
+
- **Unresolved capture artifact:** `Times` appears in some captured unstyled DOM fragments and in the expanded menu record without a matching loaded face or source URL. It is not treated as a MiriCanvas type choice.
|
|
137
|
+
- **Official distributed font asset:** Pretendard's upstream project documents the variable family and its SIL Open Font License 1.1. This establishes the upstream font's distribution/license boundary; it does not establish a MiriCanvas-owned font asset.
|
|
138
|
+
- **Official product-use announcement:** none located in the first-party sources reviewed for this update.
|
|
139
|
+
|
|
140
|
+
### Observed hierarchy
|
|
141
|
+
|
|
142
|
+
| Role | Family | Size | Weight | Line height | Public-surface provenance |
|
|
143
|
+
|------|--------|------|--------|-------------|---------------------------|
|
|
144
|
+
| Homepage display | Pretendard Variable | 64px | 700 | 96px | `home`, one h1 observation |
|
|
145
|
+
| Pricing display | Pretendard Variable | 40px | 700 | 48px | `surface-3`, h1 observation |
|
|
146
|
+
| Heading | Pretendard Variable | 28px | 600 | 36px | public heading observations |
|
|
147
|
+
| Heading | Pretendard Variable | 24px | 600 | 32px | public heading observations |
|
|
148
|
+
| Navigation / standard button | Pretendard Variable | 14px | 500 | 20px | high-confidence button records |
|
|
128
149
|
|
|
129
150
|
## 4. Component Stylings
|
|
130
151
|
|
|
131
|
-
|
|
152
|
+
Only the following public-surface variants have sufficient selector and computed-style provenance. No hover, pressed, focused, disabled, error, dialog, tab, toast, or authenticated-editor variant is inferred.
|
|
153
|
+
|
|
154
|
+
### Public buttons
|
|
132
155
|
|
|
133
|
-
**
|
|
156
|
+
**Filled primary**
|
|
134
157
|
- Background: `#21afbf`
|
|
135
158
|
- Text: `#ffffff`
|
|
136
159
|
- Radius: 8px
|
|
137
160
|
- Padding: 8px 16px
|
|
138
161
|
- Font: 14px / 500 / Pretendard Variable
|
|
139
162
|
- Height: 40px
|
|
140
|
-
- Use:
|
|
163
|
+
- Use: High-confidence CTA record on `home`, `surface-2`, and `surface-3`; representative selector `home::[data-omd-capture="21"]`.
|
|
141
164
|
|
|
142
|
-
**
|
|
143
|
-
- Background: `#21afbf`
|
|
144
|
-
- Text: `#ffffff`
|
|
145
|
-
- Radius: 12px
|
|
146
|
-
- Padding: 14px 24px
|
|
147
|
-
- Font: 18px / 500 / Pretendard Variable
|
|
148
|
-
- Height: 56px
|
|
149
|
-
- Use: Hero primary CTA (바로 시작하기, 모든 템플릿 둘러보기)
|
|
150
|
-
|
|
151
|
-
**Secondary (White)**
|
|
152
|
-
- Background: `#ffffff`
|
|
153
|
-
- Text: `#1c95a2`
|
|
154
|
-
- Radius: 12px
|
|
155
|
-
- Padding: 14px 24px
|
|
156
|
-
- Font: 18px / 500 / Pretendard Variable
|
|
157
|
-
- Height: 56px
|
|
158
|
-
- Use: Hero secondary CTA (템플릿 보러가기), paired beside the teal primary
|
|
159
|
-
|
|
160
|
-
**Ghost (Teal Text)**
|
|
165
|
+
**Navigation item**
|
|
161
166
|
- Background: transparent
|
|
162
|
-
- Text: `#
|
|
167
|
+
- Text: `#23242a`
|
|
163
168
|
- Radius: 8px
|
|
164
169
|
- Padding: 8px 16px
|
|
165
170
|
- Font: 14px / 500 / Pretendard Variable
|
|
166
171
|
- Height: 40px
|
|
167
|
-
- Use:
|
|
168
|
-
|
|
169
|
-
**Neutral (White on Grey)**
|
|
170
|
-
- Background: `#ffffff`
|
|
171
|
-
- Text: `rgba(0, 0, 0, 0.8)`
|
|
172
|
-
- Radius: 10px
|
|
173
|
-
- Padding: 12px 20px
|
|
174
|
-
- Font: 16px / 500 / Pretendard Variable
|
|
175
|
-
- Height: 48px
|
|
176
|
-
- Use: Mid-emphasis actions on grey surfaces (자세히 보기, 요금제 비교)
|
|
177
|
-
|
|
178
|
-
### Inputs
|
|
179
|
-
|
|
180
|
-
**Template Search**
|
|
181
|
-
- Background: `#ffffff` (container; input itself transparent)
|
|
182
|
-
- Text: `#16181d`
|
|
183
|
-
- Border: 1px solid transparent (container)
|
|
184
|
-
- Radius: 10px
|
|
185
|
-
- Font: 16px / 400 / Pretendard Variable
|
|
186
|
-
- Height: 46px
|
|
187
|
-
- Use: Design-hub natural-language search ("스타일과 용도를 함께 검색해 보세요")
|
|
188
|
-
|
|
189
|
-
### Cards & Containers
|
|
190
|
-
|
|
191
|
-
**Template Card**
|
|
192
|
-
- Background: `#ffffff`
|
|
193
|
-
- Radius: 12px
|
|
194
|
-
- Shadow: `rgba(0, 0, 0, 0.15) 0px 2px 8px 0px`
|
|
195
|
-
- Use: Template thumbnail cards in homepage rails — the only consistently elevated element
|
|
196
|
-
|
|
197
|
-
**Category Tile**
|
|
198
|
-
- Background: `#ffffff`
|
|
199
|
-
- Radius: 16px
|
|
200
|
-
- Height: 280px
|
|
201
|
-
- Use: Large template-category link tiles (프레젠테이션, 동영상, SNS)
|
|
172
|
+
- Use: High-confidence public navigation record on all three surfaces; representative selector `home::[data-omd-capture="12"]`.
|
|
202
173
|
|
|
203
|
-
**
|
|
204
|
-
- Background:
|
|
205
|
-
-
|
|
206
|
-
|
|
207
|
-
|
|
174
|
+
**Navigation switcher item**
|
|
175
|
+
- Background: transparent
|
|
176
|
+
- Text: `#23242a`
|
|
177
|
+
- Radius: 8px
|
|
178
|
+
- Padding: 12px
|
|
179
|
+
- Font: 14px / 500 / Pretendard Variable
|
|
180
|
+
- Height: 44px
|
|
181
|
+
- Use: High-confidence public navigation record on all three surfaces; representative selector `home::[data-omd-capture="1"]`.
|
|
208
182
|
|
|
209
|
-
**
|
|
183
|
+
**Menu trigger**
|
|
210
184
|
- Background: transparent
|
|
211
185
|
- Text: `#23242a`
|
|
212
186
|
- Radius: 8px
|
|
213
|
-
- Padding: 8px 16px
|
|
187
|
+
- Padding: 8px 12px 8px 16px
|
|
214
188
|
- Font: 14px / 500 / Pretendard Variable
|
|
215
189
|
- Height: 40px
|
|
216
|
-
- Use:
|
|
190
|
+
- Use: High-confidence trigger with `aria-haspopup="menu"`; representative selector `home::[data-omd-capture="9"]`.
|
|
217
191
|
|
|
218
|
-
###
|
|
192
|
+
### Expanded navigation
|
|
219
193
|
|
|
220
|
-
**
|
|
221
|
-
- Background: `
|
|
222
|
-
-
|
|
223
|
-
-
|
|
224
|
-
-
|
|
225
|
-
-
|
|
194
|
+
**Menu open**
|
|
195
|
+
- Background: `#ffffff`
|
|
196
|
+
- Text: `#000000`
|
|
197
|
+
- Radius: 16px
|
|
198
|
+
- Padding: 16px
|
|
199
|
+
- Shadow: `rgba(11, 60, 65, 0.2) 0px 6px 20px 0px`
|
|
200
|
+
- Height: 321px
|
|
201
|
+
- Use: Observed only in `expanded` / `menu-open` state on all three surfaces; representative selector `home::[data-omd-interaction-capture="menu-0-0"]`.
|
|
226
202
|
|
|
227
|
-
|
|
203
|
+
Medium- and low-confidence captures (including a 56px white button, a 48px white button, and a 46px input) remain raw observations in `.verification.md`; they are not promoted as canonical component variants because their visible purpose and/or confidence is insufficient.
|
|
228
204
|
|
|
229
205
|
---
|
|
230
|
-
**Verified:** 2026-
|
|
231
|
-
**Tier 1 sources:** https://www.miricanvas.com/ko (
|
|
232
|
-
**Tier 2 sources:**
|
|
206
|
+
**Verified:** 2026-07-13
|
|
207
|
+
**Tier 1 sources:** https://www.miricanvas.com/ko (public product marketing surface, supplied computed-style/FontFaceSet evidence), https://www.miricanvas.com/ko/templates (public template surface, supplied computed-style evidence), https://www.miricanvas.com/ko/pricing (public pricing surface, supplied computed-style evidence), https://www.miridih.com/ko/home (operator context and values), https://help.miricanvas.com/hc/ko/articles/4413862566937 (documentation domain: editor controls, not UI tokens), https://help.miricanvas.com/hc/ko/articles/56483608870681 (documentation domain: content license boundary, not UI tokens)
|
|
208
|
+
**Tier 2 sources:** https://getdesign.md/miricanvas (attempted; fetch unavailable), https://styles.refero.design/?q=miricanvas (query attempted; fetch unavailable)
|
|
233
209
|
**Conflicts unresolved:** none
|
|
234
210
|
|
|
211
|
+
Tier 2 token/component data could not be retrieved, so no Tier 2 comparison is asserted.
|
|
212
|
+
|
|
235
213
|
## 5. Layout Principles
|
|
236
214
|
|
|
237
|
-
|
|
238
|
-
- Base unit: 4px
|
|
239
|
-
- Scale: 4px, 8px, 12px, 16px, 24px, 32px, 64px
|
|
240
|
-
- Button padding pairs are tight and consistent: 8px 16px (standard), 12px 20px (medium), 14px 24px (hero)
|
|
241
|
-
|
|
242
|
-
### Grid & Container
|
|
243
|
-
- Centered hero with the 64px headline and a two-button CTA pair (teal + white)
|
|
244
|
-
- Template content presented as horizontal card rails grouped by category, each with a "더보기" teal text link
|
|
245
|
-
- Full-width alternating bands: white canvas ↔ `#f1f2f4` grey surface
|
|
246
|
-
- Pricing uses side-by-side plan cards with a translucent teal tint marking the recommended tier
|
|
247
|
-
- Footer is a single light band at `rgba(88, 98, 118, 0.1)` with circular social icons
|
|
248
|
-
|
|
249
|
-
### Whitespace Philosophy
|
|
250
|
-
- **Air as friendliness**: the 1.5 hero line-height and wide section gaps make a feature-dense product feel light.
|
|
251
|
-
- **Templates do the talking**: whitespace frames real thumbnail content rather than abstract illustration — the product is its own demo.
|
|
252
|
-
- **Flat segmentation**: bands of `#f1f2f4` separate topics without borders or shadows.
|
|
253
|
-
|
|
254
|
-
### Border Radius Scale
|
|
255
|
-
- Small (8px): standard buttons, nav items
|
|
256
|
-
- Medium (10px): medium buttons, search field
|
|
257
|
-
- Large (12px): hero CTAs, template cards
|
|
258
|
-
- XLarge (16px): big category tiles
|
|
259
|
-
- Full (50% / 9999px): footer social circles only
|
|
215
|
+
The public packet establishes component-level spacing, not a full grid. Observed spacing values are 4px, 6px, 8px, 12px, 14px, 16px, 20px, 24px, and 56px; the strongest component pairs are 8px 16px, 12px, and 14px 24px. The page-level grid, card-rail behavior, and authenticated-editor layout are unresolved.
|
|
260
216
|
|
|
261
|
-
|
|
217
|
+
Observed public geometry is a small radius ladder: 8px is common on navigation and the filled CTA; 10px, 12px, and 16px occur less often. Do not turn the capture frequency into a claim about an exhaustive design scale.
|
|
262
218
|
|
|
263
|
-
|
|
264
|
-
|-------|-----------|-----|
|
|
265
|
-
| Flat (Level 0) | No shadow | Buttons, nav, sections, pricing cards |
|
|
266
|
-
| Tint (Level 1) | `#f1f2f4` / `#e7f9fb` background shift | Section and callout separation |
|
|
267
|
-
| Content (Level 2) | `rgba(0, 0, 0, 0.15) 0px 2px 8px 0px` | Template thumbnail cards |
|
|
268
|
-
| Floating (Level 3) | `rgba(0, 0, 0, 0.16) 0px 2px 6px 0px` | Small floating circular controls |
|
|
219
|
+
## 6. Depth & Elevation
|
|
269
220
|
|
|
270
|
-
|
|
221
|
+
The high-confidence filled CTA and navigation records have `box-shadow: none`. One expanded navigation menu state has `rgba(11, 60, 65, 0.2) 0px 6px 20px 0px`. No card, modal, editor, hover-lift, or general elevation policy is established from the new packet.
|
|
271
222
|
|
|
272
223
|
## 7. Do's and Don'ts
|
|
273
224
|
|
|
274
225
|
### Do
|
|
275
|
-
|
|
276
|
-
- Use
|
|
277
|
-
-
|
|
278
|
-
-
|
|
279
|
-
-
|
|
280
|
-
- Separate sections with flat `#f1f2f4` bands
|
|
281
|
-
- Use the radius ladder deliberately: 8px buttons, 10px medium, 12px hero/cards, 16px tiles
|
|
282
|
-
- Use near-black ink (`#16181d`) for headings, never pure black
|
|
226
|
+
|
|
227
|
+
- Use `#21afbf` with white text for the observed public filled-action pattern.
|
|
228
|
+
- Use the loaded `Pretendard Variable` family for a reconstruction of these public surfaces.
|
|
229
|
+
- Retain the observed 8px / 14px 500 / 40px geometry where the standard public CTA or navigation item is intended.
|
|
230
|
+
- Treat the 16px rounded, shadowed menu only as an expanded navigation state.
|
|
283
231
|
|
|
284
232
|
### Don't
|
|
285
|
-
|
|
286
|
-
-
|
|
287
|
-
-
|
|
288
|
-
-
|
|
289
|
-
-
|
|
290
|
-
- Set body text in grey lighter than `#626677` for reading copy
|
|
291
|
-
- Mix fonts — Pretendard Variable (with Figtree Latin) owns every role
|
|
233
|
+
|
|
234
|
+
- Substitute an unresolved or declared-only fallback family as if it were loaded MiriCanvas UI typography.
|
|
235
|
+
- Add hover, disabled, focus, error, modal, toast, or editor-state specifications from this public packet.
|
|
236
|
+
- Generalize the menu's shadow to all cards or buttons.
|
|
237
|
+
- Treat Help Center styling or a feature/marketing page as evidence for the authenticated product editor.
|
|
292
238
|
|
|
293
239
|
## 8. Responsive Behavior
|
|
294
240
|
|
|
295
|
-
|
|
296
|
-
| Name | Width | Key Changes |
|
|
297
|
-
|------|-------|-------------|
|
|
298
|
-
| Mobile | <640px | Single column, hero scales down, template rails become swipe carousels |
|
|
299
|
-
| Tablet | 640–1024px | 2-up template grids, condensed nav |
|
|
300
|
-
| Desktop | 1024–1440px | Full GNB with product-family switcher, multi-rail template sections |
|
|
301
|
-
|
|
302
|
-
### Touch Targets
|
|
303
|
-
- Standard buttons at 40px height, hero CTAs at 56px — comfortably tappable
|
|
304
|
-
- GNB product-switcher items at 44px
|
|
305
|
-
- Footer social circles at 40px diameter
|
|
306
|
-
- Search field at 46px input height
|
|
307
|
-
|
|
308
|
-
### Collapsing Strategy
|
|
309
|
-
- Hero: 64px headline compresses on mobile, weight 700 and loose line-height maintained
|
|
310
|
-
- CTA pair (teal + white) stacks vertically on narrow screens
|
|
311
|
-
- Template rails: grid → horizontal swipe with snap
|
|
312
|
-
- GNB: full menu collapses behind a toggle; the teal CTA stays visible
|
|
313
|
-
|
|
314
|
-
### Image Behavior
|
|
315
|
-
- Template thumbnails keep the 12px radius and soft shadow at every size
|
|
316
|
-
- Category tiles maintain 16px radius
|
|
317
|
-
- Real template content is served at display density — thumbnails are the product proof and stay sharp
|
|
241
|
+
No viewport comparison or responsive-state capture was supplied. Breakpoints, navigation collapse behavior, touch-target policy, and mobile editor behavior are absent from this reference rather than inferred from desktop public routes.
|
|
318
242
|
|
|
319
243
|
## 9. Agent Prompt Guide
|
|
320
244
|
|
|
321
|
-
|
|
322
|
-
- Primary CTA: MiriCanvas Teal (`#21afbf`)
|
|
323
|
-
- Secondary/link teal: Deep Teal (`#1c95a2`)
|
|
324
|
-
- Bright accent: Aqua (`#26c7d9`)
|
|
325
|
-
- Background: Pure White (`#ffffff`)
|
|
326
|
-
- Section band: Surface Grey (`#f1f2f4`)
|
|
327
|
-
- Brand tint: Teal Wash (`#e7f9fb`)
|
|
328
|
-
- Heading text: Ink (`#16181d`)
|
|
329
|
-
- UI text: Ink Soft (`#23242a`)
|
|
330
|
-
- Body text: Body Slate (`#434956`)
|
|
331
|
-
- Muted text: Muted (`#626677`)
|
|
332
|
-
|
|
333
|
-
### Example Component Prompts
|
|
334
|
-
- "Create a hero on white. Headline 64px Pretendard Variable weight 700, line-height 1.5, color #16181d. Two CTAs side by side: primary #21afbf background, white text, 12px radius, 14px 24px padding, 18px/500; secondary white background, #1c95a2 text, same geometry. No shadows on buttons."
|
|
335
|
-
- "Design a template card rail: white cards, 12px radius, shadow rgba(0,0,0,0.15) 0px 2px 8px. Section title 24px Pretendard Variable weight 600, #16181d. A '더보기' text link in #626677 at 18px/500 on the right."
|
|
336
|
-
- "Build a top nav: white header, items 14px Pretendard Variable weight 500, #23242a text, 8px radius hover surface, 8px 16px padding. One teal CTA (#21afbf bg, white text, 8px radius) right-aligned."
|
|
337
|
-
- "Create a pricing band: white plan cards on #f1f2f4, the recommended plan tinted rgba(33,175,191,0.1). Tier name 18px/600 #23242a, price emphasized, ghost CTA in #1c95a2 text and a filled teal #21afbf CTA, both 8px radius, 40px tall."
|
|
338
|
-
- "Design a search field: white container, 10px radius, 46px tall, 16px Pretendard Variable text #16181d, long friendly Korean placeholder."
|
|
339
|
-
|
|
340
|
-
### Iteration Guide
|
|
341
|
-
1. Teal `#21afbf` fills = primary action; teal text `#1c95a2` = secondary; everything else neutral
|
|
342
|
-
2. Buttons flat, content shadowed — never the reverse
|
|
343
|
-
3. Radius ladder: 8 / 10 / 12 / 16px; circles only for social avatars
|
|
344
|
-
4. Pretendard Variable everywhere; hierarchy via weight 700 → 600 → 500 → 400
|
|
345
|
-
5. Display line-height stays generous (1.4–1.5) — never compress the hero
|
|
346
|
-
6. Sections alternate white and `#f1f2f4`; no border dividers
|
|
347
|
-
7. Show real template thumbnails as content — the product demos itself
|
|
348
|
-
|
|
349
|
-
---
|
|
245
|
+
For a public MiriCanvas-inspired CTA, use a white canvas, `#21afbf` filled action, `#ffffff` text, 8px radius, 8px 16px padding, 40px height, and `Pretendard Variable` 14px/500. For public navigation, use transparent background, `#23242a` text, 8px radius, and the same 40px / 14px 500 baseline. Use the white 16px-rounded menu with the recorded shadow only after a menu is explicitly expanded.
|
|
350
246
|
|
|
351
247
|
## 10. Voice & Tone
|
|
352
248
|
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
| Context | Tone |
|
|
356
|
-
|---|---|
|
|
357
|
-
| Hero headlines | Big, inclusive promise in plain Korean. "세상의 모든 디자인은 미리캔버스로 완성." |
|
|
358
|
-
| CTAs | Immediate, zero-commitment imperatives. "바로 시작하기", "지금 써보기", "템플릿 보러가기". |
|
|
359
|
-
| Feature copy | Capability + breadth. "프레젠테이션, 동영상, SNS 등 모든 템플릿이 한 곳에." |
|
|
360
|
-
| Pricing | Rational, user-side framing. "사용 방식에 따라 선택하는 합리적인 요금제." |
|
|
361
|
-
| Input placeholders | Coaching by example: shows users *how* to ask, with a vivid sample query. |
|
|
362
|
-
| Education/enterprise | Welcoming, benefit-first ("교육기관을 위한 특별한 무료 버전"). |
|
|
249
|
+
The public product copy is direct, inclusive, and task-oriented. The template route promises that complex design can be completed with a template in three minutes; the business route frames the service as an all-in-one answer for creation, management, and made-to-order printing. This is source context for voice, not evidence of an editor microcopy system.
|
|
363
250
|
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
251
|
+
| Context | Observed or official expression |
|
|
252
|
+
|---------|--------------------------------|
|
|
253
|
+
| Homepage | “세상의 모든 디자인은 미리캔버스로 완성” (supplied public-surface capture) |
|
|
254
|
+
| Templates | “복잡한 디자인, 템플릿으로 3분이면 끝!” (official template page) |
|
|
255
|
+
| Business | “기업의 디자인 고민, 미리캔버스로 한 번에 해결합니다” (official business page) |
|
|
256
|
+
| Corporate | MIRIDIH describes making communication through design easier (official corporate page) |
|
|
370
257
|
|
|
371
|
-
|
|
258
|
+
Avoid inventing editor error messages, onboarding wording, or persona-specific voice rules: these were not available in public evidence.
|
|
372
259
|
|
|
373
260
|
## 11. Brand Narrative
|
|
374
261
|
|
|
375
|
-
MiriCanvas is operated by
|
|
262
|
+
MiriCanvas is operated by MIRIDIH. The operator's official corporate page says it aims to change inconvenient moments in design and enable people to communicate more easily through design; it lists integrity, customer focus, data-driven work, and high standards as operating values. The same page describes current growth beyond the domestic market, providing a bounded account of the brand's present direction.
|
|
376
263
|
|
|
377
|
-
The
|
|
378
|
-
|
|
379
|
-
What the brand refuses, visible in the design: professional-tool intimidation (no dense toolbars on marketing surfaces, no jargon), dark-pattern monetization pressure (the free tier leads every pricing conversation), and decorative abstraction (real templates instead of brand illustration). What it embraces: one friendly teal, generous type, and the conviction that showing 50,000 real templates is more persuasive than any slogan.
|
|
264
|
+
The public MiriCanvas ecosystem shows two verified contexts rather than one undifferentiated surface. Template and pricing routes serve public discovery and plan comparison, while the business and Help Center materials describe organization-level governance, approval, and content use. The company’s terms state that rights in service-provided content remain with the original author/content provider or company as applicable and that use follows the license agreement. That is a license boundary, not a claim that every template, font, or customer output has the same rights.
|
|
380
265
|
|
|
381
266
|
## 12. Principles
|
|
382
267
|
|
|
383
|
-
1. **
|
|
384
|
-
2. **
|
|
385
|
-
3. **
|
|
386
|
-
4. **
|
|
387
|
-
5. **Integrity for the whole.** The first stated value pair — "Integrity & Thinking for the Whole" — extends to the copyright-safe template promise. *UI implication:* trust messaging (free, no copyright worry) is stated plainly in copy, never buried in fine print.
|
|
268
|
+
1. **Ease communication through design.** MIRIDIH's stated mission supports clear, approachable public entry points. *UI implication:* retain the public routes' plain action hierarchy, without asserting unobserved editor flows.
|
|
269
|
+
2. **Customer focus and high standards.** These are MIRIDIH's stated values. *UI implication:* treat a visual token as canonical only when its source domain and computed evidence agree.
|
|
270
|
+
3. **Governable team creation.** Official help documentation allows owners and managers to constrain colors, fonts, templates, and elements for members. *UI implication:* brand-governance controls are product capabilities, not a license to promote documentation chrome into the public token system.
|
|
271
|
+
4. **Licensed content has boundaries.** The service terms describe content rights and license-based use. *UI implication:* do not characterize templates or font assets as universally “copyright safe” without a specific applicable license.
|
|
388
272
|
|
|
389
273
|
## 13. Personas
|
|
390
274
|
|
|
391
|
-
*
|
|
275
|
+
*These are evidence-backed stakeholder groups, not fictional individuals or demographic personas.*
|
|
276
|
+
|
|
277
|
+
**Workspace owners and managers.** The editor-control documentation identifies these roles as configuring permitted editor functions and brand-managed colors, fonts, templates, and elements.
|
|
392
278
|
|
|
393
|
-
|
|
279
|
+
**Workspace members.** The same documentation identifies members as the people to whom those configured controls apply.
|
|
394
280
|
|
|
395
|
-
|
|
281
|
+
**Review collaborators.** The design-approval guide describes people requesting approval and exchanging feedback in a workspace.
|
|
396
282
|
|
|
397
|
-
|
|
283
|
+
**Organization and franchise operators.** The official business material addresses organizations that need consistent design, production, and distribution across headquarters and locations.
|
|
398
284
|
|
|
399
285
|
## 14. States
|
|
400
286
|
|
|
401
|
-
|
|
402
|
-
|---|---|
|
|
403
|
-
| **Empty (no search results)** | White canvas, plain Ink (`#16181d`) one-liner stating no matching templates, with suggested alternate keywords as teal text links — the coached-search pattern continues into the empty state. |
|
|
404
|
-
| **Empty (new workspace, no designs)** | Template suggestions instead of a blank void — the system never shows a truly empty canvas; it shows starting points with one teal CTA. |
|
|
405
|
-
| **Loading (template rail)** | Skeleton cards at final 12px-radius dimensions on `#f1f2f4` blocks, flat pulse. Thumbnails pop in with their soft shadow once loaded. |
|
|
406
|
-
| **Loading (editor open)** | Brand-teal progress indication on white; cheerful, short. |
|
|
407
|
-
| **Error (search/network failed)** | Inline plain-Korean message with a retry action in teal text (`#1c95a2`). No blame, no codes — "다시 시도해 주세요" register. |
|
|
408
|
-
| **Error (form validation)** | Field-level message below the input; states what a valid value looks like, consistent with the example-driven placeholder voice. |
|
|
409
|
-
| **Success (saved/exported)** | Quiet inline confirmation; the resulting design preview is the real success signal. No confetti on routine saves. |
|
|
410
|
-
| **Skeleton** | `#f1f2f4` blocks at final dimensions matching the radius ladder (12px cards, 16px tiles), flat pulse, no shimmer gradient. |
|
|
411
|
-
| **Disabled** | Labels drop to Faint (`#8d94a5`); teal actions fade in opacity rather than turning grey, preserving the action-color meaning. |
|
|
287
|
+
No public runtime empty, loading, error, success, validation, disabled, skeleton, or reduced-motion state was captured. This reference deliberately does not prescribe them.
|
|
412
288
|
|
|
413
289
|
## 15. Motion & Easing
|
|
414
290
|
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
| Token | Value | Use |
|
|
418
|
-
|---|---|---|
|
|
419
|
-
| `motion-fast` | 120ms | Hover surfaces on nav/buttons, focus rings |
|
|
420
|
-
| `motion-standard` | 200ms | Card hover lift, dropdown/menu open, rail snap |
|
|
421
|
-
| `motion-slow` | 320ms | Section reveals, page-level transitions |
|
|
422
|
-
|
|
423
|
-
**Easings**:
|
|
424
|
-
|
|
425
|
-
| Token | Curve | Use |
|
|
426
|
-
|---|---|---|
|
|
427
|
-
| `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Cards, menus, panels arriving |
|
|
428
|
-
| `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
|
|
429
|
-
| `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way state changes |
|
|
430
|
-
|
|
431
|
-
**Motion rules**: Motion is light and content-serving — template rails glide with momentum and snap, card hovers add a subtle lift consistent with the `rgba(0, 0, 0, 0.15)` shadow language, and chrome (nav, buttons) limits itself to fast background-tint fades. Nothing bounces: the tool sells effortlessness, and overshoot reads as effort. Under `prefers-reduced-motion: reduce`, rail animation and lifts collapse to instant state changes; browsing and editing remain fully functional.
|
|
432
|
-
|
|
433
|
-
<!--
|
|
434
|
-
OmD v0.1 Sources — Philosophy Layer (sections 10–15)
|
|
435
|
-
|
|
436
|
-
Tier 1 live inspect (2026-06-10) via playwright getComputedStyle:
|
|
437
|
-
- https://www.miricanvas.com/ko — hero H1 "세상의 모든 디자인은 미리캔버스로 완성" 64px/700/lh96,
|
|
438
|
-
CTA bg rgb(33,175,191) #21afbf, secondary CTA text rgb(28,149,162) #1c95a2,
|
|
439
|
-
section band rgb(241,242,243~244), template-card shadow rgba(0,0,0,0.15) 0 2px 8px
|
|
440
|
-
- https://www.miricanvas.com/ko/pricing — H1 40px/700, ghost teal buttons, plan tint rgba(33,175,191,0.1)
|
|
441
|
-
- https://www.miricanvas.com/ko/templates — search input 46px/10px radius, placeholder verbatim
|
|
442
|
-
- https://www.miridih.com/ko — mission/values verbatim: "미리디는 디자인의 불편한 순간들을 바꾸고,
|
|
443
|
-
모두가 쉽게 디자인을 통해 소통할 수 있는 세상을 만들어 갑니다";
|
|
444
|
-
core values "Integrity & Thinking for the Whole", "Customer Focus & Impact-Driven Goals",
|
|
445
|
-
"Data-Driven & High Standards"; 대표 강창석 (site footer); products 미리캔버스/비즈하우스
|
|
446
|
-
- https://medium.com/miridih — official team blog, self-description verbatim:
|
|
447
|
-
"간편한 디자인 문화를 만들어가는 미리디 팀 블로그"
|
|
448
|
-
|
|
449
|
-
Voice samples (§10) are verbatim from the live homepage, pricing, and template-hub surfaces.
|
|
450
|
-
|
|
451
|
-
Brand narrative (§11): operator MIRIDIH and CEO 강창석 are verbatim from miridih.com footer.
|
|
452
|
-
The "copyright-worry-free free templates" positioning (저작권 걱정 없는 무료 템플릿) is the product's
|
|
453
|
-
widely documented public positioning, not a verbatim quote captured this turn. BIZHOWS and the
|
|
454
|
-
design-to-print ecosystem are confirmed by the product-family switcher in the live GNB
|
|
455
|
-
(미리캔버스/디자인허브/프린트허브/비즈하우스).
|
|
456
|
-
|
|
457
|
-
Personas (§13) are fictional archetypes informed by publicly observable MiriCanvas user segments.
|
|
458
|
-
Names are illustrative; they do not refer to real people.
|
|
459
|
-
|
|
460
|
-
§14 States and §15 Motion are design-system extrapolations consistent with observed tokens
|
|
461
|
-
(flat chrome, content-only shadows, teal action hierarchy); they are not separately measured
|
|
462
|
-
runtime observations. Interpretive claims (e.g., "templates are the interface",
|
|
463
|
-
"one color means go") are editorial readings connecting observed design to stated mission.
|
|
464
|
-
-->
|
|
291
|
+
No duration, easing curve, transition, or reduced-motion rule was captured in the supplied evidence. No motion token is asserted.
|