그리팅 심볼 그리팅 Doodlin UI · 46 cards 면접 준비됨
그리팅

채용 관리 SaaS · 기업 채용 담당자

밀도 높고, 조용하고, 사무적이다

흰 바탕에 1px 헤어라인으로 구획을 나누고, 유채색은 브랜드 파랑과 상태색뿐이며, 구조 요소는 전부 무채색 알파 오버레이다.

컴포넌트 60그룹 스토리 123개 테마당 색 265개 아이콘 316종 이징 1개 spacing 토큰 0개
지원자 48 2023. 08. 31
  • 김서 김서연1월 12일 (목) 오전 9:00 ~ 오전 10:00 면접 준비됨
  • 박지 박지훈1월 12일 (목) 오전 11:00 ~ 오후 12:00 요청됨
  • 이수 이수민1월 11일 (수) 오후 2:00 ~ 오후 3:00 변경 요청
  • 정하 정하늘1월 10일 (화) 오전 9:00 ~ 오전 10:00 완료

InterviewColor — 면접 진행 상태가 SystemColor 와 동급의 시맨틱 그룹으로 선언돼 있다.

01

Brand

5장

두들린은 회사, 그리팅은 제품이다. 마크는 전부 래스터이고 공개 SVG·프레스킷이 없다.

Doodlin wordmarkThe parent company mark — lowercase, rounded, slight lean
두들린 워드마크 — 자산 미수록

소문자·둥근·오른쪽으로 살짝 기운 회사 워드마크다. 두들린 / Doodlin 은 회사, 그리팅 / Greeting 은 제품이며 두 마크를 한 락업으로 합치지 않는다. 이 카탈로그가 싣는 자산은 그리팅 락업과 심볼뿐이라 여기서는 자리만 표시한다.

Brand imageryMarketing gradient and collateral cover — product UI itself uses no imagery
마케팅 표면
진한 파랑 그라디언트 + 인물 사진
제품 UI
이미지 0 — 흰 바탕과 무채색 틴트뿐

마케팅 사이트는 그라디언트와 사진을 쓰지만 제품 UI는 그것을 한 조각도 들여오지 않는다. 그 분리 자체가 이 시스템의 성격이라, 이 프리뷰도 이미지·그라디언트·일러스트를 쓰지 않는다.

Greeting logoSymbol + wordmark lockup — mono and reverse, transparent
그리팅 로고 그리팅 로고 (reverse)
32px 24px 16px holds down to 16px

심볼은 둥글게 손으로 그린 인사하는 손 두들이고, 아이덴티티에서 유일한 일러스트 요소다. 워드마크는 커스텀 레터링이라 Pretendard 가 아니며, UI 타입은 전부 Pretendard 다. 래스터만 공개돼 있으니 인쇄·대형 출력 전에는 SVG 를 요청하고, mono / reverse 쌍 밖으로 다시 그리거나 색을 바꾸지 않는다.

Greeting symbolThe waving-hand doodle, standalone — app icon and compact contexts
그리팅 심볼 심볼 (reverse) 심볼 (무채색 플레이트) 24px 16px

락업이 들어가지 않는 자리 — 파비콘, 아바타, 접힌 사이드바 — 에는 심볼만 쓴다. 컬러 플레이트 위에서는 반전본을 쓰고 여백을 넉넉히 둔다. 두들의 열린 공간이 붙으면 형태가 뭉개진다. 앱 아이콘 플레이트는 radius20 자리다.

Naming두들린 is the company, 그리팅 is the product — and how to write both
회사 · 두들린두들린 / Doodlin / (주)두들린
법인명은 (주)두들린, 영문은 Doodlin Corp.
제품 · 그리팅그리팅 / Greeting
제품군은 그리팅 ATS · 그리팅 TRM.

그리팅, 두들린 — 한글 표기가 기본  ·  그리팅 ATS, 그리팅 TRM  ·  Greeting HR, 그리팅HR  ·  두들린 그리팅 (한 락업에 두 이름)

greetinghr.com 은 도메인일 뿐 제품명이 아닙니다. 기능명도 한글이 기본입니다 — 채용 홈페이지 · 인재풀 · 다이렉트 소싱 · 공고 관리 · 지원자 관리 · 면접 일정 조율 · 채용 데이터 분석.

02

Colors

11장

Palette(원시) → Semantic(의미 별칭) 2층 + 라이트/다크 거울. gray 는 값이 뒤집히고 neutral 은 알파라, 시맨틱 이름이 양 테마에서 그대로 작동한다.

Accent ramps500 step of the 12 saturated hues
red500
oklch(0.621 0.238 26.1)
volcano500
oklch(0.640 0.187 37.8)
orange500
oklch(0.729 0.160 60.7)
gold500
oklch(0.782 0.163 74.8)
yellow500
oklch(0.868 0.178 98.0)
lime500
oklch(0.748 0.174 124.7)
green500
oklch(0.717 0.228 141.5)
cyan500
oklch(0.675 0.101 195.0)
blue500
oklch(0.651 0.191 252.8)
ultraviolet500
oklch(0.574 0.185 269.2)
purple500
oklch(0.553 0.160 300.6)
magenta500
oklch(0.642 0.177 349.3)

램프 이름 체계는 Ant Design v4 계열이지만 값은 대부분 다르다 — 12램프 × 10단계 축자 대조에서 29개(24%)만 일치하고 lime · green · cyan · purple · magenta 다섯 램프는 한 값도 겹치지 않는다. 채도 높은 이 램프들은 시맨틱 상태 전용이다.

Blue rampThe brand hue. 24 ramps share this 10-step shape.
50
100
200
300
400
500
brand
600
link
700
800
900

50 oklch(0.974 0.016 227.0) · 500 oklch(0.651 0.191 252.8) · 900 oklch(0.317 0.095 259.4). 각 램프는 50/100/200/300/400/500/600/700/800/900 열 단계를 라이트·다크 양쪽으로 갖고, 24개 램프가 같은 형태를 공유한다.

Brand & Systembrand · link · info · success · warning · danger
brand · blue500
oklch(0.651 0.191 252.8)
link · blue600
oklch(0.548 0.185 256.3)
info · blue500
oklch(0.651 0.191 252.8)
success · green500
oklch(0.717 0.228 141.5)
warning · gold500
oklch(0.782 0.163 74.8)
danger · red400
oklch(0.673 0.214 24.5)

danger 만 500 이 아니라 400 단계를 참조한다. 브랜드 파랑은 1차 액션과 활성 상태 전용이고, 그 외 용도가 관찰되지 않는다.

Dark mirrorThe same semantic names, resolved under [data-theme=dark]
light
primary 텍스트
secondary 텍스트
dark
primary 텍스트
secondary 텍스트

두 패널의 CSS 는 같다 — 바뀌는 것은 neutral 이 검정 알파냐 흰색 알파냐뿐이다. 다크 테마는 별도 팔레트가 아니라 같은 이름의 값 반전이다.

Gray rampOpaque neutrals. Inverts completely in the dark theme.
0
25
50
75
100
200
300
400
500
600
700
800
900

라이트에서 gray0 은 oklch(1.000 0.000 0) 흰색, gray900 은 oklch(0.000 0.000 0) 검정이다. 다크에서는 이 자리가 통째로 뒤집힌다. gray300 oklch(0.640 0.000 0) 만 양 테마에서 같은 값이고, 그래서 반전축의 중심이다.

InterviewColorThe domain-specific semantic group — interview progress encoded as colour
ready · 면접 준비됨
orange500 · oklch(0.729 0.160 60.7)
request · 요청됨
gray300 · oklch(0.640 0.000 0)
complete · 완료
gray200 · oklch(0.805 0.000 0)
changeRequest · 변경 요청
red400 · oklch(0.673 0.214 24.5)
면접 준비됨 요청됨 완료 변경 요청

SystemColor 와 동급의 시맨틱 그룹으로 선언돼 있다. 부록이 아니라 1급 개념이라는 점이 이 시스템의 정체성이고, 범용 UI 프레임워크에는 존재할 이유가 없는 축이다.

Murky in useFill = ramp 100, text = ramp 800 — the tag recipe
murky blue murky green murky gold murky purple murky magenta murky cyan murky red murky orange

bgColor = 램프 100 · color = 램프 800. murkyBlue 는 공개된 두 단계 oklch(0.919 0.029 244.9) / oklch(0.449 0.074 248.6) 를 그대로 쓰고, 500 앵커만 공개된 나머지 램프는 앵커를 베이스·잉크와 섞어 같은 자리를 만든다.

Murky rampsDesaturated twin of every hue — used for tag and label fills
murky red500
oklch(0.637 0.076 8.5)
murky volcano500
oklch(0.612 0.072 27.2)
murky orange500
oklch(0.677 0.063 53.1)
murky gold500
oklch(0.686 0.067 72.6)
murky yellow500
oklch(0.719 0.093 100.6)
murky lime500
oklch(0.639 0.081 126.3)
murky green500
oklch(0.705 0.091 155.0)
murky cyan500
oklch(0.716 0.076 207.7)
murky blue500
oklch(0.659 0.096 247.7)
murky ultraviolet500
oklch(0.648 0.079 281.4)
murky purple500
oklch(0.636 0.092 297.3)
murky magenta500
oklch(0.623 0.061 338.0)

murky 12색은 일반 12색의 저채도 쌍둥이이고 태그·라벨 팔레트를 전담한다. 일반 램프와 합쳐 24개 램프 × 10단계 구조다.

Neutral overlayAlpha, not hex — black in light, white in dark. Every border and surface tint comes from here.
25
0.02
50
0.04
75
0.06
100
0.11
200
0.18
300
0.25
400
0.45
500
0.60
600
0.85

라이트는 oklch(0.000 0.000 0 / α) 검정 알파다. 다크는 같은 α 를 흰색으로 뒤집는다. 알파 값이 양 테마에서 동일하다는 것이 미러 구조의 핵심이고, 그래서 회색을 하드코딩하지 않는다가 이 시스템의 제1 규칙이다.

Borders & surfacesFive border steps, four background tints — all alpha overlays
border1 · neutral75 · 0.06 border2 · neutral100 · 0.11 border3 · neutral200 · 0.18 border4 · neutral400 · 0.45 border5 · neutral500 · 0.60
background1
사이드바
background2
hover · Callout
background3
disabled · Tag
background4
effect2

규칙선은 border2(11%), 입력·outlined 버튼 가장자리는 border3(18%)다. 깊이는 이 4단계 무채색 틴트에서만 오며, 사이드바가 background1(2%) 위에 앉는 그 2% 차이가 시각적 분리의 전부다.

Text coloursprimary 85% · secondary 60% · tertiary 45% · disabled 25%
primary — 지원자 현황 neutral600 · oklch(0.000 0.000 0 / 0.85)
secondary — 응답일: 2023. 08. 31 neutral500 · oklch(0.000 0.000 0 / 0.6)
tertiary — 짧은 글 neutral400 · oklch(0.000 0.000 0 / 0.45)
disabled — 비활성 neutral300 · oklch(0.000 0.000 0 / 0.25)
03

Components

19장

컴포넌트 그룹 60개 / 스토리 123개. prop 표(addon-docs)가 공개돼 있지 않으므로 아래는 prop 시그니처가 아니라 실측된 시각 명세다.

QuestionAnswerThe atom of the applicant review screen

전공학과

산업디자인학과

학력

학사 · 재학기간 2019. 03 ~ 2023. 02

특이사항

보관된 응답 — ArchivedAnswer

ATS/ 하위에 Question · Answer 와 함께 1급 카테고리로 서 있다. “지원자 답변을 어떻게 보여줄 것인가”를 컴포넌트 층에서 규정한 결과물이고, 여기서만 볼 수 있는 컴포넌트다.

RecommendationInfoEmployee-referral panel and recommender row
최민 최민준경영지원팀 · 추천인
한지 한지우RecommenderInfo · 2023. 08. 31

부드럽게 채운 블록이라 보더가 없다 — background2 채움 + radius4 로 끝낸다.

Tag · Badge · Avatar · StatusDotLabels, counts, people and interview state
지원서 면접 일정 채용팀 학력
48912 김서박지이수
면접 준비됨 요청됨 완료

Tag 26px · Badge 20px(radius10 · danger 채움) · Avatar 는 원형이 아니라 radius4 사각형(보더 대신 inset 0 0 0 1px) · StatusDot 6px 원. 사람 얼굴조차 데이터 셀처럼 다룬다.

Table40px header, 48px rows, hairline rules only
No.지원자면접 일정전공학과채용팀상태
01 김서김서연 1월 12일 (목) 오전 9:00 ~ 오전 10:00 산업디자인학과 경영지원팀 면접 준비됨
02 박지박지훈 1월 12일 (목) 오전 11:00 ~ 오후 12:00 컴퓨터공학과 경영지원팀 요청됨
03 정하정하늘 1월 10일 (화) 오전 9:00 ~ 오전 10:00 산업공학과 경영지원팀 완료

헤더 행 40px · 데이터 행 48px · 규칙선은 헤어라인뿐이고 세로선이 없다. With Fixed 스토리처럼 No. 컬럼을 고정하고 좁은 폭은 가로 스크롤로 흡수한다.

Tabs · TabsRail · TooltipHorizontal rail, vertical rail, hover label
지원자 지원서 추천인 면접 일정

Tabs 아이템 28px · radius6 · padding 0 8px · 리스트 gap 4px. 레일 아래 규칙선은 보더가 아니라 한쪽 inset 그림자다. TabsRail 은 Tabs 와 별개인 두 번째 탭 계열이고, Tooltip 래퍼 padding 은 16px 이다.

TextArea · FileBoxComposer with tool row, counter, attachments and actions
공고 내 모든 멤버에게 알립니다.
지원서.pdf128 KB
0/ 50

스토리가 7개로 가장 많은 조합을 갖는 컴포넌트다 — 첨부 + 글자수 + 액션 버튼을 한 박스에 담는 커뮤니케이션 입력이 이 제품의 핵심 화면임을 시사한다. 루트 radius4, 입력 영역 padding 8px 12px 0px, 툴 영역 8px, 파일 행 보더만 border2 로 한 단계 옅다.

FieldsTextField, InputField, select, NumberField, MultiSelect
알림 제목을 입력해주세요.
경영지원팀Suffix
전체 공고
3
면접 일정 공고 선택
disabled

height 56px · radius6 · 1px border3 · 입력 텍스트 item4(18/27) · 라벨 박스 padding 0 16px · 내부 gap 8px. disabled 는 background3 채움 + disabled(25%) 텍스트이고 박스 크기는 유지된다.

SelectionCheckBox, Radio, RadioBox, ToggleSwitch
동의함 지원서 보관 공고 지원자
면접 준비됨
요청됨
면접 일정 알림 보관

CheckBox·Radio 는 16px(radius4 / 100%)이고 라벨 gap 은 8px 이다. ToggleSwitch 만 명명 radius 스케일 밖의 값을 쓴다 — 트랙 28px / 노브 24px pill 에 lifted 2겹 그림자, 노브 0.15s / 트랙 0.3s.

CalloutBlock notice and one-line inline notice, five tones

알림

공고 내 모든 멤버에게 알립니다.

지원서가 저장되었습니다.
응답일이 지난 지원서가 있습니다.
내보냈을 시 해당 공고에 속해있는 지원자 정보를 열람할 수 없습니다.
보관된 지원서입니다.

background2(4%) 채움 · radius4 · padding 16px 20px · gap 12px · 보더 없음. 제목 title7 / 본문 body6. 채움은 한 가지뿐이고 톤은 선두 슬롯의 시맨틱 색으로만 갈린다. 떠 있는 버전과 인라인 버전을 쌍으로 두는 것이 이 시스템의 원칙이다.

Modal · ModalConfirmCentred dialog and destructive confirm — 10px radius on a 45% scrim

스크림은 평면 45% 검정이며 블러가 없다. ModalConfirm 은 파괴적 액션 확인 전용이고 카피 패턴이 특징적이다 — “잠깐!” 한 단어 제목 뒤에 존댓말 완성 문장이 온다.

DrawerEdge-anchored panel — square corners, 56px header, footer actions
지원자 정보03
이수이수민경영지원팀 · 지원서

면접 일정

1월 11일 (수) 오후 2:00 ~ 오후 3:00

가장자리에 붙는 패널이라 모서리를 굴리지 않는다(radius0). 헤더는 셸과 같은 56px 이고, 큰 상태 변화라 0.3s 듀레이션 자리다.

Toast · SpinnerDark floating notification, inline variant, undo, loading
전송

공고 내 모든 멤버에게 알립니다.

지원서를 보관함으로 옮겼습니다.
Spinner · radius 100%

Toast 는 반전 서피스다 — 라이트 기준 gray600 채움 + 밝은 텍스트, radius4, padding 12px 48px 12px 12px(오른쪽 48px 은 닫기 버튼 자리), 3겹 오버레이 그림자, 진입 0.2s. 램프가 반전되므로 다크에서는 같은 이름이 밝은 면이 된다.

FormsFormResponse, Banner, Respondent, ArchivedAnswer
안은안은결Respondent · 경영지원팀

현재 업무에 만족하십니까? 단일 선택

매우 만족

개선이 필요한 점 짧은 글

보관된 응답입니다 — ArchivedAnswer

설문(Form) 모듈과 대응하는 화면 루트이고, 하위에 Banner · Respondent · QuestionAndAnswer · ArchivedAnswer 가 있다. Forms/FormResponse/ 가 컴포넌트 트리에서 1급 카테고리로 서 있다.

Button5 variants · 3 sizes · icon, status dot, disabled

large 는 height 56px · radius6 · padding 0 20px · 라벨 item4 / 600 · 아이콘 24px · 트랜지션 0.1s 로 실측된다. outlined 는 padding 0 19px 로 보더 1px 를 상쇄해 같은 박스를 만든다 — 오타가 아니라 의도다. 공개 소스에서 실측된 사이즈는 large 하나뿐이라, 위의 40px·32px 은 밀도 비교용 재현이지 두들린 공개 규격이 아니다.

Icon⚠ Lucide substitutes — real Doodlin geometry is not published
arrowChevronDefaultBottom arrowSolidDoubleLeft lockBorderUnlock mailBorder / mailSolid
calendarRequest calendarChangeRequest codingTest shakeHands interworkJobplanet blockOpeningList
16px 버튼·태그·입력·메뉴 행 · 20px 단독/Callout 선두 · 24px 56px 버튼 안

공개 Storybook 은 아이콘 이름만 렌더하고 SVG path 를 노출하지 않으며 소스 저장소는 비공개다. 원본 카드는 Lucide 를 대체 글리프로 얹지만, 이 프리뷰는 대체본조차 그리지 않고 중립 슬롯과 합성형 이름만 옮긴다 — 316종의 이름 체계 <meaning><variant><direction> 와 도메인 목록이 인용 대상이지 형태가 아니다.

Text · Link · DividerSemantic scales, colour roles, links and rules
title7 · 16 / 22.4 — 공고 내 모든 멤버에게 알립니다.
body6 · 14 / 22.4 — 읽기 문장은 body 계열(1.6em)로 고른다.
item6 · 14 / 21 — 컨트롤 라벨은 item 계열(1.5em)이다.
링크 · 바로가기 secondary tertiary disabled 전공학과 *

link 는 blue600 이다. Divider 는 border2(11%) 헤어라인 한 줄이고, 아이콘이 아닌 유일한 글리프는 필수 표시 * 다.

DropdownTrigger, plain rows, avatar rows, selectable rows
전체 공고
전체 공고 경영지원팀 최민최민준 한지한지우 면접 일정

3겹 오버레이 그림자로 떠 있는 면을 만든다. 배치는 Floating UI 가 담당하고, DropdownItem / DropdownItemSelect 두 행 계열을 갖는다.

MenuItem32px sidebar rows — active, hover, badge, disabled
공고12 지원자48 지원서9 추천인

height 32px · 라벨 body6 · 텍스트 gap 2px. 이 32px 이 이 시스템의 밀도 기준선이다. hover 는 투명 서피스가 background2 를 얻는 것이고 opacity 는 쓰지 않는다.

UtilityTemplate shell, FloatingBox, Skeleton
지원자최민

Template = 232px 고정 사이드바 + 56px sticky 헤더 + 스크롤 메인(위는 축소 재현). FloatingBox 는 Usage 스토리를 3개 가진 오버레이 프리미티브이고, Skeleton 은 radius4 다 — 사람 자리에는 Avatar, 로딩 자리에는 Skeleton 뿐이며 그 사이에 이미지가 들어가지 않는다.

04

Greeting ATS

1장

토큰과 컴포넌트가 실제 업무 화면에서 어떻게 만나는지 — 셸 · 테이블 · 상태 · 대량 액션.

Greeting — 채용 관리Applicant list — static snapshot of the ATS shell (original card is click-through)
지원자 48 전체 공고 최민
No.지원자면접 일정학력전공학과채용팀상태
01 김서김서연 1월 12일 (목) 오전 9:00 ~ 오전 10:00 학사 산업디자인학과 경영지원팀 면접 준비됨
02 박지박지훈 1월 12일 (목) 오전 11:00 ~ 오후 12:00 석사 컴퓨터공학과 경영지원팀 요청됨
03 이수이수민 1월 11일 (수) 오후 2:00 ~ 오후 3:00 학사 경영학과 경영지원팀 변경 요청
04 정하정하늘 1월 10일 (화) 오전 9:00 ~ 오전 10:00 학사 산업공학과 경영지원팀 완료
05 최민최민준 2023. 08. 31 석사 경영정보학과 경영지원팀 완료
06 한지한지우 2023. 08. 31 학사 시각디자인학과 경영지원팀 요청됨
2/ 48

원본 카드는 클릭 가능한 재현이지만, 이 프리뷰는 스크립트 없이 지원자 목록 화면 한 장을 정적으로 옮겼다. 232px 고정 사이드바(background1 2% 위) + 56px sticky 헤더 + 스크롤 메인이고 중앙 정렬 max-width 컬럼이 없다. 대량 액션 바는 스크롤 컨테이너 하단에 고정된다.

05

Shape

4장

깊이의 1차 언어는 그림자가 아니라 1px 헤어라인이다. 그림자는 떠 있음을, 보더는 묶여 있음을 뜻한다.

MotionOne curve, three durations. Hover the bars.
fast · 0.1s버튼 · 입력 · 탭 · 메뉴 행
base · 0.15sToggleSwitch 노브
slow · 0.3sToggleSwitch 트랙 · Drawer

이징이 전 시스템에 하나뿐이다 — cubic-bezier(0.31, 0.27, 0.15, 0.99). Toast 는 transform / opacity 0.2s 를 더 쓴다. 바운스·스케일·스프링은 없고, 공식 모션 명세 문서도 공개돼 있지 않다(위는 전부 실측).

Radius in use4 tags & toasts · 6 buttons & inputs · 8 tabs rail · 10 badge
4 · Tag 8 · Tabs rail 10 · Badge 9

4px Tag · Toast · Callout · CheckBox · Skeleton · Avatar · TextArea / 6px Button · TextField · Tabs 아이템 / 8px Tabs rail(lg) / 10px Badge / 100% Radio · Spinner. ToggleSwitch 트랙만 명명 스케일 밖의 pill 이다. 단계별 용도를 규정한 공개 문서는 없다 — 위는 전부 실측이다.

RadiusSeven named steps: 0 · 4 · 6 · 8 · 10 · 14 · 20
radius0
0px
radius4
4px
radius6
6px
radius8
8px
radius10
10px
radius14
14px · 미사용
radius20
20px · 미사용

radius 만은 명명 토큰으로 존재한다(dist/constants/radius). 실무 범위는 4/6/8/10 이고 14 · 20 은 컴포넌트 스케일에서 사실상 미사용이다 — 앱 아이콘 플레이트 같은 브랜드 표면 밖에서는 쓰지 않는다.

ShadowTwo elevations plus the inset ring — token names are not published
lifted0 1px 2px 0 oklch(0 0 0 / 0.04), 0 2px 6px 0 oklch(0 0 0 / 0.16) overlay+ 0 4px 10px 0 oklch(0 0 0 / 0.05), 0 6px 14px 0 oklch(0 0 0 / 0.16) inset ringinset 0 0 0 1px border3 — Avatar · Radio

Constants/shadow 스토리가 라벨 없이 스와치만 렌더해 이름↔값 대응이 공개돼 있지 않다 — 위 값은 렌더된 DOM 의 계산 스타일에서 직접 읽은 것이다. 컬러 그림자·글로우는 없고, 카드는 그림자로 띄우지 않는다.

06

Spacing

1장

“문서에 없다”가 아니라 “시스템에 없다”로 확인된 항목이다.

No spacing scaleThis system has no named spacing tokens — Flex takes raw px. These are observed values.
2 4 6 8 12 16 20

npm 패키지의 dist/constants/ 하위는 color · date-picker · keyframes · radius · shadow · theme · transition · typography 여덟 개뿐이고 spacing 디렉터리가 없다. 레이아웃 프리미티브 Flexgap?: number 로 raw 픽셀을 받는다.

리듬으로 요약하면 칩 안 4px → 컨트롤과 라벨 사이 6~8px → Callout 안 12px → 섹션 패딩 16~20px 이다. Button(filled) 0 20px / Button(outlined) 0 19px / Tag 0 6px / Tabs 아이템 0 8px / Callout 16px 20px / Toast 12px 48px 12px 12px. 값 자체는 그대로 옮겨 쓰되 “8px 그리드” 같은 규정을 이 시스템의 것으로 서술하지 않고, 소스 값을 격자에 맞춰 반올림하지 않는다.

07

Type

5장

핵심 설계는 “픽셀이 아니라 역할을 고른다”이다 — 같은 픽셀 값이 세 계열에 있고 행간만 다르다.

Body scalebody1–body7 · line-height 1.6em
body1 · 25지원자의 답변을 한 화면에서 검토합니다.
body2 · 22지원자의 답변을 한 화면에서 검토합니다.
body3 · 20지원자의 답변을 한 화면에서 검토합니다.
body4 · 18지원자의 답변을 한 화면에서 검토합니다.
body5 · 16지원자의 답변을 한 화면에서 검토합니다.
body6 · 14지원자의 답변을 한 화면에서 검토합니다.
body7 · 12지원자의 답변을 한 화면에서 검토합니다.

25 / 22 / 20 / 18 / 16 / 14 / 12 px · 행간 1.6em(40 / 35.2 / 32 / 28.8 / 25.6 / 22.4 / 19.2px). 읽기 문장은 이 계열이다.

PretendardThree weights. No italics, no letter-spacing tokens.
그리팅 지원자 Greeting 123 regular 400
그리팅 지원자 Greeting 123 medium 600
그리팅 지원자 Greeting 123 bold 700

서체는 Pretendard 단일이고 별도의 디스플레이/브랜드 서체가 없다 — 로고 워드마크는 로고 이미지 안에만 있는 커스텀 레터링이라 UI 에서 다시 조판하지 않는다. weight 는 3종뿐이고 medium 이 600 이다(일반 관례 500 과 다르다). letter-spacing 토큰은 존재하지 않고 이탤릭도 쓰지 않는다.

Item scaleitem1–item7 · line-height 1.5em — for control labels and list rows
item1 · 25면접 일정
item2 · 22면접 일정
item3 · 20면접 일정
item4 · 18면접 일정 Button · TextField 라벨
item5 · 16면접 일정
item6 · 14면접 일정 Tag · TextArea 입력
item7 · 12면접 일정 Badge 숫자
Line-height rolesSame 16px, three densities — pick the role, not the number
title · 1.4em
공고 내 모든 멤버에게 알립니다. 알림 제목을 입력해주세요.
body · 1.6em
공고 내 모든 멤버에게 알립니다. 알림 제목을 입력해주세요.
item · 1.5em
공고 내 모든 멤버에게 알립니다. 알림 제목을 입력해주세요.

body5 와 item5 는 둘 다 16px 이지만 배율이 1.6em 과 1.5em 이다. 제목은 title(1.4em), 읽기 문장은 body(1.6em), 컨트롤 라벨은 item(1.5em) — 역할을 고르면 숫자는 따라온다. 원시 스케일은 fontSize50(11) ~ fontSize1300(60) 15종이고 semantic 22종이 그 위에 얹힌다.

Title scaletitle1–title8 · line-height 1.4em
title1 · 60채용의 모든 순간
title2 · 40채용의 모든 순간
title3 · 36채용의 모든 순간
title4 · 28채용의 모든 순간
title5 · 22채용의 모든 순간
title6 · 18채용의 모든 순간
title7 · 16채용의 모든 순간 Callout · Toast 제목
title8 · 14채용의 모든 순간