NEUTRAL
PAPER
#F4F5EFMILK
#FBFCF8ASH
#62685EFOG
#A5AB9FINK
#11140FCARBON
#0E100EWhiteKiwi의 color, type, component와 interaction contract를 한곳에서 확인합니다. 설명보다 실제 토큰과 상태를 먼저 보여줍니다.
01 · COLOR
Neutral이 대부분을 차지하고 kiwi는 신호로만 씁니다. 브랜드와 success는 같은 초록으로 처리하지 않습니다.
#F4F5EF#FBFCF8#62685E#A5AB9F#11140F#0E100E#E9F8C9#C6FF4A#668B15#3C6000#16794F#1769AA#7A5300#B42318--kiwi-color-canvas페이지의 가장 낮은 바탕--kiwi-color-surface정보를 묶는 조용한 면--kiwi-color-text본문과 핵심 정보--kiwi-color-text-muted보조 설명과 metadata--kiwi-color-brand-field제한적으로 쓰는 signature 면--kiwi-color-interactive링크와 행동의 신호--kiwi-color-focus키보드 focus boundary--kiwi-color-canvas페이지의 가장 낮은 바탕--kiwi-color-surface정보를 묶는 조용한 면--kiwi-color-text본문과 핵심 정보--kiwi-color-text-muted보조 설명과 metadata--kiwi-color-brand-field제한적으로 쓰는 signature 면--kiwi-color-interactive링크와 행동의 신호--kiwi-color-focus키보드 focus boundaryBody는 긴 문장에서도 읽히는 리듬과 60ch 안쪽의 행 길이를 지킵니다.
--kiwi-font-mono · 0.62REM · 0.08EM123468121603 · COMPONENTS
Radix behavior, shadcn 방식의 조합 가능한 API, Tailwind-compatible semantic token을 사용합니다. 화면별 새 UI보다 공통 contract를 우선합니다.
REST · HOVER · FOCUS · DISABLEDCOLOR IS NEVER THE ONLY SIGNALSTATIC ≠ INTERACTIVE정보 표면에는 pointer, 가짜 화살표와 hover lift를 두지 않습니다.
카드 전체가 하나의 link이며 keyboard focus와 방향을 제공합니다.
Kiwi signal은 기억할 장면에만 넓게 사용합니다.
강조하지 않는 영역이 있어야 signal이 선명합니다.
01ButtonCONTROLprimary · secondary · ghost · dangerREADY02TextFieldCONTROLhint · invalid · disabledREADY03TextLinkCONTROLinline navigationREADY04BadgeFEEDBACK6 semantic tonesREADY05CalloutFEEDBACK5 semantic tonesREADY06StaticCardEDITORIAL4 surface tonesREADY07LinkedCardEDITORIALhover · focus · pressedREADY08SectionHeadingEDITORIALresponsive content hierarchyREADY09CollectionHeadingEDITORIALcollection boundaryREADY10DisclosureDISCLOSURERadix CollapsibleREADY05 · CONTRACTS
컴포넌트의 모양보다 행동과 상태를 먼저 고정합니다. Mobile은 desktop을 줄이지 않고 정보 우선순위를 유지한 채 재구성합니다.