Lezhin
Lezhin
lezhin
Design System
Lezhin logo

Lezhin

Lezhin Comics presents a dark, immersive canvas that keeps the spotlight firmly on cover art and episode thumbnails. The interface uses a deep near-black base (#111115) punctuated by a single vivid crimson (#eb0014) that signals every interactive action — from primary buttons to the switch-selected state and the badge on adult content. Grey neutrals (`#e

01

Color Palette

Accent

Neutrals

Semantic

02

Typography

Type Scale

Rendered in system-ui to clearly show scale & weight.

display48px · 600 · 1.25
Design at scale
32px32px · 600 · 1.25
Section heading
heading-lg24px · 600 · 1.4
Subheading
body16px · 400 · 1.5
Body text. The quick brown fox jumps over the lazy dog. Designed for readable line-height in long-form content.
small12px · 400 · 1.5
Supporting text
caption12px · 400 · 1.5
Caption · timestamp · 2026
label10px · 500 · 1.5
BADGE / LABEL

Fonts

Primary
Inter
Open · OFL
Designed by Rasmus Andersson. Variable font with full weight range.
Install via Google Fonts
03

Spacing & Shape

Spacing

PurposeValuePreview
Densitycompact
Base unit4px
Section gap32px
Card padding16px
Element gap12px

Border Radius

ElementValuePreview
buttons4px
inputs4px
cards4px
dialogs4px
badges4px
circleCircle50%

Elevation

Level 2
04

Guidelines

Do and Don't guidelines parsed from DESIGN.md.

Do

  • Use #eb0014 exclusively for the single highest-priority CTA per screen
  • Apply Pretendard (or Noto Sans KR fallback) — never substitute decorative display fonts
  • Follow the exact button-height ladder: 28px (xs) / 40px (sm) / 48px (md) / 56px (lg)
  • Use the pill chip (border-radius: 999px) for filterable genre or tag selectors
  • Maintain 4px radius on cards and rectanglular buttons for the characteristic sharp-yet-soft look
  • Use the skeleton shimmer (lzSkeleton — 1.8s ease-in-out infinite) during async content loads
  • Reserve the AI gradient (#4CECBE → #00BFE2 → #007EE0) only for AI-feature UI accents

Don't

  • n't use red for destructive warnings — Lezhin's red is a brand/action signal, not a danger signal
  • n't mix primary and secondary CTAs at equal visual weight on the same card or row
  • n't apply border-radius larger than 12px on rectangular interactive components (chips and avatars are exempt)
  • n't place light-mode text (#111115) directly on the dark surface (#111115) — toggle to inverted tokens
  • n't hard-code pixel color values — always reference the semantic CSS variable so dark-mode tokens apply correctly
  • n't add decorative illustration or icon embellishments inside buttons
05

Components

Buttons

Primary (lzButtonPrimary / lzBtn--filled_red)
Background`#eb0014`
Text`#ffffff`
Bordernone
Radius4px
Padding0 12px
Font14px / 600
Height48px
Primary Large
Background`#eb0014`
Text`#ffffff`
Bordernone
Radius4px
Padding0 16px
Font16px / 600
Height56px
Secondary (lzButtonSecondary / lzBtn--filled_bw)
Background`#222225`
Text`#ffffff`
Bordernone
Radius4px
Padding0 12px
Font14px / 600
Height48px
Tertiary (lzButtonTertiary / lzBtn--filled_grey)
Background`#f4f4f5`
Text`#36363a`
Bordernone
Radius4px
Padding0 12px
Font14px / 600
Height48px
Outlined (lzBtn--outlined)
Backgroundtransparent
Text`#36363a`
Border1px solid `#a1a1a9`
Radius4px
Padding0 20px
Font14px / 600
Height40px

Cards

Comic Thumbnail Card (lzCard)
Comic Thumbnail Card (lzCard)
Background`#f4f4f5`
Border1px solid `rgba(17,17,21,0.1)`
Radius4px
Aspect ratio2/3 (portrait)
image fills
Circle Thumb Card (lzCardCircleThumb)
Bordertracked ring at 3px stroke
Radius9999px

Chips (lzChip)

Default
Default Chip
Backgroundtransparent
Text`#6f6f77`
Border1px solid `#e9e9ec`
Radius999px
Padding0 12px
Height32px
Selected
Selected Chip
Background`rgba(255,82,84,0.15)`
Text`#c40017`
Border1px solid transparent
Radius999px

Tabs (lzTab)

Default TabOther
Default Tab
Background`rgba(17,17,21,0.04)`
Text`#111115`
Border1px solid `rgba(17,17,21,0.04)`
Radius4px
Padding0 12px
Height36px
Selected TabOther
Selected Tab
Background`rgba(17,17,21,0.95)`
Text`#ffffff`
Radius4px

Related design systems