oh-my-design-cli 1.8.7 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/hooks/lib/preferences-parser.cjs +1 -0
- package/.claude/hooks/lib/preferences-writer.cjs +1 -0
- package/.claude/hooks/post-edit-watch.cjs +1 -0
- package/.claude/hooks/session-end-foldin.cjs +1 -0
- package/.claude/hooks/session-state-loader.cjs +1 -0
- package/.claude/hooks/skill-activation.cjs +1 -0
- package/.claude/settings.json +10 -1
- package/.github/assets/logo-bg.png +0 -0
- package/AGENTS.md +20 -1
- package/CHANGELOG.md +482 -0
- package/MIGRATION.md +103 -0
- package/README.ja.md +56 -19
- package/README.ko.md +47 -30
- package/README.md +48 -30
- package/README.zh-TW.md +59 -22
- package/agents/AGENT.md +8 -7
- package/agents/omd-codex-image.md +1 -1
- package/agents/omd-critic.md +6 -7
- package/agents/omd-designer-review.md +1 -1
- package/agents/omd-final-qa.md +1 -1
- package/agents/omd-humanizer.md +38 -0
- package/agents/omd-kr-writer.md +3 -4
- package/agents/omd-locale-adapter.md +12 -16
- package/agents/omd-master.md +24 -19
- package/agents/omd-microcopy.md +1 -1
- package/agents/omd-orchestrator.md +7 -8
- package/agents/omd-slop-auditor.md +31 -0
- package/agents/omd-ux-researcher.md +1 -1
- package/data/reference-fingerprints.json +1995 -38
- package/dist/bin/oh-my-design.js +16 -8
- package/dist/bin/oh-my-design.js.map +1 -1
- package/dist/chunk-UJIHCEYF.js +99 -0
- package/dist/chunk-UJIHCEYF.js.map +1 -0
- package/dist/doctor-LDWSFM3I.js +763 -0
- package/dist/doctor-LDWSFM3I.js.map +1 -0
- package/dist/install-skills-ZZFNJ2II.js +1120 -0
- package/dist/install-skills-ZZFNJ2II.js.map +1 -0
- package/docs/CLI_QUICKSTART.md +157 -0
- package/package.json +25 -4
- package/scripts/postinstall.cjs +5 -4
- package/skills/claude-design/SKILL.md +38 -14
- package/skills/claude-design/references/claude-design-flow.md +11 -11
- package/skills/claude-design/references/codebase-analysis.md +5 -4
- package/skills/omd-final-qa/SKILL.md +1 -1
- package/skills/omd-harness/SKILL.md +51 -50
- package/skills/omd-humanize/SKILL.md +116 -0
- package/skills/omd-humanize/agents/openai.yaml +4 -0
- package/skills/omd-humanize/references/locale-playbooks.md +102 -0
- package/skills/omd-humanize/references/sources.md +11 -0
- package/skills/omd-init/SKILL.md +18 -12
- package/skills/omd-locale-adapter/SKILL.md +58 -91
- package/skills/omd-orchestrator/SKILL.md +11 -5
- package/skills/omd-reference-capture/SKILL.md +80 -26
- package/skills/omd-reference-capture/scripts/PLAYWRIGHT-LICENSE.txt +202 -0
- package/skills/omd-reference-capture/scripts/PLAYWRIGHT-NOTICE.txt +5 -0
- package/skills/omd-reference-capture/scripts/THIRD_PARTY_NOTICES.md +3 -0
- package/skills/omd-reference-capture/scripts/capture-reference-evidence.mjs +159906 -0
- package/skills/omd-slop-audit/SKILL.md +110 -0
- package/skills/omd-slop-audit/agents/openai.yaml +4 -0
- package/skills/omd-slop-audit/references/pattern-catalog.md +96 -0
- package/skills/omd-slop-audit/references/sources.md +24 -0
- package/web/references/104/DESIGN.md +354 -0
- package/web/references/11st/DESIGN.md +197 -316
- package/web/references/29cm/DESIGN.md +297 -393
- package/web/references/42dot/DESIGN.md +390 -0
- package/web/references/8percent/DESIGN.md +438 -0
- package/web/references/ably/DESIGN.md +267 -572
- package/web/references/acer/DESIGN.md +329 -0
- package/web/references/airbnb/DESIGN.md +219 -557
- package/web/references/alipay/DESIGN.md +179 -420
- package/web/references/apple/DESIGN.md +224 -498
- package/web/references/asleep/DESIGN.md +402 -0
- package/web/references/au/DESIGN.md +334 -0
- package/web/references/autopedia/DESIGN.md +382 -0
- package/web/references/aws-cloudscape/DESIGN.md +241 -0
- package/web/references/baemin/DESIGN.md +332 -491
- package/web/references/banksalad/DESIGN.md +269 -180
- package/web/references/barogo/DESIGN.md +416 -0
- package/web/references/beusable/DESIGN.md +464 -0
- package/web/references/bilibili/DESIGN.md +206 -374
- package/web/references/bmw/DESIGN.md +162 -276
- package/web/references/brandi/DESIGN.md +184 -325
- package/web/references/catchtable/DESIGN.md +219 -264
- package/web/references/cgv/DESIGN.md +317 -0
- package/web/references/channeltalk/DESIGN.md +210 -336
- package/web/references/china-airlines/DESIGN.md +291 -0
- package/web/references/cjonstyle/DESIGN.md +453 -0
- package/web/references/class101/DESIGN.md +168 -387
- package/web/references/classum/DESIGN.md +228 -203
- package/web/references/claude/DESIGN.md +242 -479
- package/web/references/clay/DESIGN.md +179 -377
- package/web/references/clickhouse/DESIGN.md +254 -343
- package/web/references/cohere/DESIGN.md +214 -324
- package/web/references/coinone/DESIGN.md +199 -179
- package/web/references/corca/DESIGN.md +414 -0
- package/web/references/coupang/DESIGN.md +205 -475
- package/web/references/cursor/DESIGN.md +240 -381
- package/web/references/dabang/DESIGN.md +248 -213
- package/web/references/dable/DESIGN.md +431 -0
- package/web/references/datarize/DESIGN.md +217 -330
- package/web/references/dealicious/DESIGN.md +402 -0
- package/web/references/drdiary/DESIGN.md +404 -0
- package/web/references/elastic/DESIGN.md +238 -0
- package/web/references/elevenlabs/DESIGN.md +183 -321
- package/web/references/eslite/DESIGN.md +257 -0
- package/web/references/evaair/DESIGN.md +338 -0
- package/web/references/expo/DESIGN.md +238 -331
- package/web/references/familymart-tw/DESIGN.md +254 -0
- package/web/references/ferrari/DESIGN.md +160 -377
- package/web/references/figma/DESIGN.md +197 -451
- package/web/references/fitpet/DESIGN.md +445 -0
- package/web/references/flex/DESIGN.md +170 -253
- package/web/references/framer/DESIGN.md +197 -340
- package/web/references/freee/DESIGN.md +211 -533
- package/web/references/friendliai/DESIGN.md +431 -0
- package/web/references/frip/DESIGN.md +440 -0
- package/web/references/gangnamunni/DESIGN.md +154 -591
- package/web/references/gaudiolab/DESIGN.md +414 -0
- package/web/references/google/DESIGN.md +290 -398
- package/web/references/hashicorp/DESIGN.md +273 -318
- package/web/references/heydealer/DESIGN.md +429 -0
- package/web/references/humanscape/DESIGN.md +433 -0
- package/web/references/hyundai/DESIGN.md +158 -368
- package/web/references/hyundaicard/DESIGN.md +171 -121
- package/web/references/ibm/DESIGN.md +227 -378
- package/web/references/idus/DESIGN.md +450 -0
- package/web/references/igaworks/DESIGN.md +437 -0
- package/web/references/inflearn/DESIGN.md +221 -366
- package/web/references/intuit/DESIGN.md +244 -0
- package/web/references/jandi/DESIGN.md +191 -291
- package/web/references/jobplanet/DESIGN.md +415 -0
- package/web/references/kakao/DESIGN.md +287 -475
- package/web/references/kakaobank/DESIGN.md +220 -521
- package/web/references/kakaogames/DESIGN.md +220 -0
- package/web/references/kakaopay/DESIGN.md +207 -526
- package/web/references/karrot/DESIGN.md +227 -251
- package/web/references/kb-kookmin/DESIGN.md +308 -0
- package/web/references/kbank/DESIGN.md +220 -175
- package/web/references/kmong/DESIGN.md +281 -356
- package/web/references/krds/DESIGN.md +245 -19
- package/web/references/kream/DESIGN.md +224 -359
- package/web/references/kurly/DESIGN.md +211 -533
- package/web/references/lamborghini/DESIGN.md +198 -360
- package/web/references/lguplus/DESIGN.md +259 -0
- package/web/references/likelion/DESIGN.md +283 -0
- package/web/references/line/DESIGN.md +396 -355
- package/web/references/linear.app/DESIGN.md +209 -562
- package/web/references/lotteon/DESIGN.md +386 -0
- package/web/references/lovable/DESIGN.md +255 -349
- package/web/references/makinarocks/DESIGN.md +149 -349
- package/web/references/maum-ai/DESIGN.md +423 -0
- package/web/references/medibloc/DESIGN.md +425 -0
- package/web/references/megabox/DESIGN.md +232 -0
- package/web/references/mercari/DESIGN.md +217 -434
- package/web/references/microsoft/DESIGN.md +234 -388
- package/web/references/mildang/DESIGN.md +411 -0
- package/web/references/millie/DESIGN.md +183 -504
- package/web/references/minimax/DESIGN.md +264 -322
- package/web/references/miricanvas/DESIGN.md +182 -355
- package/web/references/miro/DESIGN.md +234 -232
- package/web/references/mistral.ai/DESIGN.md +231 -314
- package/web/references/mixi/DESIGN.md +234 -0
- package/web/references/moin/DESIGN.md +445 -0
- package/web/references/mongodb/DESIGN.md +219 -316
- package/web/references/musinsa/DESIGN.md +184 -510
- package/web/references/mynavi/DESIGN.md +242 -0
- package/web/references/myrealtrip/DESIGN.md +169 -406
- package/web/references/naver/DESIGN.md +328 -499
- package/web/references/naverwebtoon/DESIGN.md +172 -395
- package/web/references/nhn/DESIGN.md +169 -346
- package/web/references/nhncloud/DESIGN.md +185 -123
- package/web/references/notion/DESIGN.md +271 -475
- package/web/references/nrise/DESIGN.md +417 -0
- package/web/references/ohouse/DESIGN.md +210 -549
- package/web/references/oliveyoung/DESIGN.md +217 -326
- package/web/references/ollama/DESIGN.md +241 -308
- package/web/references/onestore/DESIGN.md +248 -0
- package/web/references/palantir/DESIGN.md +256 -0
- package/web/references/panasonic/DESIGN.md +276 -0
- package/web/references/patternfly/DESIGN.md +259 -0
- package/web/references/payhere/DESIGN.md +438 -0
- package/web/references/pega/DESIGN.md +262 -0
- package/web/references/peoplefund/DESIGN.md +431 -0
- package/web/references/petfriends/DESIGN.md +428 -0
- package/web/references/pinkfong/DESIGN.md +199 -367
- package/web/references/pinterest/DESIGN.md +258 -308
- package/web/references/poya/DESIGN.md +286 -0
- package/web/references/pozalabs/DESIGN.md +438 -0
- package/web/references/protopie/DESIGN.md +419 -0
- package/web/references/qraft/DESIGN.md +448 -0
- package/web/references/quotabook/DESIGN.md +449 -0
- package/web/references/recruit/DESIGN.md +247 -0
- package/web/references/remember/DESIGN.md +202 -396
- package/web/references/resend/DESIGN.md +274 -348
- package/web/references/sakura-internet/DESIGN.md +269 -0
- package/web/references/samsung/DESIGN.md +157 -359
- package/web/references/sandoll/DESIGN.md +445 -0
- package/web/references/sanity/DESIGN.md +241 -375
- package/web/references/scatterlab/DESIGN.md +412 -0
- package/web/references/selectstar/DESIGN.md +439 -0
- package/web/references/servicenow/DESIGN.md +289 -0
- package/web/references/shinhanbank/DESIGN.md +161 -341
- package/web/references/shinhancard/DESIGN.md +208 -319
- package/web/references/sionic/DESIGN.md +454 -0
- package/web/references/sktelecom/DESIGN.md +310 -0
- package/web/references/socar/DESIGN.md +125 -32
- package/web/references/softbank/DESIGN.md +231 -0
- package/web/references/sony/DESIGN.md +234 -0
- package/web/references/soop/DESIGN.md +261 -0
- package/web/references/spacex/DESIGN.md +184 -323
- package/web/references/spotify/DESIGN.md +253 -394
- package/web/references/squeezebits/DESIGN.md +441 -0
- package/web/references/stayfolio/DESIGN.md +422 -0
- package/web/references/stripe/DESIGN.md +212 -491
- package/web/references/supabase/DESIGN.md +244 -316
- package/web/references/tabling/DESIGN.md +415 -0
- package/web/references/taishinbank/DESIGN.md +243 -0
- package/web/references/teamlab/DESIGN.md +240 -0
- package/web/references/teamsparta/DESIGN.md +472 -0
- package/web/references/tellingme/DESIGN.md +392 -0
- package/web/references/tesla/DESIGN.md +244 -427
- package/web/references/thsr/DESIGN.md +284 -0
- package/web/references/thumbtack/DESIGN.md +302 -0
- package/web/references/together.ai/DESIGN.md +257 -304
- package/web/references/toss/DESIGN.md +251 -593
- package/web/references/toss-securities/DESIGN.md +255 -178
- package/web/references/tossbank/DESIGN.md +195 -491
- package/web/references/toyota/DESIGN.md +238 -0
- package/web/references/tving/DESIGN.md +197 -245
- package/web/references/typed/DESIGN.md +413 -0
- package/web/references/uber/DESIGN.md +256 -333
- package/web/references/udn/DESIGN.md +250 -0
- package/web/references/upbit/DESIGN.md +145 -256
- package/web/references/upstage/DESIGN.md +211 -204
- package/web/references/uswds/DESIGN.md +287 -0
- package/web/references/vercel/DESIGN.md +236 -440
- package/web/references/wanted/DESIGN.md +215 -487
- package/web/references/wise/DESIGN.md +223 -231
- package/web/references/wisetracker/DESIGN.md +462 -0
- package/web/references/wooribank/DESIGN.md +245 -0
- package/web/references/yanolja/DESIGN.md +250 -419
- package/web/references/yeogiotte/DESIGN.md +235 -418
- package/web/references/zapier/DESIGN.md +256 -377
- package/web/references/zendesk/DESIGN.md +288 -0
- package/web/references/zigzag/DESIGN.md +200 -621
- package/dist/install-skills-7UUDOLG2.js +0 -734
- package/dist/install-skills-7UUDOLG2.js.map +0 -1
|
@@ -0,0 +1,422 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: stayfolio
|
|
3
|
+
name: Stayfolio
|
|
4
|
+
display_name_kr: 스테이폴리오
|
|
5
|
+
country: KR
|
|
6
|
+
category: consumer-tech
|
|
7
|
+
homepage: "https://www.stayfolio.com/"
|
|
8
|
+
primary_color: "#1a1a1a"
|
|
9
|
+
logo:
|
|
10
|
+
type: favicon
|
|
11
|
+
slug: "https://www.google.com/s2/favicons?domain=stayfolio.com&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: "Editorial monochrome stay-curation platform. Ink ladder near-black (#181818 body / #171719 headings / #1a1a1a nav-logo / #000000 solid CTA). Single saturated accent = promo blue #017bc6 on marketing banners only. Near-shadowless; sharp 0px photo cards; pill controls."
|
|
19
|
+
colors:
|
|
20
|
+
ink: "#181818"
|
|
21
|
+
ink-heading: "#171719"
|
|
22
|
+
ink-brand: "#1a1a1a"
|
|
23
|
+
black: "#000000"
|
|
24
|
+
stay-title: "#333333"
|
|
25
|
+
muted: "#6b6b6e"
|
|
26
|
+
faint: "#979799"
|
|
27
|
+
disabled: "#999999"
|
|
28
|
+
canvas: "#ffffff"
|
|
29
|
+
surface: "#f2f2f2"
|
|
30
|
+
surface-alt: "#f5f5f5"
|
|
31
|
+
hairline: "#dfe0e2"
|
|
32
|
+
hairline-alt: "#cccccc"
|
|
33
|
+
promo-blue: "#017bc6"
|
|
34
|
+
on-dark: "#ffffff"
|
|
35
|
+
typography:
|
|
36
|
+
family: { sans: "Pretendard JP Variable", fallback: "Pretendard" }
|
|
37
|
+
nav: { size: 16, weight: 600, tracking: 0, use: "Uppercase Latin top-nav labels (FIND STAY, JOURNAL, PRE-ORDER)" }
|
|
38
|
+
section: { size: 28, weight: 600, lineHeight: 1.29, tracking: -0.56, use: "Editorial section headline (H2)" }
|
|
39
|
+
stay-title: { size: 20, weight: 600, lineHeight: 1.40, tracking: -0.2, use: "Stay / property name (H3)" }
|
|
40
|
+
body: { size: 14, weight: 400, lineHeight: 1.50, use: "Body copy, captions, UI text" }
|
|
41
|
+
spacing: { xs: 4, sm: 8, base: 16, lg: 20, xl: 24, xxl: 40, section: 64 }
|
|
42
|
+
rounded: { none: 0, button: 20, pill: 100, full: 9999 }
|
|
43
|
+
shadow:
|
|
44
|
+
none: "none"
|
|
45
|
+
soft: "rgba(0,0,0,0.08) 0px 4px 8px"
|
|
46
|
+
components:
|
|
47
|
+
cta-solid: { type: button, bg: "#000000", fg: "#ffffff", radius: "20px", padding: "8px 16px", height: "40px", font: "16px / 500", use: "Solid primary CTA (지도 / Map toggle on FIND STAY)" }
|
|
48
|
+
nav-tab: { type: tab, fg: "#1a1a1a", font: "16px / 600", active: "text #1a1a1a + 2px bottom border #1a1a1a", use: "Uppercase Latin top-nav item (FIND STAY, JOURNAL)" }
|
|
49
|
+
region-toggle: { type: tab, bg: "#ffffff", fg: "#181818", border: "1px solid #dfe0e2", radius: "100px", height: "44px", shadow: "rgba(0,0,0,0.08) 0px 4px 8px", active: "filled white pill", use: "국내/해외 segmented region toggle" }
|
|
50
|
+
search-pill: { type: input, bg: "#ffffff", fg: "#181818", border: "1px solid #dfe0e2", radius: "100px", height: "44px", font: "14px / 400", use: "Hero search / filter pill (어디로 떠날까요?)" }
|
|
51
|
+
stay-card: { type: card, bg: "#ffffff", fg: "#333333", radius: "0px", use: "Editorial stay card — full-bleed photo, sharp 0px corners, no border/shadow" }
|
|
52
|
+
promo-banner: { type: card, bg: "#017bc6", fg: "#ffffff", radius: "0px", use: "Promotional banner / tag — sole saturated color accent" }
|
|
53
|
+
lang-item: { type: listItem, fg: "#999999", font: "14px / 400", use: "Language switch item (한국어 / English), inactive faint grey" }
|
|
54
|
+
components_harvested: true
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
# Design System Inspiration of Stayfolio
|
|
58
|
+
|
|
59
|
+
## 1. Visual Theme & Atmosphere
|
|
60
|
+
|
|
61
|
+
Stayfolio (스테이폴리오) is Korea's curated boutique-stay platform, and its homepage behaves less like a booking engine than like a printed travel monograph rendered on screen. The canvas is pure white (`#ffffff`), the photography is full-bleed and edge-to-edge, and nearly all chrome recedes so the imagery of each stay carries the page. Text sits in a refined near-black ink (`#181818`) — never a hard pure-black for reading — which lends the layout a quiet, editorial gravity. There is no chrome-heavy "app" feeling here; the design trusts the space of each property and the restraint of a magazine art director.
|
|
62
|
+
|
|
63
|
+
The typographic personality is Korean-premium and understated. The system runs on **Pretendard JP Variable** across the entire interface, and the hierarchy is carried almost entirely by weight and size rather than color: editorial section headlines (H2) sit at 28px / weight 600 with tight `-0.56px` tracking (`#171719`), individual stay names (H3) drop to 20px / 600 with `-0.2px` tracking in a softer graphite (`#333333`), and body/UI text settles at a calm 14px / weight 400. Latin navigation labels — `FIND STAY`, `PROMOTION`, `JOURNAL`, `PRE-ORDER` — are set in uppercase at 16px / 600 in the brand ink (`#1a1a1a`), reading like the section dividers of a print catalogue.
|
|
64
|
+
|
|
65
|
+
What defines Stayfolio is its monochrome discipline. The palette is an *ink ladder* of near-blacks (`#181818` body, `#171719` headings, `#1a1a1a` nav/logotype, pure `#000000` for the one solid CTA — the "지도" map toggle at 20px radius) layered over a cool paper-grey surface system (`#f2f2f2`, `#f5f5f5`) and hairline dividers (`#dfe0e2`, `#cccccc`). Depth is almost entirely flat: `box-shadow: none` across headings, nav, and stay cards, with a single soft lift (`rgba(0,0,0,0.08) 0px 4px 8px`) reserved for the floating region-toggle pill. The one saturated color in the entire system is a promotional blue (`#017bc6`) that appears only on marketing banners and tags — everywhere else the brand is black, white, and photograph. Stay cards themselves use sharp `0px` corners so the image reads as a framed plate, while interactive controls (region toggle, search field) are full `100px` pills.
|
|
66
|
+
|
|
67
|
+
**Key Characteristics:**
|
|
68
|
+
- Full-bleed editorial photography over a pure white (`#ffffff`) canvas — imagery is the interface
|
|
69
|
+
- Monochrome *ink ladder*: `#181818` body, `#171719` headings, `#1a1a1a` nav, `#000000` solid CTA
|
|
70
|
+
- Single typeface (Pretendard JP Variable) doing all work via weight/size, not color
|
|
71
|
+
- Uppercase Latin nav labels at 16px / 600 (`FIND STAY`, `JOURNAL`) — print-catalogue rhythm
|
|
72
|
+
- Near-shadowless: `box-shadow: none` everywhere except the floating region pill
|
|
73
|
+
- Sharp `0px` photo cards vs. full `100px` pill controls — a deliberate geometric contrast
|
|
74
|
+
- One saturated accent only — promo blue (`#017bc6`) confined to marketing banners/tags
|
|
75
|
+
- Cool paper-grey surfaces (`#f2f2f2`, `#f5f5f5`) + hairlines (`#dfe0e2`, `#cccccc`) for separation
|
|
76
|
+
- Graphite muted ladder (`#6b6b6e` → `#979799` → `#999999`) for secondary/tertiary text
|
|
77
|
+
|
|
78
|
+
## 2. Color Palette & Roles
|
|
79
|
+
|
|
80
|
+
### Ink (Near-Black Ladder)
|
|
81
|
+
- **Body Ink** (`#181818`): The dominant text color across the entire site — captions, body copy, UI labels. A refined near-black, never pure black, giving reading text an editorial softness.
|
|
82
|
+
- **Heading Ink** (`#171719`): Section headlines (H2). A fractionally cooler near-black for the largest editorial titles.
|
|
83
|
+
- **Brand Ink** (`#1a1a1a`): The logotype and uppercase Latin nav labels. This is the brand's signature black — the primary_color.
|
|
84
|
+
- **Pure Black** (`#000000`): Reserved for the single solid CTA — the "지도" (Map) toggle — and maximum-contrast marks.
|
|
85
|
+
- **Stay Title Graphite** (`#333333`): Individual stay/property names (H3). A softer graphite that sits below headings in the hierarchy.
|
|
86
|
+
|
|
87
|
+
### Muted & Tertiary
|
|
88
|
+
- **Muted Slate** (`#6b6b6e`): Secondary text, metadata, supporting captions.
|
|
89
|
+
- **Faint Grey** (`#979799`): Tertiary labels and low-emphasis text.
|
|
90
|
+
- **Disabled Grey** (`#999999`): Inactive controls such as the unselected language switch (한국어 / English).
|
|
91
|
+
|
|
92
|
+
### Surface & Neutral
|
|
93
|
+
- **Pure White** (`#ffffff`): Page background, card surfaces, text on dark/photo overlays.
|
|
94
|
+
- **Paper Grey** (`#f2f2f2`): The primary tinted surface for segmented sections and placeholder blocks.
|
|
95
|
+
- **Paper Grey Alt** (`#f5f5f5`): A secondary near-white surface for alternating bands.
|
|
96
|
+
- **Hairline** (`#dfe0e2`): Thin borders on the region toggle and search pills — the main separation device in a shadowless system.
|
|
97
|
+
- **Hairline Alt** (`#cccccc`): Lighter divider grey for secondary rules.
|
|
98
|
+
|
|
99
|
+
### Accent
|
|
100
|
+
- **Promo Blue** (`#017bc6`): The only saturated color in the system, confined to promotional banners and tags. It is intentionally *not* the brand color — the brand is monochrome; the blue is a marketing signal.
|
|
101
|
+
|
|
102
|
+
## 3. Typography Rules
|
|
103
|
+
|
|
104
|
+
### Font Family
|
|
105
|
+
- **Primary**: `Pretendard JP Variable` (with `Pretendard` and system fallbacks) — a single variable family carries the entire interface, Korean and Latin alike.
|
|
106
|
+
|
|
107
|
+
### Hierarchy
|
|
108
|
+
|
|
109
|
+
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|
|
110
|
+
|------|------|------|--------|-------------|----------------|-------|
|
|
111
|
+
| Nav Label | Pretendard JP | 16px (1.00rem) | 600 | — | normal | Uppercase Latin (FIND STAY, JOURNAL, PRE-ORDER) |
|
|
112
|
+
| Section Heading (H2) | Pretendard JP | 28px (1.75rem) | 600 | 1.29 (36px) | -0.56px | Editorial section titles |
|
|
113
|
+
| Stay Title (H3) | Pretendard JP | 20px (1.25rem) | 600 | 1.40 (28px) | -0.2px | Stay / property names |
|
|
114
|
+
| Body | Pretendard JP | 14px (0.88rem) | 400 | 1.50 | normal | Body copy, captions, UI text |
|
|
115
|
+
|
|
116
|
+
### Principles
|
|
117
|
+
- **One family, weight-led hierarchy**: Pretendard JP Variable does every job. Hierarchy comes from size + weight (600 for titles/nav, 400 for body), never from switching typefaces.
|
|
118
|
+
- **Tight tracking scales with size**: -0.56px at 28px headings, -0.2px at 20px stay titles, normal at body. Larger editorial type compresses; reading text stays open.
|
|
119
|
+
- **Uppercase Latin as structure**: The uppercase 16px / 600 Latin nav labels function like the running heads of a print magazine, anchoring the editorial tone.
|
|
120
|
+
- **Hangul-first reading**: Body sits at a deliberate 14px / 1.5 line-height, generous for dense hangul legibility inside long editorial stay descriptions.
|
|
121
|
+
|
|
122
|
+
## 4. Component Stylings
|
|
123
|
+
|
|
124
|
+
### Buttons
|
|
125
|
+
|
|
126
|
+
**Solid CTA (지도 / Map)**
|
|
127
|
+
- Background: `#000000`
|
|
128
|
+
- Text: `#ffffff`
|
|
129
|
+
- Radius: 20px
|
|
130
|
+
- Padding: 8px 16px
|
|
131
|
+
- Height: 40px
|
|
132
|
+
- Font: 16px weight 500 Pretendard JP
|
|
133
|
+
- Use: The system's single solid primary action (map toggle on FIND STAY)
|
|
134
|
+
|
|
135
|
+
**Text CTA (FIND STAY)**
|
|
136
|
+
- Text: `#1a1a1a`
|
|
137
|
+
- Font: 16px weight 600 Pretendard JP
|
|
138
|
+
- Use: Uppercase Latin text actions in the nav; no fill, no border — type only
|
|
139
|
+
|
|
140
|
+
### Inputs & Forms
|
|
141
|
+
|
|
142
|
+
**Search / Filter Pill**
|
|
143
|
+
- Background: `#ffffff`
|
|
144
|
+
- Text: `#181818`
|
|
145
|
+
- Border: 1px solid `#dfe0e2`
|
|
146
|
+
- Radius: 100px
|
|
147
|
+
- Height: 44px
|
|
148
|
+
- Font: 14px weight 400 Pretendard JP
|
|
149
|
+
- Use: Hero search field ("어디로 떠날까요?") and date/guest filter pills
|
|
150
|
+
|
|
151
|
+
### Tabs & Toggles
|
|
152
|
+
|
|
153
|
+
**Region Toggle (국내 / 해외)**
|
|
154
|
+
- Background: `#ffffff`
|
|
155
|
+
- Text: `#181818`
|
|
156
|
+
- Border: 1px solid `#dfe0e2`
|
|
157
|
+
- Radius: 100px
|
|
158
|
+
- Height: 44px
|
|
159
|
+
- Shadow: `rgba(0,0,0,0.08) 0px 4px 8px`
|
|
160
|
+
- Active: filled white pill segment
|
|
161
|
+
- Use: Domestic / overseas segmented region toggle — the only element carrying a soft shadow
|
|
162
|
+
|
|
163
|
+
**Nav Tabs**
|
|
164
|
+
- Text: `#1a1a1a`
|
|
165
|
+
- Font: 16px weight 600 Pretendard JP
|
|
166
|
+
- Active: text `#1a1a1a` with a 2px bottom border `#1a1a1a`
|
|
167
|
+
- Use: Top navigation (FIND STAY, PROMOTION, JOURNAL, PRE-ORDER)
|
|
168
|
+
|
|
169
|
+
### Cards & Containers
|
|
170
|
+
|
|
171
|
+
**Editorial Stay Card**
|
|
172
|
+
- Background: `#ffffff`
|
|
173
|
+
- Text: `#333333`
|
|
174
|
+
- Radius: 0px
|
|
175
|
+
- Use: The workhorse — a full-bleed photograph with the stay name (`#333333`, 20px) beneath, no border, no shadow, sharp corners so the image reads as a framed plate
|
|
176
|
+
|
|
177
|
+
**Promotional Banner**
|
|
178
|
+
- Background: `#017bc6`
|
|
179
|
+
- Text: `#ffffff`
|
|
180
|
+
- Radius: 0px
|
|
181
|
+
- Use: Marketing banners and promo tags — the sole saturated-color surface in the system
|
|
182
|
+
|
|
183
|
+
### List Items
|
|
184
|
+
|
|
185
|
+
**Language Switch Item**
|
|
186
|
+
- Text: `#999999`
|
|
187
|
+
- Font: 14px weight 400 Pretendard JP
|
|
188
|
+
- Use: Language switch (한국어 / English); inactive items sit in faint grey, the active locale in ink
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
**Verified:** 2026-07-02 (omd:add-reference CREATE — Tier 1 live inspect)
|
|
193
|
+
**Tier 1 sources:** https://www.stayfolio.com/, https://www.stayfolio.com/findstay, https://brunch.co.kr/@stayfolio
|
|
194
|
+
**Tier 2 sources:** getdesign.md/stayfolio (0 DESIGN.md files — not covered); styles.refero.design/?q=stayfolio (no Stayfolio-specific style; returns default gallery)
|
|
195
|
+
**Conflicts unresolved:** none
|
|
196
|
+
|
|
197
|
+
## 5. Layout Principles
|
|
198
|
+
|
|
199
|
+
### Spacing System
|
|
200
|
+
- Base unit: ~8px
|
|
201
|
+
- Scale: 4px, 8px, 16px, 20px, 24px, 40px, 64px
|
|
202
|
+
- Notable: Solid CTA padding lands at 8px 16px; the airy vertical rhythm between full-bleed photo sections is the dominant spacing signal
|
|
203
|
+
|
|
204
|
+
### Grid & Container
|
|
205
|
+
- Full-bleed photography sections stacked vertically, each a "plate" in an editorial layout
|
|
206
|
+
- Stay cards arranged in responsive multi-column grids beneath section headlines
|
|
207
|
+
- Floating region toggle + search pills sit over the hero as the only persistent interactive chrome
|
|
208
|
+
- Content alternates white (`#ffffff`) and paper-grey (`#f2f2f2`) bands for gentle segmentation
|
|
209
|
+
|
|
210
|
+
### Whitespace Philosophy
|
|
211
|
+
- **Imagery over density**: The layout gives each stay generous room; whitespace frames photography like a gallery wall.
|
|
212
|
+
- **Flat segmentation**: Sections separate by background tint (`#f2f2f2` vs `#ffffff`) and hairlines (`#dfe0e2`), never by heavy borders or shadow stacks.
|
|
213
|
+
- **Editorial rhythm**: Uppercase Latin section labels + tight-tracked H2 headlines create a magazine-like cadence down the page.
|
|
214
|
+
|
|
215
|
+
### Border Radius Scale
|
|
216
|
+
- None (0px): Stay cards, photo plates, promo banners — sharp editorial framing
|
|
217
|
+
- Button (20px): The solid map CTA
|
|
218
|
+
- Pill (100px): Region toggle, search/filter fields
|
|
219
|
+
- Full (9999px): Circular icon buttons
|
|
220
|
+
|
|
221
|
+
## 6. Depth & Elevation
|
|
222
|
+
|
|
223
|
+
| Level | Treatment | Use |
|
|
224
|
+
|-------|-----------|-----|
|
|
225
|
+
| Flat (Level 0) | No shadow | Page background, stay cards, headings, most surfaces |
|
|
226
|
+
| Tint (Level 1) | `#f2f2f2` background shift | Section / card separation without elevation |
|
|
227
|
+
| Hairline (Level 2) | `1px solid #dfe0e2` border | Pill controls, dividers |
|
|
228
|
+
| Soft lift (Level 3) | `rgba(0,0,0,0.08) 0px 4px 8px` | The floating region toggle pill only |
|
|
229
|
+
|
|
230
|
+
**Shadow Philosophy**: Stayfolio is a near-shadowless, flat editorial system. Live inspection returned `box-shadow: none` across headings, nav, and stay cards; the only measured elevation is a single soft `rgba(0,0,0,0.08) 0px 4px 8px` on the floating region-toggle pill so it reads as hovering over the hero photograph. Depth otherwise comes from the photography itself and from flat paper-grey (`#f2f2f2`) surfaces divided by thin `#dfe0e2` hairlines. This restraint keeps the focus on imagery and gives the product the calm of a printed catalogue rather than a card-stacked app.
|
|
231
|
+
|
|
232
|
+
## 7. Do's and Don'ts
|
|
233
|
+
|
|
234
|
+
### Do
|
|
235
|
+
- Let full-bleed photography carry the page — chrome should recede
|
|
236
|
+
- Use Pretendard JP Variable for everything; drive hierarchy with weight (600) and size, not color
|
|
237
|
+
- Keep text in the near-black ink ladder (`#181818` body, `#171719` headings, `#1a1a1a` nav)
|
|
238
|
+
- Reserve pure black (`#000000`) for the single solid CTA
|
|
239
|
+
- Use sharp `0px` corners on photo/stay cards so images read as framed plates
|
|
240
|
+
- Use full `100px` pills for interactive controls (region toggle, search fields)
|
|
241
|
+
- Separate sections with paper-grey tint (`#f2f2f2`) and `#dfe0e2` hairlines, not shadows
|
|
242
|
+
- Set uppercase Latin nav labels at 16px / 600 for the print-catalogue rhythm
|
|
243
|
+
|
|
244
|
+
### Don't
|
|
245
|
+
- Spread the promo blue (`#017bc6`) beyond marketing banners — the brand is monochrome
|
|
246
|
+
- Use drop shadows for elevation — the system is flat except the one floating pill
|
|
247
|
+
- Round the photo/stay cards — sharp `0px` framing is the editorial signature
|
|
248
|
+
- Introduce a second typeface — Pretendard JP does every job
|
|
249
|
+
- Use pure black (`#000000`) for body text — reserve the softer `#181818`
|
|
250
|
+
- Add a second saturated accent color — black, white, and photograph is the whole palette
|
|
251
|
+
- Set headlines in a light weight — editorial titles are weight 600
|
|
252
|
+
- Use positive letter-spacing on headlines — Stayfolio tracks tight (-0.56px at 28px)
|
|
253
|
+
|
|
254
|
+
## 8. Responsive Behavior
|
|
255
|
+
|
|
256
|
+
### Breakpoints
|
|
257
|
+
| Name | Width | Key Changes |
|
|
258
|
+
|------|-------|-------------|
|
|
259
|
+
| Mobile | <640px | Single column, stay cards stack, floating pills collapse |
|
|
260
|
+
| Tablet | 640-1024px | 2-column stay grids, moderate padding |
|
|
261
|
+
| Desktop | 1024-1440px | Full multi-column editorial grids, full-bleed hero |
|
|
262
|
+
|
|
263
|
+
### Touch Targets
|
|
264
|
+
- Region toggle and search pills at 44px height — comfortably tappable
|
|
265
|
+
- Solid map CTA at 40px height with 8px 16px padding
|
|
266
|
+
- Nav labels spaced for touch within the header
|
|
267
|
+
|
|
268
|
+
### Collapsing Strategy
|
|
269
|
+
- Hero: full-bleed photograph maintained; overlaid pills stack/collapse on mobile
|
|
270
|
+
- Stay grids: multi-column → 2-up → single stacked column
|
|
271
|
+
- Section headlines: 28px H2 compresses on mobile, weight 600 maintained
|
|
272
|
+
- White / paper-grey alternating bands keep full-width treatment
|
|
273
|
+
|
|
274
|
+
### Image Behavior
|
|
275
|
+
- Stay photography stays full-bleed and sharp-cornered (`0px`) at every breakpoint
|
|
276
|
+
- Cards carry no shadow at any size, consistent with the flat system
|
|
277
|
+
- Aspect ratios are preserved so each plate keeps its editorial framing
|
|
278
|
+
|
|
279
|
+
## 9. Agent Prompt Guide
|
|
280
|
+
|
|
281
|
+
### Quick Color Reference
|
|
282
|
+
- Body text: Body Ink (`#181818`)
|
|
283
|
+
- Headings: Heading Ink (`#171719`)
|
|
284
|
+
- Nav / logotype: Brand Ink (`#1a1a1a`)
|
|
285
|
+
- Solid CTA: Pure Black (`#000000`)
|
|
286
|
+
- Stay titles: Graphite (`#333333`)
|
|
287
|
+
- Secondary text: Muted Slate (`#6b6b6e`)
|
|
288
|
+
- Tertiary / disabled: Faint Grey (`#979799`), Disabled Grey (`#999999`)
|
|
289
|
+
- Background: Pure White (`#ffffff`)
|
|
290
|
+
- Tinted surface: Paper Grey (`#f2f2f2`), Alt (`#f5f5f5`)
|
|
291
|
+
- Hairline: `#dfe0e2`, Alt `#cccccc`
|
|
292
|
+
- Promo accent: Promo Blue (`#017bc6`) — banners only
|
|
293
|
+
|
|
294
|
+
### Example Component Prompts
|
|
295
|
+
- "Create a full-bleed hero: edge-to-edge photograph, no chrome. Overlay a region toggle pill — white `#ffffff` background, 1px solid `#dfe0e2` border, 100px radius, 44px height, soft `rgba(0,0,0,0.08) 0px 4px 8px` shadow. Uppercase Latin nav labels at 16px weight 600, `#1a1a1a`."
|
|
296
|
+
- "Design an editorial stay card: white `#ffffff` background, full-bleed photo, sharp `0px` corners, no border, no shadow. Stay name below in Pretendard JP 20px weight 600, `#333333`, -0.2px tracking."
|
|
297
|
+
- "Build a solid CTA: pure black `#000000` background, white text, 20px radius, 8px 16px padding, 16px weight 500."
|
|
298
|
+
- "Create a section band: paper-grey `#f2f2f2` background. Section headline in Pretendard JP 28px weight 600, `#171719`, -0.56px tracking. Cards inside are white `#ffffff` with sharp `0px` corners."
|
|
299
|
+
|
|
300
|
+
### Iteration Guide
|
|
301
|
+
1. Photography leads — keep chrome minimal and let images fill the frame
|
|
302
|
+
2. One typeface (Pretendard JP Variable); hierarchy via weight 600 vs 400 and size
|
|
303
|
+
3. Stay in the ink ladder: `#181818` body, `#171719` headings, `#1a1a1a` nav, `#000000` solid CTA
|
|
304
|
+
4. No shadows except the one floating region pill; separate with `#f2f2f2` tint + `#dfe0e2` hairlines
|
|
305
|
+
5. Sharp `0px` corners on cards/photos; full `100px` pills on controls
|
|
306
|
+
6. Promo blue (`#017bc6`) only on marketing banners — never structural
|
|
307
|
+
7. Tight negative tracking on headlines, normal on body
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## 10. Voice & Tone
|
|
312
|
+
|
|
313
|
+
Stayfolio's voice is **quiet, sensory, and curatorial** — the register of a well-read travel editor rather than a booking site. Copy leans into mood and place, inviting rather than selling: the homepage headline "비가 오면 짙어지는 산내음, 숲속 스테이로 떠나요" ("When it rains the scent of the mountains deepens — set out for a forest stay") is descriptive and atmospheric, treating the reader as someone seeking meaning in a stay, not a transaction. Section labels stay in restrained uppercase Latin (`FIND STAY`, `JOURNAL`, `PRE-ORDER`), signalling an editorial, almost printed sensibility.
|
|
314
|
+
|
|
315
|
+
| Context | Tone |
|
|
316
|
+
|---|---|
|
|
317
|
+
| Hero / editorial headlines | Sensory, evocative. "비가 오면 짙어지는 산내음, 숲속 스테이로 떠나요." Mood before mechanics. |
|
|
318
|
+
| Stay names | Left as the property's own name (엠버퓨어힐, 빌라 마르디, 취호가) — the curator steps back. |
|
|
319
|
+
| Nav labels | Minimal uppercase Latin: FIND STAY, PROMOTION, JOURNAL, PRE-ORDER. |
|
|
320
|
+
| Journal / magazine | Long-form editorial voice — essays about places and staying, not listings. |
|
|
321
|
+
| CTAs | Calm and low-pressure ("지도", "해외 스테이 지금 보러 가기"). |
|
|
322
|
+
|
|
323
|
+
**Voice samples (verbatim from live homepage):**
|
|
324
|
+
- "비가 오면 짙어지는 산내음, 숲속 스테이로 떠나요" — hero editorial headline (sensory, place-led). *(verified live 2026-07-02)*
|
|
325
|
+
- "해외 스테이 지금 보러 가기" — invitation-style CTA (calm, no urgency). *(verified live 2026-07-02)*
|
|
326
|
+
- "어디로 떠날까요?" — search field prompt (conversational, warm). *(verified live 2026-07-02)*
|
|
327
|
+
|
|
328
|
+
**Forbidden register**: hard-sell urgency, discount-shouting, exclamation-heavy hype, generic OTA phrasing ("best price guaranteed"). Stayfolio's authority comes from restraint and taste.
|
|
329
|
+
|
|
330
|
+
## 11. Brand Narrative
|
|
331
|
+
|
|
332
|
+
Stayfolio (스테이폴리오) is a Korean curation platform for design-forward, independent stays — architecturally and aesthetically distinctive places to sleep that fall outside the standard hotel and OTA channels. Rather than aggregating every available room, Stayfolio's premise is editorial selection: a curated *folio* of stays worth traveling for, presented with the care of a magazine. The name itself — *stay* + *folio* — frames the product as a bound collection of considered places.
|
|
333
|
+
|
|
334
|
+
The site's information architecture makes this ethos explicit. Alongside `FIND STAY` (the curated inventory of domestic and overseas properties), the navigation carries `JOURNAL` (a long-form magazine about places and the culture of staying) and `PRE-ORDER` (physical publications), positioning the brand as a media property as much as a booking service. The homepage leads with atmosphere — full-bleed photography and sensory headlines — not price or availability.
|
|
335
|
+
|
|
336
|
+
What Stayfolio refuses, visible in its design, is the dense, promotion-cluttered chrome of mainstream travel platforms: no stacked discount badges, no urgency banners, no card-shadow-heavy "app" surface. What it embraces is a monochrome, photography-first, editorial interface — black, white, and image — where the single saturated blue appears only when a promotion genuinely needs to be flagged. The design *is* the curation: restraint signals taste, and taste is the product.
|
|
337
|
+
|
|
338
|
+
## 12. Principles
|
|
339
|
+
|
|
340
|
+
1. **Curation over aggregation.** Stayfolio shows a selected folio, not everything. *UI implication:* present each stay as a considered editorial plate with generous space; never bury it in a dense results grid with promotional noise.
|
|
341
|
+
2. **Photography is the interface.** The image carries the decision. *UI implication:* full-bleed, sharp-cornered (`0px`) photography; keep chrome minimal so nothing competes with the picture.
|
|
342
|
+
3. **Monochrome discipline.** The brand is black, white, and photograph. *UI implication:* stay in the ink ladder (`#181818`/`#171719`/`#1a1a1a`); reserve the promo blue (`#017bc6`) strictly for marketing flags.
|
|
343
|
+
4. **Mood before mechanics.** Copy and layout lead with atmosphere, then function. *UI implication:* sensory headlines and imagery first; search, filters, and price recede into calm pill controls.
|
|
344
|
+
5. **Flat and quiet.** Editorial calm beats app-like elevation. *UI implication:* no shadows except the one floating region pill; separate with paper-grey tint and hairlines.
|
|
345
|
+
|
|
346
|
+
## 13. Personas
|
|
347
|
+
|
|
348
|
+
*Personas below are fictional archetypes informed by publicly observable Stayfolio user segments (design-conscious Korean travelers, staycationers seeking distinctive independent stays), not individual people.*
|
|
349
|
+
|
|
350
|
+
**정다은, 32, 서울.** A design-industry professional planning a quiet weekend away. Distrusts generic OTA listings and chooses Stayfolio because the curation feels like a trusted editor's shortlist rather than an ad-ranked feed. Books on the strength of the photography and the writing.
|
|
351
|
+
|
|
352
|
+
**김도현, 38, 경기.** A couple's-trip planner who reads the JOURNAL before deciding. Values that each stay is presented with mood and context, not just amenities and price. Appreciates the calm, uncluttered interface.
|
|
353
|
+
|
|
354
|
+
**이서연, 29, 부산.** A frequent staycationer collecting distinctive stays the way others collect restaurants. Uses the domestic/overseas toggle to browse, saves places for later, and trusts the brand's monochrome, magazine-like taste.
|
|
355
|
+
|
|
356
|
+
## 14. States
|
|
357
|
+
|
|
358
|
+
| State | Treatment |
|
|
359
|
+
|---|---|
|
|
360
|
+
| **Empty (no stays match filters)** | White `#ffffff` canvas. A single Body Ink (`#181818`) line explaining no matches, with a calm text CTA to widen the search. No cluttered illustration. |
|
|
361
|
+
| **Empty (saved list, none yet)** | Muted Slate (`#6b6b6e`) single line inviting the user to explore FIND STAY. Quiet and editorial. |
|
|
362
|
+
| **Loading (stay grid fetch)** | Paper-grey (`#f2f2f2`) placeholder plates at final card dimensions, sharp `0px` corners. Flat pulse — no shadow shimmer, consistent with the shadowless system. |
|
|
363
|
+
| **Loading (image not yet decoded)** | `#f2f2f2` block holds the photograph's aspect ratio; image fades in when ready. |
|
|
364
|
+
| **Error (search / network failed)** | Inline message in Body Ink (`#181818`) with a plain-language explanation and a retry. No generic "오류가 발생했습니다" alone. |
|
|
365
|
+
| **Error (form validation)** | Field-level note below the pill input describing what's valid, not just "필수". |
|
|
366
|
+
| **Success (reservation / inquiry sent)** | Brief inline confirmation in a calm tone; next-step detail linked immediately below. No celebratory emoji. |
|
|
367
|
+
| **Skeleton** | `#f2f2f2` blocks at final dimensions, `0px` corners, flat pulse. |
|
|
368
|
+
| **Disabled** | Faint / Disabled Grey (`#979799` / `#999999`) text on reduced-opacity surface; the active locale/control stays in ink to preserve the monochrome read. |
|
|
369
|
+
|
|
370
|
+
## 15. Motion & Easing
|
|
371
|
+
|
|
372
|
+
**Durations**:
|
|
373
|
+
|
|
374
|
+
| Token | Value | Use |
|
|
375
|
+
|---|---|---|
|
|
376
|
+
| `motion-fast` | 120ms | Hover, pill press, focus |
|
|
377
|
+
| `motion-standard` | 240ms | Card / image fade-in, sheet, dropdown |
|
|
378
|
+
| `motion-slow` | 400ms | Full-bleed hero / gallery transitions |
|
|
379
|
+
|
|
380
|
+
**Easings**:
|
|
381
|
+
|
|
382
|
+
| Token | Curve | Use |
|
|
383
|
+
|---|---|---|
|
|
384
|
+
| `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Arriving — cards, images, sheets |
|
|
385
|
+
| `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
|
|
386
|
+
| `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions |
|
|
387
|
+
|
|
388
|
+
**Motion rules**: Motion is soft and photographic — consistent with the editorial, gallery-like aesthetic. Stay images fade in gently from `#f2f2f2` placeholders at `motion-standard / ease-enter` rather than sliding; pill controls respond to press with a subtle opacity/scale shift. There is no bounce or spring — a curation product signals calm and taste, not playfulness. Under `prefers-reduced-motion: reduce`, all transitions collapse to instant and images appear without fade; the product remains fully functional.
|
|
389
|
+
|
|
390
|
+
<!--
|
|
391
|
+
OmD v0.1 Sources — Philosophy Layer (sections 10–15)
|
|
392
|
+
|
|
393
|
+
Tier 1 live inspect (2026-07-02) via playwright getComputedStyle on
|
|
394
|
+
https://www.stayfolio.com/ and https://www.stayfolio.com/findstay:
|
|
395
|
+
- body: Pretendard JP Variable / color rgb(24,24,24) #181818 / 14px / bg #ffffff
|
|
396
|
+
- Nav labels FIND STAY / PROMOTION / JOURNAL / PRE-ORDER — rgb(26,26,26) #1a1a1a / 16px / 600
|
|
397
|
+
- H2 "비가 오면 짙어지는 산내음, 숲속 스테이로 떠나요" — rgb(23,23,25) #171719 / 28px / 600 / lh 36px / -0.56px
|
|
398
|
+
- H3 stay names (엠버퓨어힐, 빌라 마르디, 취호가) — rgb(51,51,51) #333333 / 20px / 600 / 28px / -0.2px
|
|
399
|
+
- Solid CTA "지도" (FIND STAY) — bg rgb(0,0,0) #000000 / white / radius 20px / 8px 16px / 16px 500
|
|
400
|
+
- Region toggle "국내/해외" — border 1px solid rgb(223,224,226) #dfe0e2 / radius 100px / 44px / shadow rgba(0,0,0,0.08) 0px 4px 8px
|
|
401
|
+
- Language switch 한국어/English — rgb(153,153,153) #999999 / 14px
|
|
402
|
+
- box-shadow: none across headings/nav/cards (near-shadowless system)
|
|
403
|
+
- document.title homepage "스테이폴리오"; /findstay "FIND STAY | 스테이폴리오"
|
|
404
|
+
|
|
405
|
+
Token-level claims (§1-9) are sourced from this live inspection.
|
|
406
|
+
|
|
407
|
+
Voice samples (§10) are verbatim from the live homepage (hero H2, CTA label, search prompt).
|
|
408
|
+
|
|
409
|
+
Brand narrative (§11) is grounded in observable site behavior: Stayfolio (스테이폴리오)
|
|
410
|
+
is a Korean curated boutique-stay platform; the nav architecture (FIND STAY / JOURNAL /
|
|
411
|
+
PRE-ORDER), the editorial photography-first homepage, and the name (stay + folio) are all
|
|
412
|
+
directly observed. Broader company facts beyond the live site are treated as general public
|
|
413
|
+
knowledge, not directly quoted from a verified Stayfolio statement this turn.
|
|
414
|
+
|
|
415
|
+
Personas (§13) are fictional archetypes informed by publicly observable Stayfolio user
|
|
416
|
+
segments (design-conscious Korean travelers). Names are illustrative; they do not refer to
|
|
417
|
+
real people.
|
|
418
|
+
|
|
419
|
+
Interpretive claims (e.g., "the design is the curation", "monochrome discipline as a
|
|
420
|
+
rejection of OTA clutter") are editorial readings connecting Stayfolio's observed design to
|
|
421
|
+
its positioning, not directly sourced Stayfolio statements.
|
|
422
|
+
-->
|