Class101
Class101
class101

Class101's reference documents #FF5D00 as a documented primary color, Pretendard Variable for typography, 8px corner radius. Class101 is an online learning marketplace and subscription service.

Primary
#FF5D00
Typography
Pretendard Variable
Radius
8px

Evidence snapshot

verified v2
Claims grounded
111/111 · 100%
Sources
3 surfaces · 6 sources
UI font basis
frontmatter · high
Components
11 documented · 9 interactive

Not backed by evidence

  • Component states are described in prose, not given per-state values
Design System
Class101 logo

Class101

Class101 is an online learning marketplace and subscription service. Its public CLASS101+ material describes a subscription that lets members use a range of existing Class101 content, while the official creator centre presents classes and products across hobbies, work skills, and side projects. The captured Korean home is a white, typographic storefront: black and near-black text dominate, with a small #FF5D00 orange accent appearing in home-title text. Its live web interface uses Pretendard Variable and compact, neutral controls rather than a captured public design-system token set. The current record deliberately separates that product surface from the terms and privacy pages, whose legal-document chrome is evidence for those pages only.

01

Color Palette

Brand

Neutrals

02

Typography

Type Scale

Verified size, weight, line-height, and tracking. Family is omitted when unresolved.

display40px · 800 · 1.25
Home display heading
28px28px · 700 · 1.29
Observed h1
26px26px · 700 · 1.38
Observed h2
body18px · 400 · 1.67
Observed reading text
16px16px · 400 · 1
Computed on the home control and tab roots, which carry the inherited body type; their visible labels were not sampled separately (corrected 2026-09-30)

Fonts

sans
Pretendard Variable
Open · OFL
Live webfont loaded in preview
Modern Korean variable font with full Latin coverage.
Install via GitHub · orioncactus/pretendard
03

Spacing & Shape

Spacing

PurposeValuePreview
xs4px
sm8px
md12px
lg24px
xl36px

Border Radius

ElementValuePreview
lgStructured token12px
mdStructured token8px
smStructured token4px
04

Guidelines

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

Do

  • Reuse the confirmed Pretendard Variable family when reproducing the captured web surface.
  • Keep product-home evidence distinct from legal-document chrome.
  • Treat #FF5D00 as an observed orange title accent, not as evidence for an all-purpose action color.

Don't

  • n't restore the legacy black CTA, orange CTA, semantic state colors, or hover shadows without new surface evidence.
  • n't treat declared system-font fallbacks as loaded Class101 font assets.
  • n't infer hover, focus or pressed variants from this capture: it holds no pointer-state frame. The legal-document tab's selected state is the one recorded variant.
05

Components

Cards

image fills
content-card
Text#ffffff
Text style18px / 700 / Pretendard Variable
size240px x 147px
states52 captured at rest on home; no state frame
Use: Home content card (a.css-1lalw83) at home::[data-omd-capture="30"]; text colour and font are the child h3[data-testid="title"] (208 px wide, line height 22px, tracking -0.288px). The anchor computes no fill and 0px radius and its image was not captured, so no fill or radius is declared

Buttons

header-accent-link
Backgroundtransparent
Text#ff5d00
Text style20px / 700 / Pretendard Variable
size179px x 26px
statesone captured at rest on home; no state frame
Use: Home header link (a.css-b70msd) at home::[data-omd-capture="1"]; text colour and font are its two-character child h3[data-testid="title"] (line height 26px, tracking -0.36px), one of the three orange title samples
header-category-button
Backgroundtransparent
Textrgba(55, 55, 55, 0.8)
Text style18px / 500 / Pretendard Variable
size87px x 22px
statesone captured at rest on home; no state frame
Use: Home header button (css-1hvtp3b) at home::[data-omd-capture="2"]; text colour and font are the child h3[data-testid="title"] (five characters, matched by top offset and text length; line height 22px, tracking -0.288px)
home-nav-button
Backgroundtransparent
Radius8px
size108px x 38px
stateseleven captured at rest on home; no state frame
Use: Home category button (css-bzjpx5) at home::[data-omd-capture="6"]. The root computes #000000 / 16px / 400 with line height normal, and no child label was captured, so no label style is declared
home-outlined-button
Backgroundtransparent
Border1px rgba(255, 255, 255, 0.298)
Radius12px
Padding14px 13px
statescaptured at rest on home (captures 28 and 86, 240 px wide; capture 95 has the same outline at 121 px); no state frame
Use: Home outlined button (css-67lr3i) at home::[data-omd-capture="28"]. The root computes #000000 / 16px / 400 and no child label was captured, so no label style is declared
list-row-button
Backgroundtransparent
size600px x 62px
statesfive captured at rest on home; no state frame
Use: Home list row button (css-1hvtp3b) at home::[data-omd-capture="88"]; the root computes the inherited #000000 / 16px / 400 and no child label was captured
showcase-list-button
Backgroundtransparent
Text style20px / 700 / Pretendard Variable
size300px x 134px
statesfour captured at rest on home (captures 82-85). One title computes #0c0c0c and the other three rgba(55, 55, 55, 0.8); no aria-selected is recorded and nothing else in the capture names the active one, so neither a text colour nor a selected style is declared. No state frame
Use: Home showcase list button (css-vf38px) at home::[data-omd-capture="82"]; the font is the child h3[data-testid="title"] (260 px wide, line height 26px, tracking -0.36px)
tinted-button
Backgroundrgba(0, 0, 0, 0.03)
Radius8px
Padding10px
statescaptured at rest twice on home: header link capture 5 (62 px wide) and footer button capture 96 (74 px wide); no state frame
Use: Tinted compact button at home::[data-omd-capture="5"]; the root computes the inherited #000000 / 16px / 400 and no child label was captured

Tabs

TabTabTab
home-tab
Backgroundtransparent
Radius0px
size97px x 44px
statesten captured on home, every one aria-selected="false" (compared as a string), so no selected style is declared; no state frame
Use: Home tab (div role=tab, css-12n7wd0) at home::[data-omd-capture="7"]. Its colour and type equal the inherited body text (#000000, 16px / 400 / 16px), so it is a container and no label style is declared
TabTabTab
legal-document-tab
Backgroundtransparent
Textrgba(55, 55, 55, 0.8)
Border1px transparent
Radius0px
Padding12px 0px 10px
Text style18px / 700 / Pretendard Variable
selectedborder 1px #0c0c0c (bottom side), fg #0c0c0c
statesfive tabs per legal page; the one with aria-selected="true" (giftcard capture 2, privacy capture 1, compared as a string) computes a #0c0c0c bottom border and a #0c0c0c label, and the four with "false" keep a transparent 1px bottom border and a rgba(55, 55, 55, 0.8) label. Both pages agree. No state frame
Use: Legal-document tab (button role=tab) at surface-2::[data-omd-capture="0"]; the root computes #000000 / 16px / 400 and the label is its child h3 (line height 22px, tracking -0.288px). Document chrome, not product navigation

List items

legal-list-item
legal-list-item
Backgroundtransparent
Text#0C0C0C
Padding0px 0px 0px 24px
Text style16px / 400 / Pretendard Variable
Use: Observed official privacy-document list item only

Related design systems