FoundationsP2 본문

파운데이션

색·타이포그래피·스페이싱·라운딩·그림자·모션 — 모든 화면의 기초가 되는 시각 기본기. 모든 표는 토큰 SSOT에서 자동 생성됩니다.

마지막 업데이트 2026-06-10

#

브랜드 색에서 Primary·Secondary·Tertiary·Neutral 하모니를 도출합니다
Shade
순수 흰/검최대 대비 끝점
Neutral
배경·텍스트·보더·구분선화면 대부분
Primary
인터랙션 전용버튼·링크·포커스·선택
Success
완료·긍정 상태
Warning
주의단색 아이콘 단독 금지
Danger
에러·부정 상태
Info
정보 안내
Violet
서포팅 액센트태그·카테고리·일러스트
Teal
서포팅 액센트
Magenta
서포팅 액센트
Orange
서포팅 액센트
Cyan
서포팅 액센트

그라데이션 — 히어로 · 마케팅 한정

brand
accent
vivid
surface

데이터 시각화 — 차트 카테고리 (색맹 안전 시퀀스)

라이트 배경
다크 배경 — 휘도 상향 변형 (어두운 색조 식별성 보강)

다크 변형은 어두운 배경(gray.900)에서 blue·violet·green 등 어두운 색조의 대비를 끌어올리고, 적·녹색맹(deuteranopia·protanopia)에서도 인접 색 분리가 유지되도록 휘도를 조정했습니다.

전체 색 토큰 표 — 데이터 그리드

primary·secondary 등 시멘틱 매핑과 surface/outline 티어는 디자인 토큰·테마빌더가 정본입니다. 브랜드 잉크는 Quintal Bloom 심볼 전용(UI 미사용, 브랜드 아이덴티티).

토큰설명
파생(스펙 외) — subtle 배경
파생(스펙 외) — hover 라이트 틴트
★ Primary
P2 확정 — 시각 대조 결과 #125282(라벨)는 램프 색상 연속성 파괴, #1252B2 채택
파생(스펙 외) — 앱 배경
파생(스펙 외) — placeholder/disabled 전경
파생(스펙 외) — 보조 텍스트
토큰설명
서포팅 액센트 — subtle 배경(태그·카테고리). UI 본문 아님
Violet 원색 — 표시/솔리드
라이트 표면 텍스트용 (AA 4.5:1)
다크 표면 태그/카테고리 배경용 (시멘틱 tag-violet-bg 다크 — 명도 반전)
서포팅 액센트 — subtle 배경
Teal 원색 — 표시/솔리드
라이트 표면 텍스트용 (AA 4.5:1)
다크 표면 태그/카테고리 배경용 (시멘틱 tag-teal-bg 다크 — 명도 반전)
서포팅 액센트 — subtle 배경
Magenta 원색 — 표시/솔리드
라이트 표면 텍스트용 (AA 4.5:1)
다크 표면 태그/카테고리 배경용 (시멘틱 tag-magenta-bg 다크 — 명도 반전)
서포팅 액센트 — subtle 배경. Warning(amber)과 용도 구분: 장식·카테고리
Orange 원색 — 표시/솔리드
라이트 표면 텍스트용 (AA 4.5:1)
다크 표면 태그/카테고리 배경용 (시멘틱 tag-orange-bg 다크 — 명도 반전)
서포팅 액센트 — subtle 배경
Cyan 원색 — 표시/솔리드
라이트 표면 텍스트용 (AA 4.5:1)
다크 표면 태그/카테고리 배경용 (시멘틱 tag-cyan-bg 다크 — 명도 반전)
토큰설명
P2 다크 램프 — 다크 표면 텍스트용 Success
Success 원색
P2 신설 — 라이트 표면 텍스트용 Success (AA 4.5:1)
P2 다크 램프 — 다크 표면 텍스트용 Warning
Warning 원색 — P2 확정(#F59E08 라벨과 시각 구분 불가, 표준값 채택)
P2 신설 — 라이트 표면 텍스트용 Warning (AA 4.5:1)
P2 다크 램프 — 다크 표면 텍스트용 Error
Error 원색
P2 신설 — 라이트 표면 텍스트용 Error (AA 4.5:1)
P2 다크 램프 — 다크 표면 텍스트용 Info
Info 원색
P2 신설 — 라이트 표면 텍스트용 Info (AA 4.5:1)
토큰설명
데이터 시각화 카테고리 1 (색 확장 B) — 색맹 안전·이웃 색 최대 대비 순서. 차트 전용·테마 독립 상수(= blue.600). 흰 배경 4.39:1
데이터 시각화 카테고리 2 (= violet.500). 흰 배경 4.38:1
데이터 시각화 카테고리 3 (= teal.700). C-1 보정: teal.500 #0ea5a4는 흰 배경 3.03:1 경계라 .700로 하향(5.47:1). 휴 정체성(teal) 보존
데이터 시각화 카테고리 4 (= orange.700). C-1 보정: orange.500 #f97316은 흰 배경 2.80:1 미달이라 .700로 하향(5.18:1). 휴 정체성(orange) 보존
데이터 시각화 카테고리 5 (= magenta.500). 흰 배경 3.76:1
데이터 시각화 카테고리 6 (= green.600). 흰 배경 3.30:1
데이터 시각화 카테고리 7 (= cyan.600). C-1 보정: cyan.500 #06b6d4는 흰 배경 2.43:1 미달이라 .600로 하향(3.21:1). cyan.700 #0e7490은 protanopia에서 magenta(5)와 ΔE 붕괴(12.7→7.8)라 미채택 — .600이 무회귀 최선
데이터 시각화 카테고리 8 (amber 휴 보존 휘도 보정 — amber.500 #f59e0b 선형 ×0.57). C-1 보정: amber.500은 흰 배경 2.15:1 미달, amber.700 #b45309은 deuteranopia에서 orange(4)와 ΔE 붕괴(1.2)라 미채택 → 골드 정체성 유지 커스텀(3.50:1)
브랜드 — Blue(primary) → Violet. 히어로·브랜드 순간
액센트 — Teal → Cyan. 보조 강조 표면
비비드 — Violet → Magenta. 마케팅·캠페인
표면 — White → Gray100. 미묘한 깊이(카드/패널), 텍스트 위 안전
토큰설명
심볼 블루 잉크 (라이트 표면)
심볼 시안 잉크 (라이트 표면)
심볼 시안 잉크 (다크 표면 — symbol-dark.svg)

타이포그래피#

Pretendard 한 패밀리로 역할 스케일을 올립니다 — 크기가 아니라 역할(Display·Headline·Title·Body·Label × L·M·S)로 고릅니다.

샘플 문구
Weight 미리보기
크기 배율 — 미리보기

상단에서 샘플 문구·Weight·크기 배율을 바꿔 15개 역할 스케일을 직접 비교해 보세요. 표본·칩을 클릭하면 클래스·토큰이 복사됩니다.

Display가장 큰 표제 — 히어로·마케팅. 절제해서 한 화면에 하나.
Display L
히어로 · 랜딩 최상단 표제.wds-type-display-l
Display M
대형 마케팅 표제.wds-type-display-m
Display S
섹션 히어로 표제.wds-type-display-s
Headline섹션 표제 — 페이지·카드 제목.
Headline L
페이지 제목.wds-type-headline-l
Headline M
주요 섹션 제목.wds-type-headline-m
Headline S
카드 · 블록 제목.wds-type-headline-s
Title소제목·강조 — 리스트·폼 그룹 헤더.
Title L
리스트 · 폼 그룹 헤더.wds-type-title-l
Title M
소제목 · 강조 라벨.wds-type-title-m
Title S
조밀한 소제목.wds-type-title-s
Body본문 — 읽기 위한 텍스트. 넉넉한 행간(1.6).
Body L
기본 본문 — 긴 읽기.wds-type-body-l
Body M
보조 본문 · 설명.wds-type-body-m
Body S
캡션 · 메타 본문.wds-type-body-s
LabelUI 라벨 — 버튼·탭·캡션. medium·약한 양수 자간.
Label L
버튼 · 큰 탭 라벨.wds-type-label-l
Label M
칩 · 배지 · 탭.wds-type-label-m
Label S
메타 · 짧은 보조 라벨.wds-type-label-s
원시 토큰 · 합성 규칙

역할 스타일은 tokens/core/typography.json composite 토큰이 SSOT로 웹(.wds-type-*)·Flutter(WizTextStyles)에 동시 생성됩니다(A3). 큰 표제일수록 자간을 좁히고(−2%) 라벨은 약한 양수 자간(+1%)으로 또렷하게 합니다. Dynamic Type·emphasis 티어는 A3 Phase 2 예정.

토큰설명
48px — 히어로/마케팅 표제 (DD-1 해소, P2 신설). A3: Display L 앵커
32px — A3: Headline L 앵커
24px — A3: Headline S 앵커
18px — A3: Title M 앵커
16px — A3: Body L / Title S 앵커
14px — A3: Body M / Label L 앵커
12px — A3: Label M 앵커
40px — A3 신설. Display M (display-1 48 ↔ headline-l 32 중간, M3 Display M 비례)
36px — A3 신설. Display S (M3 Display S 앵커)
28px — A3 신설. Headline M (h1 32 ↔ h2 24 중간, M3 Headline M 앵커)
20px — A3 신설. Title L (h2 24 ↔ h3 18 중간, M3 Title L 22 → WIZ 20)
13px — A3 신설. Body S (body-2 14 ↔ caption 12 중간)
11px — A3 신설. Label S (M3 Label S 앵커). 용처: 짧은 보조 라벨·탭·배지·메타 전용. 본문(Body) 금지 — 11px는 본문 가독성/접근성 기준 미달.
토큰설명
제목(Headline/Title)
본문(Body)
A3 신설 — Display 표제 leading(큰 글자는 좁은 행간)
A3 신설 — Label leading(짧은 라벨)
-2% (Display/Headline L)
-1% (Headline)
-1% (Title)
0 (Body)
A3 신설 — +1% (Label, 짧은 라벨 가독성)

스페이싱#

8px 그리드 — 모든 간격은 4px 베이스 유닛의 배수입니다. 막대를 클릭하면 var(--wds-space-*) 토큰이 복사됩니다. 선택 기준은 레이아웃 시스템의 스페이싱 리듬 절을 따릅니다.

요소 내부 · 1–3
요소 사이 · 4–6
블록 사이 · 8–12
섹션 사이 · 16–32

4px 베이스 유닛 — 모든 토큰은 4의 배수이며, space-4(16px)가 본문 리듬의 기준 한 칸입니다. 결번(5·7·9 …)은 의도입니다 — 위로 갈수록 성기게 증가해 선택을 단순하게 만듭니다.

스페이싱 토큰 표 — 데이터 그리드
토큰설명
4px
8px
12px
16px
20px
24px
32px
40px
48px
64px
80px
96px
128px

라운딩#

곡률은 5단계입니다 — 각 토큰을 측정 블루프린트와 실물 표본으로 나란히 렌더합니다(셀 클릭 = var(--wds-radius-*) 복사).

중첩 표면은 동심(concentric) 규칙으로 곡률을 정렬합니다 — 안쪽 반지름 = 바깥 반지름 − 패딩. 아래에서 바깥 반지름과 패딩을 직접 맞춰, 안쪽 곡률이 어떤 토큰으로 떨어지는지 확인하세요.

바깥 반지름radius.lg · 14px
패딩space-1 · 4px
r14
r10
바깥 표면 안에 패딩만큼 안쪽 표면을 띄운 모습 — 슬라이더를 움직이면 곡률이 따라 정렬됩니다.

안쪽=max(0,144)=10px

calc(--wds-radius-lg--wds-space-1)

동심 정합은 정확값(바깥 − 패딩)을 그대로 써야 합니다 — 가까운 토큰으로 스냅하면 곡률 중심이 어긋나 동심이 깨집니다. 토큰에 딱 떨어지지 않으면 위 calc()로 관계를 유지하거나(권장) 패딩을 조정해 토큰에 떨어뜨리세요. Apple iOS 26 ConcentricRectangle도 이 값을 자동 도출하며, 직각이 싫으면 0 대신 최소 반지름으로 바닥을 둡니다(.concentric(minimum:)).

모서리의 곡률 자체도 끌어올릴 수 있습니다 — 원호(현행)에서 Apple식 연속 곡률(스쿼클, superellipse(2))로. 곡률은 반지름·동심 공식과 직교합니다(같은 radius.lg 위에서 곡선만 교체). 지원 브라우저(Chromium 139+)에서만 적용되고 그 외에는 원호로 자연 폴백하는 점진적 향상입니다. (실험적 · 기획안 08)

이 브라우저: 미지원 — 원호로 표시CSS corner-shape · Chromium 139+ · 미지원 시 border-radius 원호로 자연 폴백
원호 (round) — 현행
카드 제목

같은 radius.lg(14px) — 모서리 곡선만 다릅니다.

스쿼클 (squircle) — 연속 곡률
카드 제목

같은 radius.lg(14px) — 모서리 곡선만 다릅니다.

superellipse(2) · Apple식 연속 곡률
라운딩 토큰 표 — 데이터 그리드
토큰설명
표준 컨트롤(버튼/인풋) 라운딩 (P1 신설)
소형 컨트롤(체크박스) 라운딩 (P1 신설)

깊이 — Bloom Depth 엘리베이션#

WDS의 깊이는 틴트가 1차, 그림자가 2차입니다 — 레벨이 오를수록 surface-container 틴트가 한 단 진해지고(다크에서는 밝아지고) 그림자는 보조로만 거듭니다. 브랜드 심볼의 "겹침의 농도"(Quintal Bloom)를 표면 위계로 옮긴 것입니다. 아래에서 테마를 바꿔 틴트·그림자 거동을 직접 확인하세요.

깊이 라이브 — 테마를 바꾸면 틴트·그림자 거동을 본다
flat휴지 페이지 · 베이스 카드container-lowest · 그림자 없음
raised카드 · 올라온 컨트롤container-low · 그림자 sm
overlay드롭다운 · 팝오버 · 툴팁container-high · 그림자 md
modal모달 · 시트 · 다이얼로그container-highest · 그림자 lg

surface-container 틴트 농도 — 깊이의 1차 수단

엘리베이션 역할 매핑 · 본문 잉크 · 안티패턴 · forced-colors · shadow 토큰

엘리베이션은 숫자가 아니라 역할로 명명합니다(flat·raised·overlay·modal). 유틸 클래스 .wds-elevation-<역할> 한 줄이 표면 틴트와 그림자를 함께 입히며, surface-container 5티어 중 가운데 base(ambient 예약)를 건너뛰어 매핑합니다(새 색 정의 0, 별칭 소비만).

레벨클래스표면 티어그림자권장 본문 잉크용처
flat.wds-elevation-flatsurface-container-lowest없음text-subtle 이상 (flat만 라이트 AA)휴지 페이지·베이스 카드
raised.wds-elevation-raisedsurface-container-lowsmtext-muted 이상카드·올라온 컨트롤
overlay.wds-elevation-overlaysurface-container-highmdtext-muted 이상드롭다운·팝오버·툴팁
modal.wds-elevation-modalsurface-container-highestlgtext-muted 이상모달·시트·다이얼로그

본문 잉크text-subtle은 라이트에서 flat에서만 AA(4.5:1)입니다(raised 위 4.38:1 미달). raised 이상 티어 위 본문은 text-muted(또는 text)를 쓰세요. 다크에서는 전 티어에서 text-subtle이 AA를 유지합니다.

안티패턴 — 그림자만 키운 카드는 다크에서 위계가 사라집니다(그림자 비가시). 항상 표면 티어를 먼저 올리고 그림자는 보조로만 더하세요.

고대비 · forced-colors — 인접 티어 틴트 대비는 3:1 미만이라, 비텍스트 경계 대비(3:1)가 필요하면 1px outline(전 티어 ≥3.5:1)을 함께 입히세요(스튜디오 "보더" 토글로 미리보기). @media (forced-colors: active)에서는 배경·그림자가 제거되므로 보더가 유일한 깊이 단서가 됩니다.

동심 라운딩 — 중첩 표면의 안쪽 반지름 = 바깥 반지름 − 간격. 라운딩 섹션의 concentric 규칙을 따릅니다.

토큰설명

모션#

표준 이징 cubic-bezier(0.4, 0, 0.2, 1) · 과도한 애니메이션 금지 · prefers-reduced-motion 전면 대응. 토큰을 골라 직접 재생해 곡선·지속 시간을 움직임으로 확인하세요 — 원칙 · spring 물리 · 연출은 모션 디자인에서.

라이브 모션
ease.standard기본 양방향 전환cubic-bezier(0.4, 0, 0.2, 1) · 400ms0 / 400ms
duration · ease 토큰
토큰설명
M3 emphasized — 화면 전환·강조 모션의 기본 (CSS 근사)
M3 emphasized decelerate — 표면 등장(enter). 오버레이 패널 진입에 사용
M3 emphasized accelerate — 표면 퇴장(exit)