Parent
#918 — 🗺️ [wayfinder] Error page 준수 (결정 D6·D7 / 리스크 R3)
What to build
루트 not-found.tsx는 브랜드 정체성(워드마크, 2px 룰, 라임 액센트)은 좋은데 팔레트가 다크로 하드코딩돼 있다(#050505 배경, #f7e64a 액센트). 리디자인의 기본 테마는 라이트이므로 이 페이지만 테마를 따르지 않고 혼자 까맣게 뜬다.
중요 — 이건 브랜드를 버리는 작업이 아니다. --primary가 이미 그 라임이다(globals.css의 oklch(0.9122 0.1686 102.99) ≈ #eafd67, 라이트 표면에서 텍스트 대비가 필요한 자리를 위한 --primary-strong도 따로 있다). 하드코딩된 hex는 토큰 값을 손으로 베낀 것이고, docs/design-system/redesign/shell.md의 R4가 이 하드코딩을 이미 회귀 리스크로 규정해 뒀다. 즉 기존 표준의 미적용분을 회수하는 일이다.
워드마크·2px 룰·트래킹·레이아웃 등 시각적 아이덴티티는 그대로 유지하고 색 값만 토큰으로 옮긴다.
루트 404는 shared/ErrorState 조합으로 바꾸지 않는다(D7). 오타 URL과 외부 유입이 착지하는 마케팅성 표면이라 인라인 상태 블록과 성격이 다르다 — bespoke 풀페이지를 유지한다.
스코프 경계: 하드코딩 hex는 코드베이스 전체에 92곳/20+ 파일 산재해 있다. 이 슬라이스는 루트 not-found.tsx 하나만 다룬다. 나머지 레거시 다크 표면 토큰화는 별도 티켓이다.
Acceptance criteria
Blocked by
None - can start immediately
Parent
#918 — 🗺️ [wayfinder] Error page 준수 (결정 D6·D7 / 리스크 R3)
What to build
루트
not-found.tsx는 브랜드 정체성(워드마크, 2px 룰, 라임 액센트)은 좋은데 팔레트가 다크로 하드코딩돼 있다(#050505배경,#f7e64a액센트). 리디자인의 기본 테마는 라이트이므로 이 페이지만 테마를 따르지 않고 혼자 까맣게 뜬다.중요 — 이건 브랜드를 버리는 작업이 아니다.
--primary가 이미 그 라임이다(globals.css의oklch(0.9122 0.1686 102.99)≈#eafd67, 라이트 표면에서 텍스트 대비가 필요한 자리를 위한--primary-strong도 따로 있다). 하드코딩된 hex는 토큰 값을 손으로 베낀 것이고,docs/design-system/redesign/shell.md의 R4가 이 하드코딩을 이미 회귀 리스크로 규정해 뒀다. 즉 기존 표준의 미적용분을 회수하는 일이다.워드마크·2px 룰·트래킹·레이아웃 등 시각적 아이덴티티는 그대로 유지하고 색 값만 토큰으로 옮긴다.
루트 404는
shared/ErrorState조합으로 바꾸지 않는다(D7). 오타 URL과 외부 유입이 착지하는 마케팅성 표면이라 인라인 상태 블록과 성격이 다르다 — bespoke 풀페이지를 유지한다.스코프 경계: 하드코딩 hex는 코드베이스 전체에 92곳/20+ 파일 산재해 있다. 이 슬라이스는 루트
not-found.tsx하나만 다룬다. 나머지 레거시 다크 표면 토큰화는 별도 티켓이다.Acceptance criteria
not-found.tsx에 하드코딩 hex가 0이다 (#050505·#f7e64a·#eafd67전부 제거)--primary가 미달이면--primary-strong을 쓴다 (docs/design-system/colors.md기준). 측정값을 PR에 남긴다shared/ErrorState로 대체하지 않는다 (D7)/ko/asdf·/asdf) 양쪽에서 이 페이지가 뜨는 것을 확인Blocked by
None - can start immediately