Fastcampus
Fastcampus
fastcampus
Design System
Fastcampus logo

Fastcampus

Fastcampus (패스트캠퍼스) is the design language of a Korean adult-upskilling marketplace that competes on density, momentum, and rich-color play — a deliberately louder register than Inflearn's calm-mint catalog or Classum's institutional blue chrome. Where Inflearn whispers "lifetime career, no pressure" with a single mint accent on a white page, Fastcampus

01

Color Palette

Brand

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
buttons32px
inputs32px
cards16px
dialogs16px
badges8px
pillPill9999px

Elevation

Subtle
Default
Elevated
Floating
Modal
04

Components

Buttons

Category Pill — Selected (Black)
Background`#000` (`--fds-color-static-black`)
Text`#FFFFFF`
Bordernone
Radius4px
Padding12px 16px
Font14px / 600 / Pretendard Variable
Height40px
Use: Active category in the home/courses category-pill carousel ("전체" when on category-aggregate view).
Category Pill — Unselected (Neutral)
Background`#f5f5f6` (`--fds-color-neutral-30`)
Text`#747678` (`--fds-color-neutral-500`)
Bordernone
Radius4px
Padding12px 16px
Font14px / 600 / Pretendard Variable
Height40px
Use: All non-active category pills ("AI TECH", "AI CREATIVE", "디자인", "영상/3D", …).
Primary CTA — Enrolment (Inferred from `--c-primary` semantic)
Background`#fc1c49` (`--c-primary` / `--fds-semantic-primary-primary`)
Text`#FFFFFF`
Bordernone
Radius4px
Padding12px 24px (inferred from category-pill geometry; matches 40px target height)
Font14-16px / 600 / Pretendard Variable
Hoverbackground `#c9032a` (`--c-primary-darken`)
Activebackground `#c9032a`
Height40-48px
Use: "수강신청 하기", "결제하기", primary enrolment actions on course-detail and cart screens.
Primary CTA — Renewal Skin (Campaign-refresh Inferred)
Background`#d60039` (`--c-primary-darken-renewal`)
Text`#FFFFFF`
Bordernone
Radius4px
Use: Same primary role on seasonal-campaign home skins where the brand swaps to the renewal red.
Primary CTA — Tinted Surface (Inferred from `--fds-semantic-primary-primary-low`)
Background`#ffdad8` (`--fds-semantic-primary-primary-low`)
Text`#fc1c49`
Bordernone
Radius4px
Use: Sale-tag fills, primary CTA hover scrims, "할인 적용중" inline pill.
Carousel Nav — Previous / Next Arrow
Background`rgba(0, 0, 0, 0)` (transparent)
Bordernone
Text / icon color`#171b1f` (`--fds-semantic-label-primary`)
Height32px
Use: Banner carousel arrow controls. Half-pill radius pairs read as a single split surface across the carousel rail.
Carousel Nav — Dots Cluster
Background`rgba(0, 0, 0, 0.2)` (alpha-20 dark scrim)
Text`#171b1f`
Bordernone
Radius19px
Padding0
Height32px
Use: "배너 목록" — the dot-cluster overlay on the carousel.

Cards & Containers

Course Card (Default — Top-Rounded)
Course Card (Default — Top-Rounded)
Backgroundtransparent (thumbnail provides the surface)
Bordernone
Radius`4px 4px 0 0` (top-rounded, bottom flat)
Padding0 (metadata flows below thumbnail in unified card frame)
Shadownone
Use: Course tile on home rails and `/courses` listings. Thumbnail image carries the top half, metadata block sits below.
Course Card — Rank Badge Overlay (NW corner)
Course Card — Rank Badge Overlay (NW corner)
Background`#171b1f` (`--fds-semantic-label-primary`)
Text`#FFFFFF`
Bordernone
Radius`4px 0` (NW corner only)
Padding0 (text-only badge, height 20px)
Font12px / 500 / Pretendard Variable
Height20px
Use: "1위 / 2위 / 3위" rank label on top-ranked course tiles.
Course Card — Enrolment-Count Pill (Below Rank)
Course Card — Enrolment-Count Pill (Below Rank)
Background`rgba(0, 0, 0, 0.3)`
Text`#171b1f` (sampled — appears against a light thumbnail backdrop)
Bordernone
Radius19px
Padding2px 6px
Font16px / 400 / Pretendard Variable
Height24px
Use: "1,940+ / 1,020+" enrolment-count flex — sits below rank badge on top-tier tiles.

Inputs & Forms

Text Input — Search (Inferred from category-page CSS-module pattern)
Background`#FFFFFF` or `#f5f5f6`
Text`#171b1f`
Border1px solid `#cfd0d1` (`--fds-color-neutral-100`) on rest, `1px solid #fc1c49` on focus
Radius4px
Padding0 12px
Font14-16px / 400 / Pretendard Variable
Placeholder`#747678` (`--fds-color-neutral-500`)
Height40px
Use: Course search field in GNB and category-filter rail.
Disabled (Inferred from neutral ladder)
Background`#e7e7e8` (`--fds-color-neutral-50`)
Text`#a0a2a3` (`--fds-color-neutral-300`)
Bordernone
Radius4px
Use: Form-incomplete state on enrolment / payment flows.

Tags & Chips (Inferred from extended hue ramps)

Free
Free / Promo Tag — Yellow
Background`#fff9c4` (`--fds-color-yellow-100`)
Text`#f57f17` (`--fds-color-yellow-900`)
Radius4px
Padding2px 8px
Font12px / 600 / Pretendard Variable
Use: "0원 / 무료 / 사전알림" promotional indicators.
Discount
Discount Tag — Red
Background`#ffdad8` (`--fds-semantic-primary-primary-low`)
Text`#fc1c49` (`--c-primary`)
Radius4px
Padding2px 8px
Font12px / 600 / Pretendard Variable
Use: "최대 25% 할인", "30% 깜짝 쿠폰" sale flags.
Category
Category Tag — Blue (Dev / Data)
Background`#ebf3ff` (`--fds-color-blue-50`)
Text`#3b83ff` (`--fds-color-blue-500`)
Radius4px
Padding2px 8px
Font12px / 600 / Pretendard Variable
Use: Developer / data category tags on course tiles.
Category
Category Tag — Pink (Design / Creative)
Background`#fce4ec` (`--fds-color-pink-50`)
Text`#e91e63` (`--fds-color-pink-500`)
Radius4px
Padding2px 8px
Font12px / 600 / Pretendard Variable
Use: Design / creative category tags.
spec only
Tier 1 sources:
spec only
Tier 2 sources: