oh-my-design-cli 1.8.6 → 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 +2761 -85
- 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/airbridge/DESIGN.md +451 -0
- 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/bigin/DESIGN.md +454 -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/buzzvil/DESIGN.md +457 -0
- package/web/references/cafe24/DESIGN.md +472 -0
- 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/codeit/DESIGN.md +470 -0
- 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 +338 -0
- 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/elice/DESIGN.md +445 -0
- 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/furiosaai/DESIGN.md +450 -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/goorm/DESIGN.md +470 -0
- package/web/references/greencar/DESIGN.md +420 -0
- package/web/references/hackle/DESIGN.md +472 -0
- 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/hwahae/DESIGN.md +453 -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/kcd/DESIGN.md +432 -0
- 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/kyobobook/DESIGN.md +445 -0
- package/web/references/lablup/DESIGN.md +474 -0
- package/web/references/lamborghini/DESIGN.md +198 -360
- package/web/references/lemonbase/DESIGN.md +452 -0
- 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 +242 -0
- 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/moreh/DESIGN.md +437 -0
- 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/neosapience/DESIGN.md +441 -0
- package/web/references/nhn/DESIGN.md +169 -346
- package/web/references/nhncloud/DESIGN.md +185 -123
- package/web/references/nota/DESIGN.md +451 -0
- 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/portone/DESIGN.md +446 -0
- 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/queenit/DESIGN.md +432 -0
- package/web/references/quotabook/DESIGN.md +449 -0
- package/web/references/rebellions/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/returnzero/DESIGN.md +460 -0
- 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/saramin/DESIGN.md +465 -0
- 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/shiftee/DESIGN.md +468 -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/solapi/DESIGN.md +483 -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/supertone/DESIGN.md +413 -0
- 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/vuno/DESIGN.md +413 -0
- package/web/references/wanted/DESIGN.md +215 -487
- package/web/references/weverse/DESIGN.md +437 -0
- package/web/references/wise/DESIGN.md +223 -231
- package/web/references/wisetracker/DESIGN.md +462 -0
- package/web/references/wooribank/DESIGN.md +245 -0
- package/web/references/yanolja/DESIGN.md +250 -419
- package/web/references/yeogiotte/DESIGN.md +235 -418
- package/web/references/zapier/DESIGN.md +256 -377
- package/web/references/zendesk/DESIGN.md +288 -0
- package/web/references/zigzag/DESIGN.md +200 -621
- package/dist/install-skills-7UUDOLG2.js +0 -734
- package/dist/install-skills-7UUDOLG2.js.map +0 -1
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: drdiary
|
|
3
|
+
name: Dr.diary
|
|
4
|
+
display_name_kr: 닥터다이어리
|
|
5
|
+
country: KR
|
|
6
|
+
category: healthcare
|
|
7
|
+
homepage: "https://drdiary.co.kr/"
|
|
8
|
+
primary_color: "#3eaeff"
|
|
9
|
+
logo:
|
|
10
|
+
type: favicon
|
|
11
|
+
slug: "https://www.google.com/s2/favicons?domain=drdiary.co.kr&sz=128"
|
|
12
|
+
verified: "2026-07-02"
|
|
13
|
+
added: "2026-07-02"
|
|
14
|
+
omd: "0.1"
|
|
15
|
+
tokens:
|
|
16
|
+
source: live-extract
|
|
17
|
+
extracted: "2026-07-02"
|
|
18
|
+
note: "primary = sky-blue gradient anchor (#3eaeff); brand identity is a tri-stop sweep #3eaeff→#ff5a8c→#dc6eff (+#00c8fa cyan tail). Headings ink-navy (#232f4d); body pure black (#000000) on white. Flat, shadow-free."
|
|
19
|
+
colors:
|
|
20
|
+
primary: "#3eaeff"
|
|
21
|
+
accent-pink: "#ff5a8c"
|
|
22
|
+
accent-purple: "#dc6eff"
|
|
23
|
+
accent-cyan: "#00c8fa"
|
|
24
|
+
accent-violet: "#4970f5"
|
|
25
|
+
ink: "#232f4d"
|
|
26
|
+
ink-pure: "#000000"
|
|
27
|
+
slate: "#4f5971"
|
|
28
|
+
muted: "#9197a6"
|
|
29
|
+
faint: "#bdc1ca"
|
|
30
|
+
canvas: "#ffffff"
|
|
31
|
+
surface: "#f5f8fb"
|
|
32
|
+
hairline: "#dee0e4"
|
|
33
|
+
on-primary: "#ffffff"
|
|
34
|
+
typography:
|
|
35
|
+
family: { sans: "Pretendard" }
|
|
36
|
+
heading: { size: 40, weight: 600, lineHeight: 1.4, use: "Section headlines (H2), ink navy" }
|
|
37
|
+
card-title: { size: 18, weight: 500, lineHeight: 1.4, use: "Press / news card titles (H3)" }
|
|
38
|
+
nav: { size: 20, weight: 400, lineHeight: 1.2, use: "Top navigation links, slate" }
|
|
39
|
+
body: { size: 16, weight: 400, lineHeight: 1.5, use: "Standard reading text, Pretendard" }
|
|
40
|
+
button: { size: 18, weight: 500, lineHeight: 1.2, use: "App-store download CTA label" }
|
|
41
|
+
more-link: { size: 20, weight: 600, lineHeight: 1.2, use: "'전체보기' more-link, faint grey" }
|
|
42
|
+
spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 24, xl: 40, section: 64 }
|
|
43
|
+
rounded: { sm: 8, md: 16, pill: 100, full: 9999 }
|
|
44
|
+
shadow:
|
|
45
|
+
none: "none"
|
|
46
|
+
components:
|
|
47
|
+
news-card: { type: card, bg: "#ffffff", border: "1px solid #dee0e4", radius: "16px", shadow: "none", use: "Press/news cards on homepage — flat, hairline outline" }
|
|
48
|
+
value-card: { type: card, bg: "#f5f8fb", radius: "16px", use: "Value/feature card on cool-grey tinted section band" }
|
|
49
|
+
store-cta: { type: button, fg: "#ffffff", border: "1px solid #ffffff", radius: "8px", padding: "12px 16px", font: "18px / 500 Pretendard", use: "App Store / Google Play download, outline on dark hero" }
|
|
50
|
+
nav-link: { type: tab, fg: "#4f5971", font: "20px / 400 Pretendard", active: "text sky-blue #3eaeff", use: "Top nav item (Platform, Solution, Brand, News, Contact)" }
|
|
51
|
+
gradient-pill: { type: badge, fg: "#ff5a8c", radius: "9999px", use: "Gradient emphasis text — #ff5a8c to #dc6eff to #00c8fa signature sweep" }
|
|
52
|
+
components_harvested: true
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
# Design System Inspiration of Dr.diary
|
|
56
|
+
|
|
57
|
+
## 1. Visual Theme & Atmosphere
|
|
58
|
+
|
|
59
|
+
Dr.diary (닥터다이어리) is a Korean healthcare and lifestyle-tech company built around hyper-personalized chronic-disease care — blood-glucose tracking, continuous glucose monitoring (CGM), and data-driven diabetes management. Its corporate site reads as clean, clinical, and optimistic rather than heavy or institutional: a pure white canvas (`#ffffff`) with occasional cool-grey tinted bands (`#f5f8fb`) segmenting content into airy, breathable zones. Text sits in ink navy (`#232f4d`) for headings and pure black (`#000000`) for body copy, giving the page a precise, trustworthy medical-grade weight without the cold navy-and-gold chrome of legacy health institutions.
|
|
60
|
+
|
|
61
|
+
The defining brand signature is a **tri-stop gradient sweep** — sky-blue (`#3eaeff`) flowing into hot pink (`#ff5a8c`) and violet-purple (`#dc6eff`), with a cyan (`#00c8fa`) tail on emphasis text. This gradient is the identity: it renders as clipped text on hero headlines and stat figures, and as a horizontal accent bar under key sections. The sky-blue end anchors the palette and functions as the single "trust" color (it is by far the most frequent solid accent), while the pink-purple end injects consumer-app warmth — the visual argument that managing a chronic condition can be approachable, even friendly, not a lifelong clinical burden.
|
|
62
|
+
|
|
63
|
+
Typographically the system is Korean-modern and restrained: **Pretendard** carries everything, the de-facto Korean product font optimized for dense hangul legibility. Section headlines run at 40px / weight 600 in ink navy; body drops to a quiet 16px / weight 400 pure black; nav sits at 20px / weight 400 slate (`#4f5971`). What most distinguishes Dr.diary from its fintech-adjacent peers is its total commitment to **flatness** — live inspection found `box-shadow: none` across the hero, nav, headings, and every card. Separation comes entirely from tinted surfaces (`#f5f8fb`), thin hairlines (`#dee0e4`), and 16px-radius cards. The result is a fast, mobile-native, medical-consumer aesthetic: engineered enough to signal data rigor, soft enough to feel like a wellness product.
|
|
64
|
+
|
|
65
|
+
**Key Characteristics:**
|
|
66
|
+
- Signature tri-stop gradient — sky-blue `#3eaeff` → pink `#ff5a8c` → purple `#dc6eff` (with `#00c8fa` cyan tail) as clipped text and accent bars
|
|
67
|
+
- Sky-blue (`#3eaeff`) as the single anchor/trust accent — the most frequent solid color
|
|
68
|
+
- Pretendard for the entire type system — headlines at 40px/600, body at 16px/400
|
|
69
|
+
- Ink navy (`#232f4d`) headings and pure black (`#000000`) body on a white (`#ffffff`) canvas
|
|
70
|
+
- Flat, shadow-free depth: `box-shadow: none` everywhere; separation via `#f5f8fb` tint and `#dee0e4` hairlines
|
|
71
|
+
- 16px-radius cards as the container workhorse; 8px on outline CTAs
|
|
72
|
+
- Cool slate-grey text ladder (`#4f5971` → `#9197a6` → `#bdc1ca`) for hierarchy
|
|
73
|
+
- Secondary blue-violet (`#4970f5`) for occasional link/icon accents
|
|
74
|
+
|
|
75
|
+
## 2. Color Palette & Roles
|
|
76
|
+
|
|
77
|
+
### Primary & Gradient
|
|
78
|
+
- **Sky Blue** (`#3eaeff`): Primary brand color and gradient anchor. The leading stop of the horizontal brand sweep and the single most frequent solid accent — the system's "trust/action" color.
|
|
79
|
+
- **Accent Pink** (`#ff5a8c`): The warm middle of the signature gradient; injects consumer-app friendliness into an otherwise clinical palette.
|
|
80
|
+
- **Accent Purple** (`#dc6eff`): The violet-magenta stop of the gradient; used on emphasis/stat text and the accent bar.
|
|
81
|
+
- **Accent Cyan** (`#00c8fa`): The cyan tail on the tri-stop headline gradient (`#ff5a8c` → `#dc6eff` → `#00c8fa`).
|
|
82
|
+
- **Accent Violet** (`#4970f5`): A secondary blue-violet used sparingly for links and icon accents.
|
|
83
|
+
|
|
84
|
+
### Text & Ink
|
|
85
|
+
- **Ink Navy** (`#232f4d`): Primary heading color — a deep blue-black that carries medical-grade trust without harshness.
|
|
86
|
+
- **Pure Black** (`#000000`): Body copy and dense reading text on the white canvas.
|
|
87
|
+
- **Slate** (`#4f5971`): Navigation links and secondary labels.
|
|
88
|
+
- **Muted Slate** (`#9197a6`): Tertiary text, captions, metadata.
|
|
89
|
+
- **Faint Blue-Grey** (`#bdc1ca`): Lowest-emphasis labels ("전체보기" more-links), disabled text, placeholders.
|
|
90
|
+
|
|
91
|
+
### Surface & Border
|
|
92
|
+
- **Pure White** (`#ffffff`): Page background, card surfaces, text on gradient/dark hero. Also the on-primary text color (`on-primary` = `#ffffff`).
|
|
93
|
+
- **Surface Grey** (`#f5f8fb`): Cool-grey tinted band for value/feature sections — the primary segmentation device.
|
|
94
|
+
- **Hairline** (`#dee0e4`): Thin 1px borders and card outlines — the separation device in a shadow-free system.
|
|
95
|
+
|
|
96
|
+
## 3. Typography Rules
|
|
97
|
+
|
|
98
|
+
### Font Family
|
|
99
|
+
- **Sans (all roles)**: `Pretendard` (with `Pretendard Fallback`, then `-apple-system` / `system-ui`) — the document default across headlines, nav, body, and UI. No separate display face; weight is the hierarchy lever (400 body → 500 titles → 600 headlines).
|
|
100
|
+
|
|
101
|
+
### Hierarchy
|
|
102
|
+
|
|
103
|
+
| Role | Font | Size | Weight | Line Height | Color | Notes |
|
|
104
|
+
|------|------|------|--------|-------------|-------|-------|
|
|
105
|
+
| Section Heading | Pretendard | 40px (2.50rem) | 600 | 1.4 | `#232f4d` | H2 section titles |
|
|
106
|
+
| Card Title | Pretendard | 18px (1.13rem) | 500 | 1.4 | `#232f4d` | Press/news card headings (H3) |
|
|
107
|
+
| Nav Link | Pretendard | 20px (1.25rem) | 400 | 1.2 | `#4f5971` | Top navigation items |
|
|
108
|
+
| Button | Pretendard | 18px (1.13rem) | 500 | 1.2 | `#ffffff` | App-store download CTA label |
|
|
109
|
+
| More Link | Pretendard | 20px (1.25rem) | 600 | 1.2 | `#bdc1ca` | "전체보기" more-links |
|
|
110
|
+
| Body | Pretendard | 16px (1.00rem) | 400 | 1.5 (24px) | `#000000` | Standard reading text |
|
|
111
|
+
|
|
112
|
+
### Principles
|
|
113
|
+
- **One font, weight as hierarchy**: Pretendard carries everything; the jump from 400 (body) to 600 (headlines) is the primary hierarchy signal, not a font swap.
|
|
114
|
+
- **Ink navy over pure black for headlines**: Headings use `#232f4d` (a warm blue-black) while body stays pure black (`#000000`) — a subtle two-tone that keeps headlines premium.
|
|
115
|
+
- **Hangul-first sizing**: Body sits at a comfortable 16px / 1.5 line-height — generous for hangul legibility in an information-dense health context.
|
|
116
|
+
- **Gradient is a type treatment**: The brand gradient appears as clipped text on hero words and stat figures, never as a heavy fill behind paragraphs — color energy stays reserved for emphasis.
|
|
117
|
+
|
|
118
|
+
## 4. Component Stylings
|
|
119
|
+
|
|
120
|
+
### Buttons
|
|
121
|
+
|
|
122
|
+
**App-Store Download CTA (Outline)**
|
|
123
|
+
- Background: transparent
|
|
124
|
+
- Text: `#ffffff`
|
|
125
|
+
- Border: 1px solid `#ffffff`
|
|
126
|
+
- Radius: 8px
|
|
127
|
+
- Padding: 12px 16px
|
|
128
|
+
- Font: 18px Pretendard weight 500
|
|
129
|
+
- Height: 54px
|
|
130
|
+
- Use: "App Store" / "Google Play" download buttons, outlined over the dark/imagery hero — the site's primary call-to-action
|
|
131
|
+
|
|
132
|
+
### Cards & Containers
|
|
133
|
+
|
|
134
|
+
**Press / News Card**
|
|
135
|
+
- Background: `#ffffff`
|
|
136
|
+
- Border: 1px solid `#dee0e4`
|
|
137
|
+
- Radius: 16px
|
|
138
|
+
- Shadow: none
|
|
139
|
+
- Use: Press/news tiles in the "닥터다이어리 새소식" grid — flat, hairline-outlined
|
|
140
|
+
|
|
141
|
+
**Value / Feature Card (Tinted)**
|
|
142
|
+
- Background: `#f5f8fb`
|
|
143
|
+
- Text: `#232f4d`
|
|
144
|
+
- Radius: 16px
|
|
145
|
+
- Shadow: none
|
|
146
|
+
- Use: Value/feature card sitting on the cool-grey tinted section band
|
|
147
|
+
|
|
148
|
+
### Navigation
|
|
149
|
+
|
|
150
|
+
**Top Nav Link**
|
|
151
|
+
- Text: `#4f5971`
|
|
152
|
+
- Font: 20px Pretendard weight 400
|
|
153
|
+
- Padding: 12px 8px
|
|
154
|
+
- Height: 48px
|
|
155
|
+
- Active: sky-blue `#3eaeff` text
|
|
156
|
+
- Use: Top navigation items (Platform, Solution, Brand, News, Contact)
|
|
157
|
+
|
|
158
|
+
**More Link**
|
|
159
|
+
- Text: `#bdc1ca`
|
|
160
|
+
- Font: 20px Pretendard weight 600
|
|
161
|
+
- Use: "전체보기" section more-links (lowest-emphasis)
|
|
162
|
+
|
|
163
|
+
### Badges
|
|
164
|
+
|
|
165
|
+
**Gradient Emphasis Pill**
|
|
166
|
+
- Text: `#ff5a8c`
|
|
167
|
+
- Radius: 9999px (full)
|
|
168
|
+
- Use: Gradient-clipped emphasis text / stat figures — the signature `#ff5a8c` → `#dc6eff` → `#00c8fa` sweep
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
**Verified:** 2026-07-02 (omd:add-reference CREATE — Tier 1 live inspect)
|
|
173
|
+
**Tier 1 sources:** https://drdiary.co.kr/ | https://careers.drdiary.co.kr/9acdc4b5-ea9b-484c-8fcb-baf528c25a26
|
|
174
|
+
**Tier 2 sources:** getdesign.md/drdiary — "No designs found"; styles.refero.design/?q=drdiary — no brand match (generic trending results only)
|
|
175
|
+
**Conflicts unresolved:** none (no Tier 2 data exists for Dr.diary; Tier 1 live inspect is the sole authoritative source — expected KR under-coverage)
|
|
176
|
+
|
|
177
|
+
## 5. Layout Principles
|
|
178
|
+
|
|
179
|
+
### Spacing System
|
|
180
|
+
- Base unit: ~4px
|
|
181
|
+
- Scale: 4px, 8px, 12px, 16px, 24px, 40px, 64px
|
|
182
|
+
- Notable: nav links pad at 12px 8px; outline CTAs at 12px 16px; section headlines land at the 40px step, which doubles as the vertical rhythm anchor between bands
|
|
183
|
+
|
|
184
|
+
### Grid & Container
|
|
185
|
+
- Centered single-column hero with a large gradient-clipped headline as the anchor
|
|
186
|
+
- Value/feature content grouped into cards on alternating white (`#ffffff`) and tinted grey (`#f5f8fb`) full-width bands
|
|
187
|
+
- Press/news items in a horizontal card row/grid (each tile ~373px tall, 16px radius)
|
|
188
|
+
- App-store CTAs sit as an outline pair over the dark/imagery hero band
|
|
189
|
+
|
|
190
|
+
### Whitespace Philosophy
|
|
191
|
+
- **Breathing room over density**: despite a data-heavy health domain, the marketing surface is airy, with generous vertical rhythm between bands.
|
|
192
|
+
- **Flat segmentation**: sections separate by background tint (`#f5f8fb` vs `#ffffff`) and hairlines (`#dee0e4`), never by shadow or heavy borders.
|
|
193
|
+
- **Reserved color energy**: the vivid gradient is confined to headline words, stat figures, and thin accent bars — the bulk of the page is calm white and slate.
|
|
194
|
+
|
|
195
|
+
### Border Radius Scale
|
|
196
|
+
- Small (8px): outline CTAs, small controls
|
|
197
|
+
- Medium (16px): cards, content containers — the workhorse
|
|
198
|
+
- Pill (100px): careers-site navigation pills (brand-owned careers surface)
|
|
199
|
+
- Full (9999px): gradient emphasis pills / round chips
|
|
200
|
+
|
|
201
|
+
## 6. Depth & Elevation
|
|
202
|
+
|
|
203
|
+
| Level | Treatment | Use |
|
|
204
|
+
|-------|-----------|-----|
|
|
205
|
+
| Flat (Level 0) | No shadow | Page background, inline text, most surfaces |
|
|
206
|
+
| Tint (Level 1) | `#f5f8fb` background shift | Card/section separation without elevation |
|
|
207
|
+
| Hairline (Level 2) | `1px solid #dee0e4` border | White card outlines, dividers |
|
|
208
|
+
| Overlay (hero) | `linear-gradient(to top, rgba(0,0,0,0.75), rgba(0,0,0,0))` scrim | Legibility scrim over hero imagery only |
|
|
209
|
+
|
|
210
|
+
**Shadow Philosophy**: Dr.diary is a near-shadowless system. Live inspection returned `box-shadow: none` across the hero, nav, headings, value cards, and press cards. Depth and grouping are communicated entirely through flat tinted surfaces (`#f5f8fb`) and thin `#dee0e4` hairlines. The one place tonal depth appears is a dark top-scrim gradient over hero photography to keep white overlay text legible — a functional overlay, not decorative elevation. When emphasis is needed, the system reaches for the brand gradient (`#3eaeff` → `#ff5a8c` → `#dc6eff`) or ink navy (`#232f4d`), never a drop shadow. This keeps the health UI feeling clean, fast, and mobile-native.
|
|
211
|
+
|
|
212
|
+
## 7. Do's and Don'ts
|
|
213
|
+
|
|
214
|
+
### Do
|
|
215
|
+
- Use Pretendard for the entire type system — 40px/600 headlines, 16px/400 body
|
|
216
|
+
- Anchor the palette on sky-blue (`#3eaeff`) and reserve the tri-stop gradient (`#3eaeff` → `#ff5a8c` → `#dc6eff`) for emphasis text and thin accent bars
|
|
217
|
+
- Use ink navy (`#232f4d`) for headings and pure black (`#000000`) for body copy
|
|
218
|
+
- Separate sections with flat tint (`#f5f8fb`) and `#dee0e4` hairlines, not shadows
|
|
219
|
+
- Keep cards at 16px radius with a 1px hairline outline and no shadow
|
|
220
|
+
- Keep the page mostly calm white and slate — let color energy stay in the gradient accents
|
|
221
|
+
- Use the cool slate ladder (`#4f5971` → `#9197a6` → `#bdc1ca`) for text hierarchy
|
|
222
|
+
|
|
223
|
+
### Don't
|
|
224
|
+
- Add drop shadows for elevation — Dr.diary is a flat, shadow-free system
|
|
225
|
+
- Fill large surfaces with the vivid gradient — it belongs on headline words and stat figures, not paragraph backgrounds
|
|
226
|
+
- Use pure black (`#000000`) for headings — reserve ink navy (`#232f4d`) for headline weight
|
|
227
|
+
- Introduce the heavy navy-and-gold chrome of legacy medical institutions
|
|
228
|
+
- Swap in a second display font — Pretendard owns every role; use weight for hierarchy
|
|
229
|
+
- Spread the sky-blue accent onto every element — keep it the single anchor color
|
|
230
|
+
- Use sharp square corners on cards — the container radius is 16px
|
|
231
|
+
|
|
232
|
+
## 8. Responsive Behavior
|
|
233
|
+
|
|
234
|
+
### Breakpoints
|
|
235
|
+
| Name | Width | Key Changes |
|
|
236
|
+
|------|-------|-------------|
|
|
237
|
+
| Mobile | <640px | Single column, headline compresses, cards stack, nav collapses |
|
|
238
|
+
| Tablet | 640-1024px | Moderate padding, 2-up cards |
|
|
239
|
+
| Desktop | 1024-1440px | Full layout, centered hero, multi-column value/press bands |
|
|
240
|
+
|
|
241
|
+
### Touch Targets
|
|
242
|
+
- Nav links within a comfortable 48px-height row with 12px 8px padding
|
|
243
|
+
- App-store outline CTAs at 54px height with 12px 16px padding — clearly tappable
|
|
244
|
+
- Press cards are large full-tile tap targets (~373px)
|
|
245
|
+
|
|
246
|
+
### Collapsing Strategy
|
|
247
|
+
- Hero: gradient-clipped headline scales down on mobile; weight 600 maintained
|
|
248
|
+
- Value/press bands: multi-column → stacked single column
|
|
249
|
+
- Tinted/white alternating sections maintain full-width treatment
|
|
250
|
+
- App-store CTA pair stacks vertically on narrow viewports
|
|
251
|
+
|
|
252
|
+
### Image Behavior
|
|
253
|
+
- Hero photography carries a dark top-scrim gradient for overlay-text legibility at all sizes
|
|
254
|
+
- Cards and app screenshots carry no shadow at any size, consistent with the flat system
|
|
255
|
+
- Cards maintain 16px radius across breakpoints
|
|
256
|
+
|
|
257
|
+
## 9. Agent Prompt Guide
|
|
258
|
+
|
|
259
|
+
### Quick Color Reference
|
|
260
|
+
- Primary / trust accent: Sky Blue (`#3eaeff`)
|
|
261
|
+
- Gradient sweep: `#3eaeff` → `#ff5a8c` → `#dc6eff` (cyan tail `#00c8fa`)
|
|
262
|
+
- Secondary accent: Blue-Violet (`#4970f5`)
|
|
263
|
+
- Heading text: Ink Navy (`#232f4d`)
|
|
264
|
+
- Body text: Pure Black (`#000000`)
|
|
265
|
+
- Nav / secondary text: Slate (`#4f5971`)
|
|
266
|
+
- Muted text: Muted Slate (`#9197a6`)
|
|
267
|
+
- Faint / disabled: Faint Blue-Grey (`#bdc1ca`)
|
|
268
|
+
- Background: Pure White (`#ffffff`)
|
|
269
|
+
- Tinted surface: Surface Grey (`#f5f8fb`)
|
|
270
|
+
- Hairline: `#dee0e4`
|
|
271
|
+
|
|
272
|
+
### Example Component Prompts
|
|
273
|
+
- "Create a hero on white with a centered headline at 40px Pretendard weight 600. Apply a gradient text-clip to the emphasis word: linear-gradient(270deg, #ff5a8c 60%, #dc6eff 75%, #00c8fa 100%). Body 16px Pretendard 400, #000000. Below, an outline app-store CTA pair: transparent bg, 1px solid #ffffff, #ffffff text, 8px radius, 12px 16px padding, 18px/500."
|
|
274
|
+
- "Design a press card: white #ffffff background, 1px solid #dee0e4 border, 16px radius, no shadow. Title 18px Pretendard weight 500, #232f4d."
|
|
275
|
+
- "Build a value section: #f5f8fb tinted band, full-width. Section title 40px Pretendard weight 600, #232f4d. Cards inside use #f5f8fb tinted surface, 16px radius, no shadow. Add a thin accent bar with linear-gradient(to right, #3eaeff, #ff5a8c, #dc6eff)."
|
|
276
|
+
- "Create top nav on white. Pretendard 20px weight 400 links, #4f5971 text, sky-blue #3eaeff on active. 48px row height, 12px 8px link padding."
|
|
277
|
+
|
|
278
|
+
### Iteration Guide
|
|
279
|
+
1. Pretendard for every role; weight is the hierarchy lever (400 → 500 → 600)
|
|
280
|
+
2. Sky-blue (`#3eaeff`) is the single anchor accent; the gradient is for emphasis text and thin bars only
|
|
281
|
+
3. No shadows — separate with `#f5f8fb` tint and `#dee0e4` hairlines
|
|
282
|
+
4. Cards at 16px radius; outline CTAs at 8px
|
|
283
|
+
5. Headings `#232f4d` ink navy; body `#000000` pure black
|
|
284
|
+
6. Keep most of the page calm white/slate; reserve color energy for the gradient
|
|
285
|
+
7. Slate ladder `#4f5971` → `#9197a6` → `#bdc1ca` for text de-emphasis
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## 10. Voice & Tone
|
|
290
|
+
|
|
291
|
+
Dr.diary's voice is **warm, clear, and empowering** — a health companion that reframes a lifelong clinical burden (diabetes, chronic-disease management) into something approachable and even encouraging. The company positions itself as "Healthcare & Lifestyle Tech," and the register reflects that split: mission-framed and confident on the corporate surface, friendly and human on the careers/team surface. Copy decodes clinical jargon into plain Korean and treats the user as a capable person managing their own health data, not a patient being managed.
|
|
292
|
+
|
|
293
|
+
| Context | Tone |
|
|
294
|
+
|---|---|
|
|
295
|
+
| Hero / mission headlines | Declarative, mission-framed. "데이터로 선도하는 초개인화 만성질환 케어." Confident, data-forward, never fear-based. |
|
|
296
|
+
| Section titles | Plain and value-oriented. "닥터다이어리가 지향하는 가치", "맞춤형 건강관리 서비스". |
|
|
297
|
+
| Press / news | Factual, third-person, credibility-building (hospital + public-health-center partnerships). |
|
|
298
|
+
| Team / careers voice | Human, first-person, aspirational. "건강 관리가 평생 숙제가 아닌, 쉽고 재밌는 과정". |
|
|
299
|
+
| Product / feature copy | Benefit-first; clinical terms (CGM, 혈당) turned into everyday language. |
|
|
300
|
+
|
|
301
|
+
**Voice samples (verbatim from live surfaces):**
|
|
302
|
+
- "데이터로 선도하는 초개인화 만성질환 케어" — hero headline, mission-framed. *(verified live 2026-07-02, drdiary.co.kr)*
|
|
303
|
+
- "닥터다이어리가 지향하는 가치" — section heading (values framing). *(verified live 2026-07-02, drdiary.co.kr)*
|
|
304
|
+
- "건강 관리가 평생 숙제가 아닌, 쉽고 재밌는 과정" — careers/team voice (reframes health as easy and fun). *(verified live 2026-07-02, careers.drdiary.co.kr)*
|
|
305
|
+
- "닥터다이어리 | Healthcare & Lifestyle Tech Company" — page title / positioning meta. *(verified live 2026-07-02, drdiary.co.kr)*
|
|
306
|
+
|
|
307
|
+
**Forbidden register**: fear-based medical urgency, clinical jargon left undefined, guilt/shame framing around health habits, exclamation-heavy hype, and any tone that treats the user as a passive patient rather than an active data owner.
|
|
308
|
+
|
|
309
|
+
## 11. Brand Narrative
|
|
310
|
+
|
|
311
|
+
Dr.diary (닥터다이어리) is a Korean healthcare and lifestyle-tech company whose flagship product began as a blood-glucose diary for people living with diabetes — a simple, humane response to a hard problem: chronic-disease management is a daily, data-heavy, often isolating burden, and the tools for it were clinical and unfriendly. The company's stated direction — *"데이터로 선도하는 초개인화 만성질환 케어"* ("data-driven, hyper-personalized chronic-disease care") — reframes that burden as a design problem: if the data is captured continuously (via CGM and in-app logging) and rendered legibly, managing a chronic condition can become approachable rather than intimidating.
|
|
312
|
+
|
|
313
|
+
That premise matured into a platform spanning a consumer app, continuous glucose monitoring, and B2B corporate-health services, backed by partnerships that build medical credibility: continuous-glucose-management pilots with public-health centers (보건소), AI chronic-care collaboration with 서울대병원, and employee-health programs with corporate partners. A companion health-product line (글루어트 / Gluart) extends the brand into retail (noted in press as expanding into overseas retail channels). The through-line is data: capture it, personalize on it, and present it in a way an ordinary person can act on.
|
|
314
|
+
|
|
315
|
+
What Dr.diary refuses, visible in its design: the heavy navy-and-gold chrome and shadow-stacked severity of legacy medical institutions, and the fear-based framing common to health marketing. What it embraces — and what the careers voice makes explicit (*"건강 관리가 평생 숙제가 아닌, 쉽고 재밌는 과정"*, "health care as an easy, fun process rather than a lifelong homework assignment") — is a flat, fast, mobile-native interface; a trustworthy sky-blue anchor warmed by a pink-purple gradient; and copy that decodes clinical terms instead of hiding behind them.
|
|
316
|
+
|
|
317
|
+
## 12. Principles
|
|
318
|
+
|
|
319
|
+
1. **Reframe the burden.** Chronic-disease care should feel approachable, not clinical. *UI implication:* warm the trustworthy sky-blue with a pink-purple gradient; keep surfaces flat, airy, and mobile-native — never the heavy chrome of legacy medical software.
|
|
320
|
+
2. **Data made legible.** The product's value is turning continuous health data into something a person can act on. *UI implication:* reserve gradient/color energy for the numbers and headlines that matter; keep everything else calm white and slate so the data reads first.
|
|
321
|
+
3. **Decode, don't intimidate.** Clinical terms (CGM, 혈당, DSR-style metrics) are surfaced in plain language. *UI implication:* every clinical term gets a plain-language label; copy explains, it does not gatekeep.
|
|
322
|
+
4. **Trust through restraint.** Credibility comes from calm precision, not decoration. *UI implication:* no shadows; ink-navy headings; hairline separation — the visual argument that the data underneath is rigorous.
|
|
323
|
+
5. **One anchor, one signature.** Sky-blue (`#3eaeff`) is the trust color; the tri-stop gradient is the memorable signature. *UI implication:* don't dilute either — keep the anchor single and the gradient reserved for emphasis.
|
|
324
|
+
|
|
325
|
+
## 13. Personas
|
|
326
|
+
|
|
327
|
+
*Personas below are fictional archetypes informed by publicly observable Dr.diary user segments (people managing diabetes and chronic conditions, health-conscious professionals, corporate-wellness participants), not individual people.*
|
|
328
|
+
|
|
329
|
+
**김도현, 34, 서울.** Recently diagnosed with type-2 diabetes, logging blood glucose for the first time. Was intimidated by clinical tracking tools; chose Dr.diary because the interface felt like a friendly consumer app, not a hospital chart. Values seeing his own trend data rendered clearly.
|
|
330
|
+
|
|
331
|
+
**이서연, 41, 경기.** A caregiver managing a parent's chronic condition alongside her own health. Uses CGM data and in-app logging to spot patterns before a doctor's visit. Appreciates that clinical terms are explained in plain Korean and that nothing on screen feels alarming.
|
|
332
|
+
|
|
333
|
+
**박준영, 29, 부산.** A health-conscious professional in a corporate-wellness program. Engages with the B2B health service through his employer. Trusts the brand partly because of its hospital and public-health-center partnerships, and because the product feels fast and modern rather than bureaucratic.
|
|
334
|
+
|
|
335
|
+
## 14. States
|
|
336
|
+
|
|
337
|
+
| State | Treatment |
|
|
338
|
+
|---|---|
|
|
339
|
+
| **Empty (no logged data yet)** | White canvas. Single Ink Navy (`#232f4d`) line at body size inviting the first glucose/health entry, with one sky-blue (`#3eaeff`) CTA. No alarming illustration — calm and encouraging. |
|
|
340
|
+
| **Empty (no press/results)** | Muted Slate (`#9197a6`) single line explaining nothing to show yet, plus a path back. Honest and low-key. |
|
|
341
|
+
| **Loading (data fetch)** | Skeleton cards on `#f5f8fb` tinted surface at final 16px-radius dimensions. Flat pulse, no shadow shimmer — consistent with the shadowless system. |
|
|
342
|
+
| **Loading (chart compute)** | Inline progress within the card; previous values stay visible so the trend view is never blank. |
|
|
343
|
+
| **Error (data sync failed)** | Inline message in Ink Navy (`#232f4d`) with a plain-language explanation and a retry — never a bare "오류가 발생했습니다". States what to do next. |
|
|
344
|
+
| **Error (form validation)** | Field-level message below the input describing what is valid, not just "필수". Warm, non-judgmental tone. |
|
|
345
|
+
| **Success (entry saved / goal met)** | Brief inline confirmation in a calm, encouraging tone; may briefly use the gradient accent on a stat figure. No fear or guilt framing, no celebratory emoji clutter. |
|
|
346
|
+
| **Skeleton** | `#f5f8fb` blocks at final dimensions, 16px radius, flat pulse. |
|
|
347
|
+
| **Disabled** | Faint Blue-Grey (`#bdc1ca`) text on a reduced-opacity surface; sky-blue actions fade rather than turn grey to preserve brand read. |
|
|
348
|
+
|
|
349
|
+
## 15. Motion & Easing
|
|
350
|
+
|
|
351
|
+
**Durations**:
|
|
352
|
+
|
|
353
|
+
| Token | Value | Use |
|
|
354
|
+
|---|---|---|
|
|
355
|
+
| `motion-fast` | 120ms | Hover, tap feedback, focus |
|
|
356
|
+
| `motion-standard` | 220ms | Card/section reveal, sheet, dropdown |
|
|
357
|
+
| `motion-slow` | 320ms | Page-level transitions, hero reveal, gradient sweep-in |
|
|
358
|
+
|
|
359
|
+
**Easings**:
|
|
360
|
+
|
|
361
|
+
| Token | Curve | Use |
|
|
362
|
+
|---|---|---|
|
|
363
|
+
| `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Arriving — cards, sheets, data reveals |
|
|
364
|
+
| `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
|
|
365
|
+
| `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions |
|
|
366
|
+
|
|
367
|
+
**Motion rules**: Motion is functional and calm — consistent with the flat, fast, trust-first aesthetic. Cards and data views fade-in from below at `motion-standard / ease-enter`; the signature gradient may sweep in once on hero reveal at `motion-slow`, then hold static. No bounce or spring — a health-data product signals steadiness and reliability, not playful delight. Under `prefers-reduced-motion: reduce`, all transitions collapse to instant and the gradient renders static; the product remains fully functional.
|
|
368
|
+
|
|
369
|
+
<!--
|
|
370
|
+
OmD v0.1 Sources — Philosophy Layer (sections 10–15)
|
|
371
|
+
|
|
372
|
+
Tier 1 live inspect (2026-07-02) via playwright getComputedStyle on https://drdiary.co.kr
|
|
373
|
+
and https://careers.drdiary.co.kr:
|
|
374
|
+
- Hero H2 "데이터로 선도하는 초개인화 만성질환 케어" — Pretendard 40px / weight 600 / color rgb(35,47,77) #232f4d
|
|
375
|
+
- Section H2 "닥터다이어리가 지향하는 가치" — 40px / 600 / #232f4d
|
|
376
|
+
- Signature gradient text — linear-gradient(270deg, rgb(255,90,140) #ff5a8c, rgb(220,110,255) #dc6eff, rgb(0,200,250) #00c8fa)
|
|
377
|
+
- Brand gradient bar — linear-gradient(to right, rgb(62,174,255) #3eaeff, rgb(255,90,140) #ff5a8c, rgb(220,110,255) #dc6eff)
|
|
378
|
+
- Nav links — Pretendard 20px / 400 / color rgb(79,89,113) #4f5971
|
|
379
|
+
- Press cards — bg #ffffff / 1px solid rgb(222,224,228) #dee0e4 / radius 16px / box-shadow none
|
|
380
|
+
- App-store CTAs — transparent / #ffffff text + border / radius 8px / 12px 16px padding / 18px 500
|
|
381
|
+
- box-shadow: none across hero/nav/headings/cards (shadowless system)
|
|
382
|
+
- Page title meta: "닥터다이어리 | Healthcare & Lifestyle Tech Company"
|
|
383
|
+
- Careers voice sample: "건강 관리가 평생 숙제가 아닌, 쉽고 재밌는 과정" (careers.drdiary.co.kr)
|
|
384
|
+
|
|
385
|
+
Token-level claims (§1-9) are sourced from this live inspection (see web/references/drdiary/.verification.md).
|
|
386
|
+
|
|
387
|
+
Voice samples (§10) are verbatim from the live surfaces (hero H2, section H2, careers card, page title meta).
|
|
388
|
+
|
|
389
|
+
Brand narrative (§11): Dr.diary (닥터다이어리) is a Korean healthcare/lifestyle-tech company focused on
|
|
390
|
+
chronic-disease (notably diabetes) management via a consumer app, CGM, and B2B corporate-health services,
|
|
391
|
+
with hospital and public-health-center partnerships and a companion health-product line (글루어트/Gluart).
|
|
392
|
+
These are drawn from the company's own homepage positioning ("Healthcare & Lifestyle Tech Company",
|
|
393
|
+
"데이터로 선도하는 초개인화 만성질환 케어") and the press items surfaced on the homepage news grid; specific
|
|
394
|
+
corporate details beyond the site are treated as general public knowledge, not quoted from a verified
|
|
395
|
+
Dr.diary statement in this turn.
|
|
396
|
+
|
|
397
|
+
Personas (§13) are fictional archetypes informed by publicly observable Dr.diary user segments
|
|
398
|
+
(people managing diabetes/chronic conditions, corporate-wellness participants). Names are illustrative;
|
|
399
|
+
they do not refer to real people.
|
|
400
|
+
|
|
401
|
+
Interpretive claims (e.g., "reframe the burden", "trust through restraint", "flat and fast as a
|
|
402
|
+
rejection of legacy medical chrome") are editorial readings connecting Dr.diary's observed design to its
|
|
403
|
+
positioning, not directly sourced Dr.diary statements.
|
|
404
|
+
-->
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: elastic
|
|
3
|
+
name: Elastic UI
|
|
4
|
+
country: US
|
|
5
|
+
category: developer-tools
|
|
6
|
+
homepage: "https://eui.elastic.co/"
|
|
7
|
+
primary_color: "#0b64dd"
|
|
8
|
+
logo:
|
|
9
|
+
type: favicon
|
|
10
|
+
slug: "https://www.google.com/s2/favicons?domain=eui.elastic.co&sz=128"
|
|
11
|
+
verified: "2026-07-13"
|
|
12
|
+
omd: "0.1"
|
|
13
|
+
verification_v2:
|
|
14
|
+
schema: 2
|
|
15
|
+
checked: "2026-07-13"
|
|
16
|
+
surfaces:
|
|
17
|
+
- { id: home, kind: public-eui-home, url: "https://eui.elastic.co/", inspected: "2026-07-13" }
|
|
18
|
+
- { id: components, kind: public-eui-components-docs, url: "https://eui.elastic.co/docs/components/", inspected: "2026-07-13" }
|
|
19
|
+
- { id: card-docs, kind: public-eui-card-docs, url: "https://eui.elastic.co/docs/components/containers/card/index.html", inspected: "2026-07-13" }
|
|
20
|
+
sources:
|
|
21
|
+
- { id: eui-home-live, kind: product-surface, url: "https://eui.elastic.co/", captured: "2026-07-13" }
|
|
22
|
+
- { id: eui-components-live, kind: official-doc, url: "https://eui.elastic.co/docs/components/", captured: "2026-07-13" }
|
|
23
|
+
- { id: eui-card-live, kind: official-doc, url: "https://eui.elastic.co/docs/components/containers/card/index.html", captured: "2026-07-13" }
|
|
24
|
+
- { id: eui-font-settings, kind: official-doc, url: "https://eui.elastic.co/docs/getting-started/theming/tokens/typography/font-settings/", captured: "2026-07-13" }
|
|
25
|
+
- { id: eui-theme-provider, kind: official-doc, url: "https://eui.elastic.co/docs/getting-started/theming/theme-provider/", captured: "2026-07-13" }
|
|
26
|
+
- { id: elastic-history, kind: brand-asset, url: "https://www.elastic.co/about/press/elasticsearch-changes-name-to-elastic-to-reflect-wide-adoption-beyond-search", captured: "2026-07-13" }
|
|
27
|
+
- { id: elastic-design-hierarchy, kind: brand-asset, url: "https://www.elastic.co/blog/redesigning-product-logos-and-icons-while-building-a-design-hierarchy-at-elastic", captured: "2026-07-13" }
|
|
28
|
+
- { id: eui-elastic-license, kind: license, url: "https://github.com/elastic/eui/blob/main/licenses/ELASTIC-LICENSE-2.0.md", captured: "2026-07-13" }
|
|
29
|
+
conflicts: []
|
|
30
|
+
claims:
|
|
31
|
+
"tokens.colors.foreground": &home { surface_id: home, source_id: eui-home-live, method: computed-style, captured: "2026-07-13" }
|
|
32
|
+
"tokens.colors.foreground-strong": *home
|
|
33
|
+
"tokens.colors.action": *home
|
|
34
|
+
"tokens.colors.action-subtle": &components { surface_id: components, source_id: eui-components-live, method: computed-style, captured: "2026-07-13" }
|
|
35
|
+
"tokens.colors.canvas": *home
|
|
36
|
+
"tokens.colors.hairline": *components
|
|
37
|
+
"tokens.colors.surface-subdued": &cardDocs { surface_id: card-docs, source_id: eui-card-live, method: computed-style, captured: "2026-07-13" }
|
|
38
|
+
"tokens.typography.family.ui": { surface_id: home, source_id: eui-font-settings, method: computed-style-and-official-token-doc, captured: "2026-07-13" }
|
|
39
|
+
"tokens.typography.body.size": *home
|
|
40
|
+
"tokens.typography.body.weight": *home
|
|
41
|
+
"tokens.typography.body.lineHeight": *home
|
|
42
|
+
"tokens.typography.body.use": *home
|
|
43
|
+
"tokens.typography.heading.size": *cardDocs
|
|
44
|
+
"tokens.typography.heading.weight": *cardDocs
|
|
45
|
+
"tokens.typography.heading.lineHeight": *cardDocs
|
|
46
|
+
"tokens.typography.heading.use": *cardDocs
|
|
47
|
+
"tokens.typography.control.size": *components
|
|
48
|
+
"tokens.typography.control.weight": *components
|
|
49
|
+
"tokens.typography.control.lineHeight": *components
|
|
50
|
+
"tokens.typography.control.use": *components
|
|
51
|
+
"tokens.spacing.xs": *home
|
|
52
|
+
"tokens.spacing.sm": *home
|
|
53
|
+
"tokens.spacing.md": *home
|
|
54
|
+
"tokens.spacing.lg": *components
|
|
55
|
+
"tokens.spacing.xl": *home
|
|
56
|
+
"tokens.spacing.xxl": *cardDocs
|
|
57
|
+
"tokens.rounded.control": *components
|
|
58
|
+
"tokens.components.docs-sidebar-category.type": *components
|
|
59
|
+
"tokens.components.docs-sidebar-category.bg": *components
|
|
60
|
+
"tokens.components.docs-sidebar-category.fg": *components
|
|
61
|
+
"tokens.components.docs-sidebar-category.radius": *components
|
|
62
|
+
"tokens.components.docs-sidebar-category.padding": *components
|
|
63
|
+
"tokens.components.docs-sidebar-category.font": *components
|
|
64
|
+
"tokens.components.docs-sidebar-category.use": *components
|
|
65
|
+
tokens:
|
|
66
|
+
source: reconciled
|
|
67
|
+
extracted: "2026-07-13"
|
|
68
|
+
note: "Only values observed on the supplied public EUI capture are UI tokens. Elastic corporate history, product-brand writing, EUI documentation, and declared-only fonts remain separate evidence domains."
|
|
69
|
+
components_harvested: true
|
|
70
|
+
colors:
|
|
71
|
+
foreground: "#1d2a3e"
|
|
72
|
+
foreground-strong: "#111c2c"
|
|
73
|
+
action: "#0b64dd"
|
|
74
|
+
action-subtle: "#d9e8ff"
|
|
75
|
+
canvas: "#ffffff"
|
|
76
|
+
hairline: "#cad3e2"
|
|
77
|
+
surface-subdued: "#ecf1f9"
|
|
78
|
+
typography:
|
|
79
|
+
family: { ui: "Inter" }
|
|
80
|
+
body: { size: 14, weight: 400, lineHeight: 16, use: "Repeated public EUI home and component-documentation text" }
|
|
81
|
+
heading: { size: 20.0004, weight: 600, lineHeight: 24.0002, use: "Observed EUI card title on the public card documentation route" }
|
|
82
|
+
control: { size: 14, weight: 450, lineHeight: 20.0004, use: "Observed EUI component-documentation control samples" }
|
|
83
|
+
spacing: { xs: 4, sm: 6, md: 8, lg: 12, xl: 16, xxl: 24 }
|
|
84
|
+
rounded: { control: 4 }
|
|
85
|
+
components:
|
|
86
|
+
docs-sidebar-category: { type: listItem, bg: "transparent", fg: "#1d2a3e", radius: 0, padding: "0px", font: "14px/500/16px Inter", use: "Static public component-docs sidebar category row; selector surface-2::li" }
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 1. Visual Theme & Atmosphere
|
|
90
|
+
|
|
91
|
+
Elastic UI (EUI) is Elastic’s public React component framework: its documentation presents themed components, setup guidance, and implementation patterns for software interfaces. The captured EUI home, components index, and card documentation route feel deliberately operational rather than campaign-led—white surfaces, dense blue-gray type, short 4px control geometry, and a blue action color make the system read like maintainable application chrome. That product character has a useful relationship to Elastic’s wider story: Elasticsearch began as an open-source project in 2010, Elastic was founded in 2012, and the company adopted the Elastic name in 2015 as its products expanded beyond search. Elastic’s own design writing describes an iterative effort to make a growing multi-product hierarchy more coherent, while the current EUI Theme Provider documentation identifies Borealis as the default theme. EUI is a framework-level expression of that practical, scalable direction, not a substitute record of the corporate marketing site or authenticated product UI.
|
|
92
|
+
|
|
93
|
+
**Key characteristics:**
|
|
94
|
+
|
|
95
|
+
- Repeated public EUI foreground is `#1d2a3e`; a darker `#111c2c` appears in card documentation.
|
|
96
|
+
- `#0b64dd` is the observed solid action fill, while `#d9e8ff` is an observed light action treatment.
|
|
97
|
+
- White `#ffffff` is the observed canvas; `#ecf1f9` is a subdued panel surface and `#cad3e2` a visible hairline.
|
|
98
|
+
- The supplied sample clusters around 4px control corners and 4/6/8/12/16/24px spacing values.
|
|
99
|
+
- Corporate marketing, EUI docs, and the supplied public component surfaces are separate domains; no authenticated Elastic-product UI is represented here.
|
|
100
|
+
|
|
101
|
+
## 2. Color Palette & Roles
|
|
102
|
+
|
|
103
|
+
### Selector-backed public EUI colors
|
|
104
|
+
|
|
105
|
+
- **Foreground** (`#1d2a3e`): repeated body text and component-documentation sidebar foreground.
|
|
106
|
+
- **Foreground Strong** (`#111c2c`): observed card-title text on the public card documentation route.
|
|
107
|
+
- **Action** (`#0b64dd`): filled primary EUI action on the home and card-documentation samples.
|
|
108
|
+
- **Action Subtle** (`#d9e8ff`): observed light-background action treatment in component documentation.
|
|
109
|
+
- **Canvas** (`#ffffff`): repeated public EUI page and panel canvas.
|
|
110
|
+
- **Hairline** (`#cad3e2`): observed 1px input/control border.
|
|
111
|
+
- **Surface Subdued** (`#ecf1f9`): observed subdued card/panel background on the card documentation route.
|
|
112
|
+
|
|
113
|
+
### Brand boundary
|
|
114
|
+
|
|
115
|
+
Elastic’s cluster mark and broader product-logo hierarchy are brand assets, not a license to promote logo colors or marketing artwork into EUI UI tokens. Use the selector-backed values above for this captured EUI scope.
|
|
116
|
+
|
|
117
|
+
## 3. Typography Rules
|
|
118
|
+
|
|
119
|
+
### Evidence classes
|
|
120
|
+
|
|
121
|
+
| Evidence class | Family and boundary |
|
|
122
|
+
|---|---|
|
|
123
|
+
| Official product-use | EUI’s font-settings documentation says the `euiTheme.font.family` stack applies to all parts of the UI and begins with Inter. |
|
|
124
|
+
| Live computed surface-use | The supplied capture records Inter as loaded, high confidence, in 810 visible uses across body, button, card, input, list-item, badge, and toggle roles. |
|
|
125
|
+
| Official distributed brand asset | No Elastic-owned distributed type asset is established by the supplied material. EUI’s setup documentation instead points consumers to obtain Inter from its source when locally embedding it. |
|
|
126
|
+
| Declared-only | Roboto Mono has declared `@font-face` sources in the packet but zero visible uses; it is not a UI-family token here. |
|
|
127
|
+
| Unresolved / fallback boundary | `system-ui`, Helvetica, and Arial occur as fallbacks in the computed stack. They are not rendered or named as substitutes for Inter. |
|
|
128
|
+
|
|
129
|
+
### Captured hierarchy
|
|
130
|
+
|
|
131
|
+
| Role | Family | Size | Weight | Line height | Scope |
|
|
132
|
+
|---|---|---:|---:|---:|---|
|
|
133
|
+
| Body | Inter | 14px | 400 | 16px | repeated public EUI home and component docs |
|
|
134
|
+
| Card heading | Inter | 20.0004px | 600 | 24.0002px | public card-documentation title sample |
|
|
135
|
+
| Control | Inter | 14px | 450 | 20.0004px | public component-documentation controls |
|
|
136
|
+
|
|
137
|
+
EUI’s repository is dual-licensed under Elastic License 2.0 and SSPL v1 according to the EUI documentation; the Elastic License source is listed in the verification record. That repository licensing note does not establish an Inter font license or change the live-use boundary above.
|
|
138
|
+
|
|
139
|
+
## 4. Component Stylings
|
|
140
|
+
|
|
141
|
+
### Public documentation navigation
|
|
142
|
+
|
|
143
|
+
**Sidebar Category Row**
|
|
144
|
+
- Background: transparent
|
|
145
|
+
- Text: `#1d2a3e`
|
|
146
|
+
- Radius: 0px
|
|
147
|
+
- Padding: 0px
|
|
148
|
+
- Font: 14px / 500 / 16px / Inter
|
|
149
|
+
- Use: Static component-documentation sidebar category row; selector `surface-2::li`.
|
|
150
|
+
|
|
151
|
+
### State boundary
|
|
152
|
+
|
|
153
|
+
The supplied packet records `interactionCount: 0`. The sidebar row above is retained because its default geometry and typography are directly observed; no hover, focus, pressed, active, disabled, or transition value is published for it. Static checked, unchecked, and disabled toggle samples remain raw evidence only because the packet contains no interaction events and no toggle token is required for this honest component set.
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
**Verified:** 2026-07-13
|
|
157
|
+
**Tier 1 sources:** https://eui.elastic.co/ ; https://eui.elastic.co/docs/components/ ; https://eui.elastic.co/docs/components/containers/card/index.html ; https://eui.elastic.co/docs/getting-started/theming/tokens/typography/font-settings/
|
|
158
|
+
**Tier 2 sources:** https://getdesign.md/elastic (attempted; no usable observation returned); https://styles.refero.design/?q=Elastic (attempted; no usable observation returned)
|
|
159
|
+
**Conflicts unresolved:** none
|
|
160
|
+
|
|
161
|
+
## 5. Layout Principles
|
|
162
|
+
|
|
163
|
+
The capture supports a compact public documentation rhythm: 4px, 6px, 8px, 12px, 16px, and 24px recur in the measured spacing set. Component-docs text and sidebar rows are 14px, while a card title sample is 20.0004px. No marketing grid, authenticated-product layout, or responsive container rule is inferred from these desktop captures.
|
|
164
|
+
|
|
165
|
+
## 6. Depth & Elevation
|
|
166
|
+
|
|
167
|
+
The promoted documentation row is flat. The captured card and control samples use canvas, subdued surfaces, borders, and 4px geometry; no reusable shadow token is published because the packet does not establish a consistent elevation scale.
|
|
168
|
+
|
|
169
|
+
## 7. Do's and Don'ts
|
|
170
|
+
|
|
171
|
+
### Do
|
|
172
|
+
|
|
173
|
+
- Keep EUI documentation-local interfaces compact, using the measured spacing and 4px control-corner evidence.
|
|
174
|
+
- Use Inter only where the EUI font-family evidence applies; preserve the fallback stack as fallback.
|
|
175
|
+
- Distinguish `#0b64dd` solid action from the observed `#d9e8ff` subtle action treatment.
|
|
176
|
+
- Keep a navigational row as a `listItem` when the evidence is a static row rather than a button.
|
|
177
|
+
|
|
178
|
+
### Don't
|
|
179
|
+
|
|
180
|
+
- Don't import Elastic marketing-logo colors or artwork as EUI component facts.
|
|
181
|
+
- Don't invent hover, focus, pressed, motion, dialog, toast, form-error, or responsive states from this zero-interaction packet.
|
|
182
|
+
- Don't substitute `system-ui`, Helvetica, Arial, or declared-only Roboto Mono for the verified Inter UI family.
|
|
183
|
+
- Don't treat a raw card or toggle variant as a reusable token unless its exact field set is promoted with matching claim evidence.
|
|
184
|
+
|
|
185
|
+
## 8. Responsive Behavior
|
|
186
|
+
|
|
187
|
+
Only 1440×900 public captures were supplied. No breakpoint, mobile navigation behavior, touch-target rule, or responsive state is published.
|
|
188
|
+
|
|
189
|
+
## 9. Agent Prompt Guide
|
|
190
|
+
|
|
191
|
+
For a public EUI documentation-local surface, use a `#ffffff` canvas, `#1d2a3e` foreground, Inter at the measured 14px body/control sizes, a `#0b64dd` solid action, `#cad3e2` hairlines, and 4px control corners. Retain the sidebar category as a flat 14px/500 list row. Do not call this Elastic marketing, Kibana product UI, or an authenticated application surface; omit all unmeasured interactive and responsive behavior.
|
|
192
|
+
|
|
193
|
+
## 10. Voice & Tone
|
|
194
|
+
|
|
195
|
+
The EUI documentation is implementation-oriented: it names a setup concern, identifies the relevant token or provider, and gives a concrete usage path. Elastic’s design writing also frames its icon work as iterative and scalable for a multi-product environment. This supports a direct, technical, and scope-aware tone for EUI documentation—not a claim about the full Elastic marketing voice.
|
|
196
|
+
|
|
197
|
+
| Context | Supported direction |
|
|
198
|
+
|---|---|
|
|
199
|
+
| Setup guidance | Name the provider, token, or component before describing configuration. |
|
|
200
|
+
| Theming guidance | State the smallest safe override and its scope. |
|
|
201
|
+
| Accessibility guidance | Pair color with explanatory copy or icons rather than color alone. |
|
|
202
|
+
|
|
203
|
+
Source-grounded examples of the documentation’s framing are “Setup,” “Styling your application,” and “Customizing the style tokens.”
|
|
204
|
+
|
|
205
|
+
## 11. Brand Narrative
|
|
206
|
+
|
|
207
|
+
Elasticsearch was launched as an open-source project in 2010, and Elastic was founded in 2012 by people behind Elasticsearch and Apache Lucene. In 2015 the company changed its name from Elasticsearch to Elastic to reflect a product scope that had expanded beyond search. Those are company-history facts, not EUI token evidence.
|
|
208
|
+
|
|
209
|
+
Elastic’s 2019 design account describes an iterative redesign of product logos and icons to give a growing multi-product organization clearer visual hierarchy. Current EUI Theme Provider documentation identifies `EUI_THEME_BOREALIS` as the default theme, but this reference does not infer an unobserved Borealis token set from that name. EUI sits on the framework/documentation side of the ecosystem: its public documentation exposes components and theme controls, while this reference deliberately limits UI claims to the three supplied EUI surfaces.
|
|
210
|
+
|
|
211
|
+
## 12. Principles
|
|
212
|
+
|
|
213
|
+
1. **Work iteratively at system scale.** Elastic describes its product-logo work as an iterative response to a fast-growing, multi-product organization.
|
|
214
|
+
*UI implication:* prefer small, selector-backed component facts over a fictional universal style system.
|
|
215
|
+
2. **Make hierarchy legible.** Elastic’s design account distinguishes product logos from functional icons so their roles remain clear.
|
|
216
|
+
*UI implication:* label navigation and controls by function; do not turn a documentation row into a button without semantic evidence.
|
|
217
|
+
3. **Change the least necessary theme variables.** EUI’s setup guidance recommends limited token overrides for substantial results.
|
|
218
|
+
*UI implication:* preserve the measured base palette and add local values only with new evidence.
|
|
219
|
+
4. **Do not rely on color alone.** EUI’s color guidance asks authors to pair color context with icons or copy.
|
|
220
|
+
*UI implication:* semantic action and state communication must not depend solely on `#0b64dd`, `#d9e8ff`, or any other color token.
|
|
221
|
+
|
|
222
|
+
## 13. Personas
|
|
223
|
+
|
|
224
|
+
The following are evidence-bounded stakeholder groups, not synthetic satisfaction claims.
|
|
225
|
+
|
|
226
|
+
**Application developer using EUI.** Needs setup, theme, and component guidance that identifies the exact public framework surface rather than conflating it with Elastic’s marketing or authenticated products.
|
|
227
|
+
|
|
228
|
+
**Design-system contributor.** Needs a concise record of live colors, typography, and row geometry, plus the boundary that prevents inferred component states from entering a shared token set.
|
|
229
|
+
|
|
230
|
+
**Technical writer or reviewer.** Needs public documentation language that names implementation artifacts directly and preserves source/provenance links for future updates.
|
|
231
|
+
|
|
232
|
+
## 14. States
|
|
233
|
+
|
|
234
|
+
No reusable state matrix is published. The supplied packet has zero interaction events. Its three static observations—checked, unchecked, and disabled toggle samples—are documented in the verification record but are not generalized into component tokens; empty, loading, error, success, skeleton, focus, hover, pressed, dialog, and toast behavior are absent.
|
|
235
|
+
|
|
236
|
+
## 15. Motion & Easing
|
|
237
|
+
|
|
238
|
+
No duration, easing, transition, or reduced-motion value was measured in the supplied evidence. Motion tokens are intentionally absent.
|