oh-my-design-cli 1.6.0 → 1.6.2

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.
Files changed (81) hide show
  1. package/AGENTS.md +1 -1
  2. package/README.ko.md +12 -0
  3. package/README.md +49 -0
  4. package/data/reference-fingerprints.json +957 -2
  5. package/dist/bin/oh-my-design.js +4 -3
  6. package/dist/bin/oh-my-design.js.map +1 -1
  7. package/dist/{install-skills-IETT2TBJ.js → install-skills-6QFSN5BN.js} +108 -42
  8. package/dist/install-skills-6QFSN5BN.js.map +1 -0
  9. package/package.json +9 -3
  10. package/scripts/postinstall.cjs +6 -6
  11. package/skills/claude-design/SKILL.md +385 -0
  12. package/skills/claude-design/references/claude-design-flow.md +425 -0
  13. package/skills/claude-design/references/codebase-analysis.md +373 -0
  14. package/skills/claude-design/scripts/analyze_codebase.py +1369 -0
  15. package/skills/claude-design/scripts/clickable_link.sh +48 -0
  16. package/skills/claude-design/scripts/collect_source.py +178 -0
  17. package/skills/claude-design/scripts/drive_claude_design.cjs +378 -0
  18. package/skills/claude-design/scripts/gather_references.py +437 -0
  19. package/web/references/91app/DESIGN.md +151 -0
  20. package/web/references/airtable/DESIGN.md +16 -2
  21. package/web/references/bithumb/DESIGN.md +170 -0
  22. package/web/references/bunjang/DESIGN.md +20 -1
  23. package/web/references/cakeresume/DESIGN.md +162 -0
  24. package/web/references/catchtable/DESIGN.md +19 -0
  25. package/web/references/classting/DESIGN.md +251 -0
  26. package/web/references/classum/DESIGN.md +19 -0
  27. package/web/references/coinone/DESIGN.md +218 -0
  28. package/web/references/dabang/DESIGN.md +19 -0
  29. package/web/references/devsisters/DESIGN.md +253 -0
  30. package/web/references/dji/DESIGN.md +0 -1
  31. package/web/references/drnow/DESIGN.md +331 -0
  32. package/web/references/fastcampus/DESIGN.md +19 -0
  33. package/web/references/flex/DESIGN.md +19 -0
  34. package/web/references/flo/DESIGN.md +306 -0
  35. package/web/references/fugle/DESIGN.md +250 -0
  36. package/web/references/gmarket/DESIGN.md +19 -0
  37. package/web/references/gogolook/DESIGN.md +131 -0
  38. package/web/references/grip/DESIGN.md +250 -0
  39. package/web/references/hahow/DESIGN.md +158 -0
  40. package/web/references/hogangnono/DESIGN.md +308 -0
  41. package/web/references/hyundaicard/DESIGN.md +177 -0
  42. package/web/references/inflearn/DESIGN.md +19 -0
  43. package/web/references/jkopay/DESIGN.md +249 -0
  44. package/web/references/jobkorea/DESIGN.md +310 -0
  45. package/web/references/kbank/DESIGN.md +18 -0
  46. package/web/references/kdan/DESIGN.md +160 -0
  47. package/web/references/kkbox/DESIGN.md +114 -0
  48. package/web/references/krafton/DESIGN.md +230 -0
  49. package/web/references/kream/DESIGN.md +18 -0
  50. package/web/references/laftel/DESIGN.md +253 -0
  51. package/web/references/lezhin/DESIGN.md +301 -0
  52. package/web/references/lunit/DESIGN.md +19 -0
  53. package/web/references/melon/DESIGN.md +153 -0
  54. package/web/references/momoshop/DESIGN.md +279 -0
  55. package/web/references/mustit/DESIGN.md +282 -0
  56. package/web/references/nhncloud/DESIGN.md +174 -0
  57. package/web/references/oliveyoung/DESIGN.md +19 -0
  58. package/web/references/payco/DESIGN.md +227 -0
  59. package/web/references/piccollage/DESIGN.md +277 -0
  60. package/web/references/rayark/DESIGN.md +132 -0
  61. package/web/references/riiid/DESIGN.md +228 -0
  62. package/web/references/sendbird/DESIGN.md +285 -0
  63. package/web/references/socar/DESIGN.md +18 -0
  64. package/web/references/toss-securities/DESIGN.md +19 -0
  65. package/web/references/trenbe/DESIGN.md +252 -0
  66. package/web/references/tving/DESIGN.md +18 -0
  67. package/web/references/upbit/DESIGN.md +19 -0
  68. package/web/references/upstage/DESIGN.md +18 -0
  69. package/web/references/velog/DESIGN.md +168 -0
  70. package/web/references/voicetube/DESIGN.md +227 -0
  71. package/web/references/wadiz/DESIGN.md +19 -0
  72. package/web/references/webflow/DESIGN.md +16 -2
  73. package/web/references/yeogiotte/DESIGN.md +19 -0
  74. package/data/architecture-proposals/2026-05-13-thin-install-fresh-fetch.md +0 -189
  75. package/data/issues/2026-05-13-multi-surface-schema-rfc.md +0 -67
  76. package/data/reference-audits/2026-05-13-kr10.md +0 -132
  77. package/data/reference-audits/2026-05-14-kr10.md +0 -72
  78. package/data/reference-audits/2026-05-15-kr10.md +0 -124
  79. package/data/research/2026-05-18-agent-landscape.md +0 -69
  80. package/data/research/2026-05-18-kr-style-presets.md +0 -572
  81. package/dist/install-skills-IETT2TBJ.js.map +0 -1
@@ -0,0 +1,160 @@
1
+ ---
2
+ id: kdan
3
+ name: "Kdan Mobile"
4
+ country: TW
5
+ category: productivity
6
+ homepage: "https://www.kdan.com"
7
+ primary_color: "#00DC87"
8
+ logo:
9
+ type: favicon
10
+ slug: "https://www.google.com/s2/favicons?domain=kdan.com&sz=128"
11
+ verified: "2026-06-01"
12
+ omd: "0.1"
13
+ ds:
14
+ name: "kdan-ui"
15
+ url: "https://github.com/kdan-mobile-software-ltd/kdan-ui-revamp"
16
+ type: system
17
+ description: "Kdan's open-source UI token library (kdanGreen brand token + neutral scale + semantic colors)."
18
+ ---
19
+
20
+ # Design System Inspiration of Kdan Mobile
21
+
22
+ ## 1. Visual Theme & Atmosphere
23
+
24
+ Kdan Mobile presents itself as bold, modern, and developer-credible document software, the kind of digital-workflow SaaS that signs contracts and ships SDKs without losing its sense of energy. The atmosphere is built on a structural deep teal-black base (#002D37) that grounds the interface like ink on a signed page, punctuated by an electric-lime pop (#CAFF00) reserved for the loudest hero moments and the brand's own kdanGreen token (#00DC87) carried over from its open-source UI library. Type is set in Clear Sans, a humanist sans that keeps long documents and dense product copy legible while reading clean and unfussy. Corners are crisp at 4px — tight enough to feel precise and technical, never soft or playful. The overall effect is confident and high-contrast: a serious productivity tool from Tainan, Taiwan that still wants you to feel the charge of getting work done fast. It reads as energetic document software that respects both the signer and the integrating engineer.
25
+
26
+ ## 2. Color Palette & Roles
27
+
28
+ - **kdanGreen / Brand primary** `#00DC87` — the catalog primary, drawn directly from the kdan-ui-revamp brand token.
29
+ - **Structural deep teal-black** `#002D37` — solid primary button surface and the grounding structural base on live kdan.com.
30
+ - **Electric lime** `#CAFF00` — loud hero CTA accent, used sparingly for the highest-emphasis moment.
31
+ - **Hyperlink blue** `#007AFF` — semantic link color from the token library.
32
+ - **Error red** `#F25858` — semantic error state from the token library.
33
+ - **Gray 1000** `#191919` — darkest neutral in the scale.
34
+ - **Gray 100** `#FAFAFA` — lightest neutral in the scale.
35
+ - **Hover layer** `rgba(0,0,0,0.2)` — semi-transparent overlay token applied on hover.
36
+ - **Disabled surface** `#AFAFAF` with text `#4B4B4B` — muted neutral pairing for disabled controls.
37
+ - **White** `#FFFFFF` — primary button text on the teal-black surface.
38
+ - **Black** `#000000` — text on the electric-lime CTA, for maximum contrast.
39
+
40
+ Roles: kdanGreen anchors the brand identity, deep teal-black does the structural and primary-action work, and electric lime is the single loud accent. The neutral gray scale (gray100 to gray1000) handles surfaces and text, while hyperlink, error, and hover-layer tokens cover semantic and interaction states.
41
+
42
+ ## 3. Typography Rules
43
+
44
+ - **Typeface:** Clear Sans across the interface.
45
+ - **Body:** 16px.
46
+ - **Hero heading:** 56px at weight 700.
47
+ - **Button label (standard):** 16px at weight 500.
48
+ - **Hero CTA label:** 22px at weight 500.
49
+
50
+ Clear Sans is a humanist sans-serif chosen for sustained legibility in document-heavy contexts. The hierarchy is steep — a 56px/700 hero headline sits far above 16px body — giving pages a confident, declarative top while keeping reading text calm. Button labels favor the medium 500 weight for a solid, tappable feel without shouting.
51
+
52
+ ## 4. Component Stylings
53
+
54
+ ### Button
55
+
56
+ **Solid primary**
57
+ - Background: #002D37
58
+ - Text: #FFFFFF
59
+ - Border: 1.5px solid #002D37
60
+ - Radius: 4px
61
+ - Height: 38px
62
+ - Font: 16px / 500
63
+ - Use: primary action on live kdan.com
64
+
65
+ **Outline**
66
+ - Background: transparent
67
+ - Text: #002D37
68
+ - Border: 1.5px solid #002D37
69
+ - Radius: 4px
70
+ - Height: 38px
71
+ - Font: 16px / 500
72
+ - Use: secondary action paired alongside the solid primary
73
+
74
+ **Lime hero CTA**
75
+ - Background: #CAFF00
76
+ - Text: #000000
77
+ - Border: none
78
+ - Radius: 4px
79
+ - Height: 53px
80
+ - Font: 22px / 500
81
+ - Use: single loud, high-emphasis hero call-to-action
82
+
83
+ **Disabled**
84
+ - Background: #AFAFAF
85
+ - Text: #4B4B4B
86
+ - Border: none
87
+ - Radius: 4px
88
+ - Use: non-interactive disabled state
89
+
90
+ ## 5. Layout Principles
91
+
92
+ Kdan's layout reads as confident document software: a structural deep teal-black base anchors the page, with content set against the light neutral scale (gray100 #FAFAFA at the bright end). A steep type hierarchy — 56px/700 hero down to 16px body — establishes a clear declarative top and a calm reading body. Primary and outline actions share the same 38px height and 4px radius so action rows align cleanly, while the taller 53px lime hero CTA stands apart as the single loudest target. The crisp 4px corner radius is applied consistently across controls, reinforcing a precise, technical feel rather than a soft one.
93
+
94
+ ## 6. Depth & Elevation
95
+
96
+ Depth is handled with restraint and high contrast rather than heavy shadow. The primary interaction-depth cue is the hover layer — a semi-transparent `rgba(0,0,0,0.2)` overlay token from the kdan-ui library — which darkens a surface on hover to signal interactivity. Borders do structural work too: solid controls carry a 1.5px solid border in their own surface color (#002D37), giving edges definition without relying on drop shadows. The visual stack is built primarily from solid color contrast — deep teal-black against light neutrals — so elevation is felt through tone and the hover overlay more than through layered shadow.
97
+
98
+ ## 7. Do's and Don'ts
99
+
100
+ ### Do
101
+ - Anchor structure and primary actions with deep teal-black #002D37 and white #FFFFFF text.
102
+ - Reserve electric lime #CAFF00 for a single loud hero CTA, with black #000000 text for contrast.
103
+ - Keep the kdanGreen #00DC87 token as the brand identity color.
104
+ - Use a consistent 4px radius and 1.5px borders across controls.
105
+ - Set type in Clear Sans, with a steep 56px/700 hero over 16px body.
106
+
107
+ ### Don't
108
+ - Scatter the electric lime across many elements — it loses its punch when overused.
109
+ - Soften the 4px corners into large rounded shapes; the brand reads precise and technical.
110
+ - Use error red #F25858 or hyperlink blue #007AFF for decoration — they are semantic.
111
+ - Invent shadow-heavy elevation; lean on color contrast and the hover overlay.
112
+
113
+ ## 8. Responsive Behavior
114
+
115
+ The blob does not capture explicit breakpoints, fluid grids, or per-viewport measurements for Kdan, so specific responsive numbers are not asserted here. Qualitatively, the fixed control heights (38px standard, 53px hero CTA) and the consistent 4px radius are designed to hold their proportions across viewports, while the steep Clear Sans hierarchy (56px/700 hero, 16px body) gives a reliable anchor for scaling text down on smaller screens. Action rows that pair the solid primary and outline buttons share a common 38px height, which keeps them aligned whether stacked or placed side by side.
116
+
117
+ ## 9. Agent Prompt Guide
118
+
119
+ When generating UI in Kdan's style, instruct the agent: "Build bold, developer-credible productivity software from Taiwan. Ground the page in deep teal-black #002D37 with white #FFFFFF text and light neutral surfaces (up to gray100 #FAFAFA). Use kdanGreen #00DC87 as the brand identity color. Reserve electric lime #CAFF00 — with black #000000 text — for exactly one loud hero CTA at 53px height, 22px/500. Standard buttons are 38px tall, 16px/500, 4px radius, 1.5px solid border in #002D37 (solid: teal-black bg/white text; outline: transparent bg/teal-black text). Disabled controls use #AFAFAF on #4B4B4B. Set everything in Clear Sans, hero headings 56px/700, body 16px. Keep corners crisp at 4px, use the rgba(0,0,0,0.2) hover overlay for interactivity, and lean on color contrast over shadows. Use hyperlink blue #007AFF and error red #F25858 only for their semantic roles."
120
+
121
+ ## 10. Voice & Tone
122
+
123
+ Kdan's voice is bold, modern, and confident — the tone of a document-software company that is sure of its product and credible to developers. It speaks plainly and energetically, matching the high-contrast structural base and the single electric-lime exclamation point. Copy should feel capable and direct: productivity language that respects the signer's time and the engineer's intelligence, never cute or padded.
124
+
125
+ ## 11. Brand Narrative
126
+
127
+ Kdan Mobile is a Tainan, Taiwan digital-workflow SaaS built around PDF productivity, e-signature, and document SDKs. Its visual identity carries that dual story — the seriousness of signed documents and the credibility of developer tooling — through a deep teal-black structural base, an electric-lime pop accent, and the brand's own kdanGreen token surfaced from its open-source kdan-ui library. Setting everything in Clear Sans with crisp 4px corners, Kdan reads as energetic, modern, and confident: software that handles real contracts and real integrations while still feeling charged with momentum.
128
+
129
+ ## 12. Principles
130
+
131
+ - **Confident and high-contrast:** ground in deep teal-black, let one electric-lime accent carry the energy.
132
+ - **Developer-credible:** lean on Kdan's own open-source token library (kdanGreen, neutral scale, semantic colors) as the source of truth.
133
+ - **Precise, not soft:** crisp 4px corners and 1.5px borders over rounded, shadow-heavy styling.
134
+ - **Restraint with accent:** the loud lime is a single exclamation point, never a refrain.
135
+ - **Legible by default:** Clear Sans and a steep hierarchy keep document-heavy work readable.
136
+
137
+ ## 13. Personas
138
+
139
+ - **The signer / business user:** needs to move documents and signatures quickly; served by a clear hierarchy, calm 16px body text, and unambiguous primary actions in deep teal-black.
140
+ - **The integrating developer:** evaluates Kdan's SDKs and trusts the open-source kdan-ui token library; served by a credible, technical, precisely-cornered visual language and documented tokens.
141
+ - **The decision-maker scanning the hero:** drawn in by the bold 56px/700 headline and the single loud electric-lime CTA that signals where to act.
142
+
143
+ ## 14. States
144
+
145
+ - **Default (solid primary):** background #002D37, text #FFFFFF, 1.5px solid #002D37 border, 4px radius, 38px height.
146
+ - **Hover:** rgba(0,0,0,0.2) hover-layer overlay token darkens the surface to signal interactivity.
147
+ - **Disabled:** background #AFAFAF, text #4B4B4B, 4px radius — clearly muted and non-interactive.
148
+ - **Error (semantic):** error red #F25858 reserved for error messaging and validation.
149
+ - **Link (semantic):** hyperlink blue #007AFF for inline links.
150
+
151
+ ## 15. Motion & Easing
152
+
153
+ The blob does not capture explicit animation durations, easing curves, or transition timing for Kdan, so no specific motion values are asserted. Qualitatively, the documented interaction model is a hover state that applies the rgba(0,0,0,0.2) overlay token — implying a quick, subtle tonal shift on hover rather than elaborate motion. In keeping with the precise, high-contrast character (crisp 4px corners, solid color contrast), any motion should stay restrained and snappy, matching the confident, developer-credible tone rather than drawing attention to itself.
154
+
155
+ ---
156
+ **Verified:** 2026-06-01
157
+ **Tier 1 sources:** https://www.kdan.com (live homepage — buttons, hero CTA, Clear Sans, hero 56px/700), https://github.com/kdan-mobile-software-ltd (brand-owned org), https://github.com/kdan-mobile-software-ltd/kdan-ui-revamp (open-source kdan-ui token library — kdanGreen + neutrals + semantic colors)
158
+ **Tier 2 sources:** getdesign.md/kdan — NOT LISTED. refero — not listed. Note: brand token kdanGreen #00DC87 is the catalog primary; #002D37 is the structural surface and #CAFF00 the loud accent.
159
+ **Conflicts unresolved:** none
160
+ **Proof:** see .verification.md (## Proof block)
@@ -0,0 +1,114 @@
1
+ ---
2
+ id: kkbox
3
+ name: "KKBOX"
4
+ country: TW
5
+ category: entertainment
6
+ homepage: "https://www.kkbox.com"
7
+ primary_color: "#00B6E1"
8
+ logo:
9
+ type: favicon
10
+ slug: "https://www.google.com/s2/favicons?domain=kkbox.com&sz=128"
11
+ verified: "2026-06-01"
12
+ omd: "0.1"
13
+ ---
14
+
15
+ # Design System Inspiration of KKBOX
16
+
17
+ ## 1. Visual Theme & Atmosphere
18
+
19
+ KKBOX wraps its interface in a near-black, cinematic canvas where the music itself feels like the source of light. The ground is a deep #111111 that recedes into the background, letting album art, hero photography, and oversized white display type carry the visual weight. A single signature accent — the KKBOX cyan-blue #00B6E1 — punches through the darkness, reserved for the moments that matter most, like the download call to action. The mood is premium and audio-forward, the kind of room you'd want to sit in with headphones on. Typography does the heavy lifting here: Work Sans at hero scale (up to 120px) gives the page an editorial, almost poster-like confidence. Softly rounded pill buttons and generous spacing keep the experience calm rather than busy, so the brand feels less like a utility and more like a stage.
20
+
21
+ ## 2. Color Palette & Roles
22
+
23
+ The palette is intentionally narrow and high-contrast, built for a dark environment where one accent has to do all the work.
24
+
25
+ - **Ground / Canvas** — `#111111` (near-black) — the dominant surface behind nearly everything; sets the cinematic, music-forward mood.
26
+ - **Brand Accent** — `#00B6E1` (KKBOX cyan-blue) — the single signature color; used sparingly for the download CTA text and brand moments so it never loses impact.
27
+ - **Light Button Surface** — `#F2F2F2` — a pale neutral pill surface that floats on the dark ground and carries the cyan accent.
28
+ - **Display Text** — `#FFFFFF` (white) — headings and hero copy set in white for maximum legibility against the near-black canvas.
29
+
30
+ Role discipline matters more than palette size: the cyan is an event, not a texture. Let the near-black ground and white type establish the room, and bring #00B6E1 in only at the decision point.
31
+
32
+ ## 3. Typography Rules
33
+
34
+ Two families split the labor. **Work Sans** is the display voice — confident, oversized, and editorial — running all the way up to 120px at weight 600 for hero headings, always in white on the dark ground. **Helvetica Neue** handles body copy at a quiet 14px, stepping back so the display type and album art can lead. The contrast between a 120px hero and 14px body is dramatic by design: it creates a poster-like hierarchy where there's never any doubt about where to look first. Keep headings white; keep body restrained; let scale, not color, signal importance.
35
+
36
+ ## 4. Component Stylings
37
+
38
+ ### Download Button
39
+
40
+ **Default (light pill)**
41
+ - Background: #F2F2F2
42
+ - Text: #00B6E1
43
+ - Border: none
44
+ - Radius: 30px
45
+ - Padding: 16px 48px
46
+ - Height: 57px
47
+ - Font: 18px / 500
48
+ - Use: Primary download call to action; a light pill that floats on the #111111 ground and carries the brand cyan as its label.
49
+
50
+ ## 5. Layout Principles
51
+
52
+ KKBOX leans on the dark canvas as negative space rather than filling it. Hero sections give oversized Work Sans display type room to breathe, with generous padding around the pill CTA (16px 48px) so the interactive target never feels crowded. The composition is vertical and editorial — large headline, supporting imagery, a single clear action — reading more like a music poster than a dense product page. Because the ground is near-black, content blocks are defined by spacing and contrast instead of heavy dividers or boxed containers, keeping the page cinematic and uncluttered.
53
+
54
+ ## 6. Depth & Elevation
55
+
56
+ Depth here is achieved through contrast, not heavy shadow. The light #F2F2F2 pill reads as elevated simply because it's a bright surface lifting off the #111111 ground — the tonal jump does the work a drop shadow normally would. The fully rounded 30px radius on the button softens its edge and reinforces the sense of a discrete, tappable object resting on the dark plane. Keep elevation cues subtle and tonal: let brightness and rounding signal interactivity rather than stacking visible shadow layers.
57
+
58
+ ## 7. Do's and Don'ts
59
+
60
+ ### Do
61
+ - Keep the canvas near-black (#111111) so album art and white type carry the light.
62
+ - Reserve the cyan #00B6E1 for the single most important action.
63
+ - Go big with Work Sans display type for an editorial, poster-like hero.
64
+ - Use the pale #F2F2F2 pill to lift the CTA off the dark ground.
65
+
66
+ ### Don't
67
+ - Scatter the cyan accent across many elements — it loses its punch.
68
+ - Crowd the hero; the dark negative space is part of the brand.
69
+ - Set headings in a color other than white on the dark canvas.
70
+ - Square off the buttons — the soft 30px pill is part of the character.
71
+
72
+ ## 8. Responsive Behavior
73
+
74
+ The blob captures KKBOX at desktop scale, where the hero headline reaches up to 120px in Work Sans. The system's logic — a near-black ground, a single light pill CTA, and a dramatic gap between display and body type — adapts naturally to smaller viewports by scaling the oversized headline down while preserving the same hierarchy and the same generous 16px 48px tap padding on the pill. The download button's 57px height already sits comfortably above a thumb-friendly minimum, so the primary action stays easy to hit on a phone. (Exact mobile breakpoints and resized values were not captured in this inspection; describe responsive intent qualitatively rather than asserting specific small-screen numbers.)
75
+
76
+ ## 9. Agent Prompt Guide
77
+
78
+ When generating KKBOX-flavored UI, lead with the atmosphere: a near-black #111111 canvas, white Work Sans display type at large scale, and exactly one accent — cyan #00B6E1 — held in reserve for the primary action. Build the primary CTA as a light #F2F2F2 pill with #00B6E1 label text, a 30px radius, 57px height, and 16px 48px padding at 18px/500. Set body copy in Helvetica Neue at 14px and keep it quiet. Phrase prompts around restraint: "single cyan accent on a near-black ground," "oversized editorial headline," "soft pill CTA." Avoid asking for additional colors, shadows, or squared corners — the brand's identity lives in the discipline of one accent, one ground, and one bold typeface.
79
+
80
+ ## 10. Voice & Tone
81
+
82
+ KKBOX speaks like a confident host of a premium listening room — calm, music-forward, and unhurried. The tone is more cinematic than promotional: it trusts the work (the music, the art) to do the persuading, so copy stays clean and direct rather than shouty. Calls to action are simple and singular, matching the interface's one-accent discipline. The voice carries the assurance of a pioneer who's been doing this longer than most, without needing to say so loudly.
83
+
84
+ ## 11. Brand Narrative
85
+
86
+ KKBOX is Taiwan's pioneering music-streaming service, the audio flagship of the KKCompany group. Its story is one of being first and staying premium — a service that helped define what streaming felt like in its region and has carried a refined, design-led sensibility ever since. The near-black canvas, the singular cyan accent, and the editorial display type all tell the same story: this is a brand that treats music as the main event and the interface as a quiet, cinematic frame around it.
87
+
88
+ ## 12. Principles
89
+
90
+ - **One accent, used with intent** — the cyan #00B6E1 appears where decisions happen, never as decoration.
91
+ - **Darkness as a stage** — the #111111 ground exists to make music, art, and white type glow.
92
+ - **Editorial scale** — oversized Work Sans display type gives every page a poster's confidence.
93
+ - **Calm over clutter** — generous spacing and soft pills keep the experience premium and unhurried.
94
+
95
+ ## 13. Personas
96
+
97
+ - **The Headphone Listener** — wants an immersive, distraction-free space to discover and play music; rewarded by the cinematic dark canvas and uncluttered hero.
98
+ - **The Returning Subscriber** — values a premium, dependable service from a regional pioneer; the singular clear CTA makes the next action obvious.
99
+ - **The Design-Conscious Browser** — appreciates editorial typography and restraint; drawn in by the oversized Work Sans display type and the disciplined single accent.
100
+
101
+ ## 14. States
102
+
103
+ The captured inspection documents the download button's default (resting) state: an #F2F2F2 pill with #00B6E1 label text, 30px radius, 57px height, and 18px/500 type on the #111111 ground. Hover, pressed, focus, and disabled states were not captured in this live inspection, so they are intentionally left undocumented rather than invented. For consistency, any future interactive states should stay within the same palette — adjusting the pill's brightness or the cyan's intensity rather than introducing new hues — to preserve the one-accent discipline.
104
+
105
+ ## 15. Motion & Easing
106
+
107
+ No motion timings, durations, or easing curves were captured in this inspection, so none are asserted here. In keeping with the brand's calm, cinematic character, any motion should feel unhurried and smooth — gentle transitions that match the premium, music-forward atmosphere rather than snappy or playful animation. Treat motion as the brand treats color: sparingly and with intent.
108
+
109
+ ---
110
+ **Verified:** 2026-06-01
111
+ **Tier 1 sources:** https://www.kkbox.com (live homepage — colors, typography, download button), https://www.kkcompany.com (KKCompany group brand site), https://github.com/KKBOX (brand-owned engineering org)
112
+ **Tier 2 sources:** getdesign.md/kkbox — NOT LISTED. refero — not listed.
113
+ **Conflicts unresolved:** none
114
+ **Proof:** see .verification.md (## Proof block)
@@ -0,0 +1,230 @@
1
+ ---
2
+ id: krafton
3
+ name: "KRAFTON"
4
+ country: KR
5
+ category: consumer-tech
6
+ homepage: "https://www.krafton.com"
7
+ primary_color: "#000000"
8
+ logo:
9
+ type: favicon
10
+ slug: "https://www.google.com/s2/favicons?domain=krafton.com&sz=256"
11
+ verified: "2026-06-03"
12
+ omd: "0.1"
13
+ ---
14
+
15
+ # KRAFTON
16
+
17
+ KRAFTON is a South Korean game publisher and developer whose digital identity is built entirely in monochrome — deep black surfaces carry white type and logotypes while a proprietary KRAFTON typeface, Zalando Sans Expanded, and Poppins work in concert to communicate ambition at cinematic scale.
18
+
19
+ ## 1. Visual Theme & Atmosphere
20
+
21
+ KRAFTON's corporate site operates as a dark-mode-first canvas where the page body is assigned the class `Bg-black`, the footer background is `#000000`, and the cookie-consent overlay uses `#0a0a0a`. This near-total blackness is not merely decorative; it positions each game property and studio card as a self-contained illuminated world against the void, echoing the brand's "Pioneer the Undiscovered" manifesto. The rare white surface — appearing only on inner article pages — feels like daylight breaking through. Motion is purposeful and cinematic: content tiles ascend 100px with an opacity fade over 0.8 s (ease-out), hero backgrounds reveal themselves in a 0.4 s parallax bloom with a 0.2 s delay, and a 5px diagonal-skewed progress bar crowns the header on scroll. Typography scales dramatically between breakpoints — a 140px custom-font logotype on desktop collapses gracefully through responsive vw units, maintaining the feeling of largeness even on mobile. Hover interactions on text links extend a thin 2px underline from left to right over 0.3 s, lending restraint to a design that could otherwise feel aggressive.
22
+
23
+ ## 2. Color Palette & Roles
24
+
25
+ - **Brand Black:** `#000000` — primary background (homepage, footer, header bar, mega-menu backdrop)
26
+ - **Site Black:** `#0a0a0a` — cookie-consent bar background; near-black alternate
27
+ - **Dark Surface:** `#393939` — footer divider lines, dark-mode border, footer header background
28
+ - **Body Background:** `#ffffff` — inner page (article/single) background
29
+ - **Body Text:** `#555555` — default body copy color
30
+ - **Content Text:** `#222222` — rich-text body, table data
31
+ - **Mid Gray:** `#777777` — secondary labels, nav hover (Bg-black context)
32
+ - **Muted Gray:** `#ADADAD` — input placeholder text
33
+ - **Disabled Gray:** `#DDDDDD` — scrollbar track, disabled borders
34
+ - **Alert Red:** `#ED2929` — required-field markers and error states (`#E84847` alternate)
35
+ - **Link Blue:** `#3D7FD9` — inline hyperlink color in article content
36
+ - **White Text:** `#ffffff` — all text on black/dark surfaces including nav, footer copy
37
+
38
+ ## 3. Typography Rules
39
+
40
+ KRAFTON uses a four-family hierarchy. "KRAFTON" is a proprietary display face used exclusively for the 140 px hero logotype (single weight, normal style). "Zalando Sans Expanded" (weights 200–900, hosted via Google Fonts and self-hosted woff2) serves editorial and marketing headings — the vision tagline "PIONEER THE UNDISCOVERED" and core values use this face in a large, expanded treatment. "Poppins" (weights 400/500/700) covers all navigation, download buttons, footer links, and language selectors. "Noto Sans" / "Noto Sans KR" / "Noto Sans SC" (weights 300/400/500/700) covers Korean, Chinese, and Japanese body copy globally.
41
+
42
+ Base body: 14 px / 1.7 line-height, `#555555`, weight 400, word-break: keep-all.
43
+ PageHeader title: 70 px bold, color `#000` (light pages).
44
+ Hero large logotype: 140 px, font-family "KRAFTON".
45
+ Article/Single body: 16 px / 1.9, H1 1.30em, H2 1.24em, H3 1.18em.
46
+ Navigation: Poppins, default 18 px on hamburger button, weight 600.
47
+ Language selector links: Poppins 13 px, color `#A2A2A2`.
48
+ Footer copyright: Poppins 12 px, `rgba(255,255,255,0.4)`.
49
+
50
+ ## 4. Component Stylings
51
+
52
+ ### Download Button
53
+
54
+ **Primary (White Background)**
55
+ - Background: `#ffffff`
56
+ - Text: `#000000`
57
+ - Border: 2px solid `#000000`
58
+ - Padding: 8px 43px 8px 15px
59
+ - Font: 14px / 700
60
+ - Transition: background-color 0.1s
61
+
62
+ **Hover (Inverted)**
63
+ - Background: `#000000`
64
+ - Text: `#ffffff`
65
+ - Border: 2px solid `#000000`
66
+ - Transition: background-color 0.1s
67
+
68
+ ### Search Input
69
+
70
+ **Default**
71
+ - Background: `#ffffff`
72
+ - Text: `#222222`
73
+ - Border: 2px solid `#000000`
74
+ - Height: 46px
75
+ - Padding: 12px 20px
76
+ - Font: 15px / 500
77
+
78
+ **Placeholder**
79
+ - Text: `#ADADAD`
80
+ - Font: 15px / 500
81
+
82
+ ### Tab Navigation (ThirdDepthTab)
83
+
84
+ **Default Tab**
85
+ - Background: `#f7f7f7`
86
+ - Text: `#000000`
87
+ - Font: 19px / 500
88
+ - Height: 2.4em
89
+
90
+ **Active Tab**
91
+ - Background: `#000000`
92
+ - Text: `#ffffff`
93
+ - Font: 19px / 700
94
+
95
+ ### Download Link (Text + Underline)
96
+
97
+ **Default**
98
+ - Text: `#222222`
99
+ - Font: 15px / 500
100
+ - Underline: linear-gradient(`#000000`,`#000000`) 0 2px, width 0
101
+ - Transition: background-size 0.2s ease-out
102
+
103
+ **Hover**
104
+ - Underline: expands to 100% 2px
105
+
106
+ ---
107
+ **Verified:** 2026-06-03
108
+ **Tier 1 sources:** https://www.krafton.com (homepage HTML + inline CSS), https://www.krafton.com/wp-content/themes/krafton/style.css, https://www.krafton.com/wp-content/themes/krafton/assets/css/component.css, https://www.krafton.com/wp-content/themes/krafton/assets/css/header.css, https://www.krafton.com/wp-content/themes/krafton/assets/css/footer.css, https://www.krafton.com/wp-content/themes/krafton/assets/css/page.css, https://www.krafton.com/about/brandcenter/, https://www.krafton.com/en/about/vision/
109
+ **Tier 2 sources:** getdesign.md/krafton — NOT LISTED (0 DESIGN.md files). refero — no result for KRAFTON KR.
110
+ **Conflicts unresolved:** none
111
+
112
+ ## 5. Layout Principles
113
+
114
+ The site uses a max-width 1280px centered container with 40px horizontal padding on desktop (`.site-container`). The header container uses proportional `4.11458vw` gutters to stay edge-aligned. At breakpoints 1300–1025 px the container shifts to `98.461vw` max-width, at 1024–768 px it becomes full-width with `2.607vw` padding, and below 767 px padding expands to `4.25vw–6.25vw`. The homepage body (`Bg-black`) has `overflow:hidden` to contain parallax video backgrounds. Inner pages receive `padding-top: 220px` to clear the sticky header. Mega-menu columns use a `table`/`table-cell` layout pattern consistent with a pre-flex-era codebase. Bottom-margin utility classes step in increments of 5–10 px from 15 px to 140 px, providing the spacing rhythm.
115
+
116
+ ## 6. Depth & Elevation
117
+
118
+ KRAFTON does not use drop shadows for component elevation. Depth is expressed instead through two mechanisms: (1) dark background bleed — game and studio cards appear as self-lit images floating on the black void, creating apparent foreground/background separation without shadows; (2) the `SiteHeaderBar`, a 5px diagonal-skewed element at the top of the header viewport that changes from `#000` to `#fff` (on Bg-black pages) when the user scrolls (`is-View` state), creating a subtle kinetic highlight. The cookie-consent overlay uses `background-color: rgba(0,0,0,0.64)` to produce a scrim; popups use `rgba(0,0,0,0.5)`. No box-shadow declarations appear in the brand's own CSS files.
119
+
120
+ ## 7. Do's and Don'ts
121
+
122
+ ### Do
123
+ - Use the KRAFTON custom font for hero-scale logotype moments at 140 px or above
124
+ - Set all major page backgrounds to `#000000`; reserve `#ffffff` for body-copy pages only
125
+ - Apply Poppins for all Latin navigation, buttons, and footer links
126
+ - Use Noto Sans KR/SC/JP for any East Asian body copy to honour the multi-locale character set
127
+ - Animate content entrance with a combined translateY(100px) → translateY(0) + opacity 0 → 1 over 0.8 s ease-out
128
+ - Use a 2px solid `#000000` border as the default frame for interactive white-surface components (search, download buttons)
129
+ - Scale typography proportionally using vw units between breakpoints to preserve the cinematic headline feeling
130
+
131
+ ### Don't
132
+ - Do not introduce drop-shadow on cards or containers — the brand achieves depth without shadows
133
+ - Do not use coloured CTAs; brand buttons are strictly black-on-white or white-on-black
134
+ - Do not mix the KRAFTON display font with body-weight copy — it is reserved for large-scale display only
135
+ - Do not break the max-width 1280px container with full-bleed section content without a dedicated full-bleed block pattern
136
+ - Do not use font-weight below 300 in navigation or body contexts
137
+ - Do not add border-radius to buttons or interactive controls — the brand uses sharp 0 px corners throughout
138
+
139
+ ## 8. Responsive Behavior
140
+
141
+ Four explicit breakpoint ranges are defined in CSS:
142
+
143
+ | Range | Container max-width | H. padding | Heading size |
144
+ |---|---|---|---|
145
+ | ≥ 1301 px | 1280 px | 40 px | 70 px |
146
+ | 1025–1300 px | 98.46 vw | 3.48 vw | 5.38 vw |
147
+ | 768–1024 px | 100% | 2.61 vw | 5.08 vw |
148
+ | ≤ 767 px | 100% | 4.25–6.25 vw | 10.38 vw |
149
+
150
+ The hamburger menu (`SiteHeaderMapButton`) is hidden at ≥1025 px with `opacity:0; visibility:hidden`. The mega-menu transforms from horizontal columns to full-screen mobile panels. Typography vw scaling means the 140 px hero becomes ~16.77 vw on mobile (≈108 px on 375 px screen). Video hero panels (`KeyVisualVideoBox`) use an `opacity:0.6` black overlay (`#000`) that persists across all breakpoints. ThirdDepthTab collapses into an accordion on mobile.
151
+
152
+ ## 9. Agent Prompt Guide
153
+
154
+ When building KRAFTON-style UI: set `background:#000; color:#fff` on all primary surfaces. Use `font-family:"Zalando Sans Expanded", sans-serif` at 600–800 weight for display headings; use `font-family:"Poppins", sans-serif` at 500 for nav links and buttons; use `font-family:"Noto Sans","Noto Sans KR", sans-serif` at 400 for body Korean copy. Buttons are rectangular with `border:2px solid #000; background:#fff; color:#000` and invert to `background:#000; color:#fff` on hover with `transition:background-color 0.1s`. Entrance animations use `transform:translateY(100px); opacity:0` transitioning to `transform:translateY(0); opacity:1` over `0.8s ease-out`. Text-link hover uses a pseudo-element underline that scales from 0 to 100% width over `0.3s ease-out`. All border-radius values are 0. No box-shadows. If generating game cards, place imagery on `#000` with no visible frame — let the image be the only light source.
155
+
156
+ ## 10. Voice & Tone
157
+
158
+ **Adjectives:** pioneering, cinematic, direct
159
+
160
+ | Do | Don't |
161
+ |---|---|
162
+ | Speak in ambitious imperatives: "Pioneer the Undiscovered." | Soften with hedges: "We try to push boundaries." |
163
+ | Lead with the vision, then back with craft detail. | Over-explain the technology before the emotional promise. |
164
+ | Use present tense for values: "Fans are at the center." | Use passive constructions: "Fans are being considered." |
165
+ | Short sentences that land hard. | Long compound sentences that dilute impact. |
166
+
167
+ Voice samples (illustrative):
168
+ - *Illustrative:* "We pioneer the path to players' dreams. With bold imagination and breakthrough technology, we create unforgettable worlds for fans across the globe."
169
+ - *Illustrative:* "PIONEER THE UNDISCOVERED — our vision is not a destination. It is the act of moving into uncharted territory and making it a world worth living in."
170
+ - *Illustrative:* "Deep thinking and meticulous groundwork fuel our success. We don't rush into the undiscovered; we prepare to own it."
171
+
172
+ ## 11. Brand Narrative
173
+
174
+ KRAFTON was founded in 2007 as Bluehole Studio, a small Korean game development company whose first major title, TERA, established a reputation for ambitious massively multiplayer experiences. Over the following decade the studio portfolio grew into a holding structure; in 2018 the parent company renamed itself KRAFTON — a compound that emphasises the act of crafting — to reflect its role as a creator of original intellectual property rather than a portfolio of acquired products.
175
+
176
+ The global moment arrived in 2017 with PUBG: Battlegrounds, which reached over 75 million copies sold and became a defining cultural touchstone for the battle-royale genre. KRAFTON went public on the Korea Stock Exchange in 2021, deploying that capital into studios across North America, Europe, and India. The studio network now spans PUBG Studios, Bluehole Studio, Striking Distance Studios, Unknown Worlds, Neon Giant, and more than a dozen additional teams creating games ranging from survival-horror to life-simulation.
177
+
178
+ The brand's governing philosophy is stated simply: "Pioneer the Undiscovered." This is not merely a tagline — it operationalises as five internal values: Aim for Bold Objectives, Depth Builds the Edge, Imagination + Technology, Fan-First Thinking, and Embrace Global Perspectives. Every product launch and communication is measured against whether it advances territory that has not been claimed before.
179
+
180
+ ## 12. Principles
181
+
182
+ 1. **Pioneer the Undiscovered** — seek problems no competitor has solved and genres no studio has fully defined. *UI implication:* Do not follow platform conventions blindly; introduce distinctive interaction patterns where the genre expects them least.
183
+
184
+ 2. **Depth Builds the Edge** — deep research and meticulous groundwork underpin every creative decision. *UI implication:* Design systems must account for every state, edge case, and locale before shipping; shallow prototypes are not shippable artefacts.
185
+
186
+ 3. **Imagination + Technology** — fuse creative vision with engineering capability. *UI implication:* Motion and micro-interaction must be intentional and technically precise, never decorative noise; every animated element should have a measurable purpose.
187
+
188
+ 4. **Fan-First Thinking** — fans drive every decision from discovery to long-term retention. *UI implication:* Reduce friction on discovery surfaces (game listings, studio pages) so players can reach content within one or two interactions; information hierarchy privileges experience over brand-speak.
189
+
190
+ 5. **Embrace Global Perspectives** — the brand operates across KR, EN, ZH, and JA locales simultaneously. *UI implication:* All typographic and layout decisions must degrade gracefully across character sets; reserve pixel-perfect vw scaling for Latin text and test all display scenarios in Korean first.
191
+
192
+ ## 13. Personas
193
+
194
+ *Illustrative Competitive Gamer — "Seungjae":* A 24-year-old Korean PC-bang regular who monitors PUBG patch notes daily and filters the KRAFTON careers page for gameplay engineer roles. He reads the studio subpages to understand the technical depth behind favourite titles.
195
+
196
+ *Illustrative Global IP Fan — "Mia":* A 29-year-old based in São Paulo who discovered KRAFTON through PUBG Mobile and has since explored the Callisto Protocol and inZOI. She browses the games listing in English, using language selector prominently, and follows KRAFTON's Instagram for behind-the-scenes glimpses.
197
+
198
+ *Illustrative Investor Analyst — "David":* A 40-year-old institutional equity analyst in Hong Kong who tracks KRAFTON's IR page for quarterly earnings, share buyback announcements, and ESG disclosures. He needs dense information accessed in two clicks.
199
+
200
+ *Illustrative Indie Developer — "Yuki":* A 27-year-old Japanese developer studying the KRAFTON studios ecosystem to understand what kinds of team they might acquire. She reads the "Our Challenges" history page looking for signals about cultural fit and creative autonomy.
201
+
202
+ ## 14. States
203
+
204
+ - **Empty:** Cards render as black-background placeholders with no content message; absence of game image signals "coming soon" implicitly through a darkened aspect-ratio box
205
+ - **Loading (image):** `img[data-src]` elements carry `opacity:0` until the browser resolves `src`, at which point `opacity:1` transitions via CSS
206
+ - **Error (form):** Required fields highlighted with `color:#ED2929` on label; no border-color change observed in source CSS
207
+ - **Error (link/status):** Alert-red `#E84847` / `#ED2929` applied as `.text-red` utility to error messaging in body copy contexts
208
+ - **Success:** Positive states use `color:#3D7FD9` (`.text-blue`) as affirmation colour in forms and news status labels
209
+ - **Skeleton / Appear:** `.a-Opacity` applies `opacity:0; transition:opacity 1.6s ease-out` until `.is-Opacity` is added; `.a-OpacityTop` applies `opacity:0; transform:translateY(100px); transition:transform, opacity 0.8s ease-out` with JS adding `.is-OpacityTop` to reveal on scroll
210
+ - **Disabled:** `.is-Disable` applies `opacity:0.3` with `cursor:default` on anchor children and removes TextHoverLine underline animations
211
+ - **Active Tab:** `background-color:#000000; color:#ffffff; font-weight:bold` on `.ThirdDepthTab-item.is-Current .ThirdDepthTab-link`
212
+
213
+ ## 15. Motion & Easing
214
+
215
+ | Token | Value |
216
+ |---|---|
217
+ | Fade-in duration | 1.6 s |
218
+ | Slide-up duration | 0.8 s |
219
+ | Hover (button BG) | 0.1 s |
220
+ | Hover (underline / download link) | 0.2–0.3 s |
221
+ | Parallax appear | 0.4 s (delay 0.2 s) |
222
+ | Default easing | `ease-out` |
223
+ | Parallax easing | `ease` |
224
+
225
+ Rules:
226
+ - All on-scroll entrance animations use `ease-out` to communicate confident arrival
227
+ - Hover micro-interactions target 0.1–0.3 s to feel immediate without being abrupt
228
+ - No entrance animation should use `ease-in` (elements never struggle to appear)
229
+ - The progress bar in the header uses a skew transform with `transition-property:background-color; transition-duration:0.2s` — keep this as the only element using colour transition on header scroll
230
+ - Parallax video backgrounds use `animation-fill-mode:forwards` to hold the final opacity:1 state without a reversal
@@ -380,3 +380,21 @@ The brand's motion logic mirrors its voice: minimal, factual, time-boxed. Moveme
380
380
  **Tier 2 (verified empty 2026-05-14):**
381
381
  - `getdesign.md/kream` — no record
382
382
  - `styles.refero.design/?q=kream` — no match
383
+
384
+ ## 16. Do's and Don'ts
385
+
386
+ ### Do
387
+ - Keep the chrome on the grayscale ramp, using `#222` as primary ink and reserving `#000` for the H1 display token only
388
+ - Signal active state by weight, not hue — active tab and selected control go to `700` while inactive stays `400`, both on `#222`
389
+ - Map every corner radius to its card class: 16px banner/merchandising tile, 30px filter chip, 8px ghost button, 6px row/category card
390
+ - Let full-bleed product photography on the `#f5f5f5` banner card carry all the color, keeping all surrounding chrome neutral
391
+ - Lead promotional copy with the number (`~33% 할인`, `3% 적립`) and time-box every offer with a window tag (`이번 주`, `5월 브랜드 위크`)
392
+ - Run Pretendard Variable across the whole stack on the documented scale — 32px/700 display, 24px/700 search query, 16px body, 13px chips
393
+
394
+ ### Don't
395
+ - Introduce a branded accent fill or selected-state color — the system is designed to never need one, and color would fight the product image
396
+ - Spread the lone `rgb(17, 161, 151)` watch teal beyond rare price-watch signaling, or treat the Swiper `#007aff` library default as a usable brand color
397
+ - Blend radii or use a corner radius unmapped to a card class (e.g. a banner that is not 16px or a filter chip that is not 30px)
398
+ - Add shadows, gradients, or decorative chrome iconography — the home surface deliberately has none
399
+ - Use size to signal active state where weight should — body and active tab both sit at 16px, so only the 400→700 weight jump should change
400
+ - Lead with adjectives (`특별한 할인`), leave offer windows open-ended, or quote/italicize English brand names like `"Nike"`