Foundations · 02
Colors
의미별로 조직된 13개 컬러 토큰 + 보조 라인·그라데이션. Geist의 구조를 따라 Scales · Backgrounds · Component backgrounds · Borders · High contrast · Text & icons · Status 7카테고리로 구성. 스와치 클릭 시 토큰명이 복사됩니다.
Scales
5 ramps · 일부 미정의컬러 ramp. BSS는 현재 의미 토큰만 토큰화되어 있고 *연속 ramp는 미토큰화* 상태 — 아래 시각 ramp는 기존 anchor 컬러로부터 시각적으로 보간한 것이며, 토큰으로 등록되지 않은 단계는 빗금 표시. 본격적 사용 전 토큰화가 필요합니다.
빗금()으로 표시된 칸은 아직 토큰화되지 않은 단계. 실제 사용 시 아래 의미 카테고리의 토큰을 우선 사용하세요.
Brand
6 tokensBSS 정체성을 구성하는 핵심 색. 다른 모든 카테고리(Backgrounds·Borders·Status)는 이 위에서 보조 역할을 합니다.
Primary
Primary blue
대표색. 밝은 BG 위 CTA·강조에 사용. hover에서는 --c-primary-active로 전환.
Dark blue
Dark blue
보조 브랜드. 섹션 BG로도 사용. hover에서는 --c-dark-blue-active.
Sky accent
Sky
어두운 BG 위 CTA·강조에 사용. --c-sky-light는 부드러운 surface와 그라데이션 끝점.
Backgrounds
2 tokens페이지·섹션의 기본 표면. Background 1이 기본, Background 2는 섹션 차이를 만들 때 사용.
Background 1
Default page background
기본 페이지·기본 카드 표면. 모든 페이지의 출발점.
Background 2
Secondary background
섹션 BG 로테이션에서 canvas와 교대로 사용. input fill에도 사용 가능. 같은 BG 두 번 연속 금지.
Component backgrounds
3 states버튼·뱃지·선택 카드 등 인터랙티브 요소의 BG. Geist의 *Colors 1–3* (default / hover / active)에 대응. BSS는 페어 토큰으로 표현합니다.
Primary CTA · light context
Primary button background
밝은 BG 위 CTA. .btn-primary가 사용. hover에서 sky로 전환 (대비 점프).
Sky CTA · dark context
Sky button background
어두운 BG 위 CTA. .btn-sky가 사용. hover에서 sky-light로 전환.
Selected option
Selection background
.option-card.selected의 BG.
Borders
7 line tokens선의 두께·색은 토큰으로 관리합니다. Geist의 *Colors 4–6*에 대응. BSS는 *hairline*(섹션 구분)과 *outline*(input·선택 카드) 두 가중치로 나뉩니다.
Hairline
Section / divider
섹션 내부 구분선. 1px @ 12% 알파. 절대 섹션 사이 구분에는 사용하지 말 것 — 섹션은 BG로 구분합니다.
Outline · default → hover → focus
Input · selectable card
입력 필드, 선택 카드의 외곽선. hover에서는 ink-deep, focus에서는 primary로. 두께 변화는 inset shadow로 처리 — 레이아웃 시프트 없음.
Outline (inverted) · dark BG context
Input on dark BG
.card-inverted 안의 필드에 자동 적용. focus는 sky로.
High contrast backgrounds
3 tokens강조를 위한 어두운 섹션 BG. Geist의 *Colors 7–8*에 대응. 이 위에는 반드시 .btn-sky를 사용 (primary 금지).
Section BG · dark
Text and icons
3 tokens텍스트의 위계는 색으로 만듭니다. Geist의 *Colors 9–10*에 대응 — primary(강) / secondary(약) 두 단계 + body 기본.
Primary text · headings
High emphasis
헤딩, 핵심 본문, 강조 라벨. 거의 검정에 가까운 짙은 네이비.
Default body
Body text
기본 본문. 약간의 회색기로 헤딩과 위계를 만듭니다.
Secondary text · captions
Low emphasis
caption, footnote, 메타 정보. 본문보다 한 단계 약함.
Status
3 tokens의미 색 — 성공·경고·위험. 뱃지·알림·검증 메시지에 한정해서 사용합니다.
Rules
DO
- 밝은 BG에는
.btn-primary, 어두운 BG에는.btn-sky - 텍스트 위계는 weight + color 조합. 같은 색으로 위계를 만들지 말 것
- 의미 색(positive/warning/negative)은 그 의미에만 사용. 장식 금지
DON'T
- 새 hex 발명 금지 — 13개 토큰 안에서 해결
- 같은 BG와 같은 버튼 컬러 조합 금지 (예: primary BG + primary button)
ink-deepBG 위.btn-primary금지 — 대비 부족- dark × dark 그라데이션 금지 (primary↔dark-blue↔ink-deep)