사용자 화면 · 홈

홈 화면 (default)

HOM-001 · 2026. 03. 20

화면 이름 홈 화면 (default)
화면 위치
화면 ID HOM-001
작성일 2026. 03. 20
HOM-001
Description
0 화면 접근 조건
  • 홈 화면은 로그인/비로그인 사용자 모두 접근 가능
  • 비로그인 사용자와, 개인화 노출 조건(찜한 작품/최근 본 작품)이 없는 로그인 사용자는 HOM-001을 기본 홈으로 사용
  • 로그인 사용자의 경우 조건에 따라 개인화 홈(HOM-002, HOM-003)으로 분기 가능
  • 처리 완료 후 별도 정의가 없는 경우 HOM-001로 복귀
1 헤더
  • 구성
    • 좌측 : 차트 로고
    • 우측 : 알림 버튼
    • 차트 로고 클릭 시
      • 별도 액션 없음(홈 리프레시 및 화면 이동 없음)
      • 로그인 상태
        • 알림 내역 화면(HOM-004)로 이동
        • 로그인 안내 모달(LOG-008) 노출
        • 로그인 완료 시 알림 내역 화면(HOM-004)로 이동
2 안심영역
  • 구성
    • 차트 서비스 소개 카피
      • 카피는 변경될 수 있음
    • 이동하기 버튼 클릭 시
      • 차트가 어떤 플랫폼인지 소개하는 랜딩 페이지로 이동
      • 화면 ID 추후 작성
3 판단 프레이밍 영역
  • 구성
    • 선택 카드 2종
      • 직접 찾을게요
      • 조용히 찾을래요
    • 직접 찾을게요 클릭 시
      • 마켓 화면으로 이동 (MKT-001)
      • 프라이빗 세일 화면으로 이동 (화면 ID 추후 작성)
4 가벼운 탐색 영역 - 마켓
  • 구성
    • 최신 공개 작품 카드 최대 5개 노출
    • 각 작품 카드 우측 상단에 찜 아이콘 노출
    • 섹션 우측 이동 버튼
    • 찜하지 않은 작품
      • 비활성 아이콘 노출
      • 활성 상태 아이콘 노출
  • 찜 아이콘 동작
    • 로그인 사용자
      • 아이콘 클릭 시 찜 상태 토글
      • 아이콘 클릭 시 로그인 안내 모달(LOG-008) 노출
      • 찜 동작은 수행되지 않음
    • 작품 카드 클릭 시 작품 상세 화면으로 이동 (MKT-013)
    • 이동 버튼 클릭 시 마켓 화면으로 이동 (MKT-001)
5 가벼운 탐색 영역 - 지금 주목할 작품
  • 구성
    • “지금 주목할 작품” 대표 작품 최대 5개 노출
    • 섹션 우측 이동하기 버튼
    • 찜하지 않은 작품
      • 비활성 아이콘 노출
      • 활성 상태 아이콘 노출
  • 찜 아이콘 동작
    • 로그인 사용자
      • 아이콘 클릭 시 찜 상태 토글
      • 아이콘 클릭 시 로그인 안내 모달(LOG-008) 노출
      • 찜 동작은 수행되지 않음
    • 작품 카드 클릭 시
      • 작품 상세 화면으로 이동 (MKT-013)
      • “지금 주목할 작품” 목록 화면으로 이동
6 가벼운 탐색 영역 - 컬렉터들의 선택
  • 구성
    • “컬렉터들의 선택” 대표 작품 최대 5개 노출
    • 섹션 우측 이동하기 버튼
    • 찜하지 않은 작품
      • 비활성 아이콘 노출
      • 활성 상태 아이콘 노출
  • 찜 아이콘 동작
    • 로그인 사용자
      • 아이콘 클릭 시 찜 상태 토글
      • 아이콘 클릭 시 로그인 안내 모달(LOG-008) 노출
      • 찜 동작은 수행되지 않음
    • 작품 카드 클릭 시
      • 작품 상세 화면으로 이동 (MKT-013)
      • “컬렉터들의 선택” 목록 화면으로 이동
7 소형 띠배너
  • 구성
    • 소형 띠배너 1종
    • Google 띠배너 사이즈 기준
      • 8.09:1 비율
        • 728*90 사이즈 또는 320*50
      • 연동된 외부 랜딩 페이지로 이동
  • 배너 클릭 시 내부 또는 외부 랜딩 페이지로 이동할 수 있다.
8 공통 규칙
  • 홈 화면은 사용자 상태에 따라 구조가 분기됨
    • 찜한 작품 있음 → HOM-002
    • 최근 본 작품 있음/찜한 작품 없음 → HOM-003
    • 둘다 없는 경우 HOM-001
    • 찜 관련 UI 노출 및 동작 불가
    • 찜 액션 시 로그인 유도 모달 노출 (LOG-008)
  • 본 화면은 홈 기본 진입 화면으로 사용

Design Output

UI 디자인 산출물

위 스토리보드 기획을 CHAART OS 디자인 토큰으로 변환한 결과물. 실제 구현 시 참조할 최종 디자인.

9:41

차트, 검증된 기준으로
거래하는 리세일 마켓.

어떤 방식으로 찾으시겠어요?

직접 찾을게요

공개 마켓 탐색

조용히 찾을래요

프라이빗 세일 의뢰

실시간 마켓 업데이트
지금 주목할 작품
컬렉터들의 선택
AD BANNER
마켓
PS
MY
개발 구현 가이드 — HOM-001 홈 화면 (default)
디자인 상태
완료
최종 승인
류우상 ✅
승인일
2026-03-27

Update History

2026.03.19인라인 스타일 → sb-dp-thumb-texture 클래스 전환
2026.03.16구현 가이드 최신화 — Description/토큰/디자인 산출물 기준 전면 재작성 (9섹션 체계)
2026.03.16피그마 디스크립션 교체, Applied Design Tokens/Design Description 구현 가이드 병합
2026.03.10PICK→5카드 Full Bleed Carousel 전환(지금 주목할 작품/컬렉터들의 선택), 탭바 아이콘 Lucide SVG 교체, 홈 활성 탭 var(--red-brand)(red-brand), 북마크 애니메이션 절제(savePop 제거→ease 전환), AD 배너 간격 조정, 폰 auto-height, 개발 구현 가이드 마크다운 작성
2026.03.10작품 이미지 5종 완성: market-01~05(이배/김창열/남춘모/김선우/아야코 록카쿠), 모든 placeholder 제거, CSS filter 제거
2026.03.10작품 이미지 6종 완성(market-06 요시토모 나라 추가), 작품 유형 라벨(원화/아트토이) 적용, 캐러셀 5카드 유지 + 섹션별 작가 로테이션(6인 중 5인씩 차등 노출)
2026.03.10작품 유형 배지 박스 스타일(10px border box) 적용 + 국문명 뒤 배치(영문명 overflow 방지)
2026.03.10하트→북마크 아이콘 전환, 마켓 5카드 가로스크롤(Full Bleed Carousel), scroll-snap + scroll-padding-left:24px, 원화 뱃지 삭제 + 세로 적층 텍스트, 마우스 드래그 스크롤 JS, 끝 spacer 24px
2026.03.10마켓 섹션: 실제 작품 이미지 적용(이배/김창열), 세로 스택 타이포(국문14px+영문12px serif), 매체 일반 텍스트화, 정방형 썸네일(1:1), 찜 아이콘 범용 처리(drop-shadow), PICK1→지금 주목할 작품, PICK2→컬렉터들의 선택, 디스크립션 전면 갱신(LOG-008), 폰 프레임 1700px
2026.03.10판단 프레이밍 카드 리디자인: 검정 블록→아웃라인 카드, 이모지→red-brand Lucide 아이콘, 섹션 타이틀 카피 변경, 여백 조정
2026.03.09안심영역 카피 확정, 헤더 로고/아이콘 시스템 에셋 교체, 타이포 스펙 피그마 동기화
2026.03.04초기 디자인 작성
Implementation Specification

1. 화면 구조 개요

HOM-001은 홈 기본 화면(default)이다. 로그인/비로그인 사용자 모두 접근 가능하며, 하단 내비게이션의 "홈" 탭 클릭 시 본 화면으로 이동한다.

  • 로그인 사용자라도 찜한 작품이 없고, 최근 본 작품이 없을 경우 본 화면이 기본 홈으로 노출
  • 전체 레이아웃은 세로 단방향 스크롤이며, 가로 스크롤은 캐러셀 섹션 내부에서만 발생
  • 뷰포트 기준 너비: 393px (iPhone 15 Pro 기준)

구성 요소 요약 테이블

# 영역 역할 스크롤
0Status Bar (iOS)시스템 상태 표시고정
1헤더 (로고 + 알림)브랜드 인식 + 알림 진입고정
2안심영역 카피서비스 소개 + CTA세로
구분선안심영역/판단영역 시각 분리
3판단 프레이밍 (선택 카드 2종)마켓/PS 진입 유도세로
4실시간 마켓 업데이트 (캐러셀)최신 공개 작품 5건 노출가로 스냅
5지금 주목할 작품 (캐러셀)에디터 큐레이션 5건 노출가로 스냅
6컬렉터들의 선택 (캐러셀)컬렉터 찜/거래 인기 5건가로 스냅
7소형 띠배너 (AD)Google 띠배너 광고세로
8하단 탭바 (Tab Bar)글로벌 내비게이션 4탭고정

2. 레이어 구조 + 치수

위에서 아래로 각 레이어의 역할, 정확한 치수, 사용 토큰을 기술한다. 모든 값은 디자인 산출물 인라인 스타일에서 추출한 실측값이다.

2-1. Status Bar (iOS)

  • 높이: 44px (시스템 영역, 개발자 제어 불가)
  • 구성: 좌측 시간(9:41), 우측 셀룰러/Wi-Fi/배터리 아이콘
  • 색상: #1d1d1f (iOS 시스템 기본)

2-2. 헤더 (Header)

  • 높이: 48px
  • 배경: var(--bg) var(--bg)
  • 패딩: 좌우 24px (padding: 0 24px)
  • 레이아웃: display:flex; align-items:center; justify-content:space-between
  • 좌측 — CHRT 로고 SVG: 72x19px, 본체 fill --charcoal var(--charcoal), 마침표 점 fill --red-brand var(--red-brand)
  • 우측 — 알림 아이콘(Lucide bell): 20x20px, stroke: var(--charcoal), stroke-width 1.5, fill none

2-3. 안심영역 (Hero Copy)

  • 패딩: top 32px, bottom 44px, 좌우 24px (padding: 32px 24px 44px)
  • 타이틀: "차트, 검증된 기준으로 / 거래하는 리세일 마켓."
    • "차트," 부분: color: var(--red-brand) var(--red-brand)
    • 나머지: color: #060606
    • font-family: var(--sans) Pretendard
    • font-size: 28px
    • font-weight: 800
    • line-height: 1.4
    • letter-spacing: -0.02em (var(--ls-tight))
    • margin: 0
  • CTA 버튼 "CHRT. 소개 보기":
    • margin-top: 24px (타이틀과의 간격)
    • display: inline-flex; align-items:center; gap:6px
    • padding: 10px 14px
    • min-height: 40px (var(--size-md-height))
    • border: 1px solid rgba(6,6,6,0.1)
    • background: transparent
    • border-radius: 0 (직각 원칙)
    • font: var(--sans) 13px / 500 / rgba(6,6,6,0.8)
    • letter-spacing: -0.01em
    • 우측 chevron-right 아이콘: 14x14px, stroke: currentColor, stroke-width 2, top -1.25px 보정

2-4. 구분선

  • 좌우 마진 24px (margin: 0 24px)
  • border-top: 1px solid /* NOTE: --alpha-6 미정의, 치환 보류 */rgba(6,6,6,0.06)

2-5. 판단 프레이밍 영역 (Choice Cards)

  • 패딩: top 32px, bottom 28px, 좌우 24px (padding: 32px 24px 28px)
  • 섹션 타이틀: "어떤 방식으로 찾으시겠어요?"
    • font: var(--sans) 17px / 700 / var(--charcoal) var(--charcoal)
    • letter-spacing: -0.02em
    • margin: 0 0 16px
  • 카드 레이아웃: display:flex; gap:12px (가로 2열 균등)
  • 각 카드 공통:
    • flex:1; min-height:120px
    • border: 1px solid var(--alpha-8)
    • background: transparent
    • padding: 20px 16px 16px
    • display:flex; flex-direction:column; gap:12px
    • border-radius: 0 (직각 원칙)
    • cursor: pointer
  • 카드 A "직접 찾을게요":
    • 아이콘: Lucide search 20x20px, stroke: var(--red-brand) var(--red-brand), stroke-width 1.5
    • 헤드라인: var(--sans) 14px / 600 / #060606 / letter-spacing -0.01em / line-height 1.3
    • 서브카피 "공개 마켓 탐색": var(--sans) 11px / 400 / rgba(6,6,6,0.4) / letter-spacing -0.005em / margin-top:auto
  • 카드 B "조용히 찾을래요":
    • 아이콘: Lucide lock 20x20px, stroke: var(--red-brand) var(--red-brand), stroke-width 1.5, rx="0" (직각 자물쇠)
    • 서브카피 "프라이빗 세일 의뢰"
    • 타이포/레이아웃은 카드 A와 동일
  • hover 인터랙션 (CSS 클래스 .hom-choice-card):
    • border-color: rgba(6,6,6,0.2)
    • background: rgba(6,6,6,0.015)
    • transition: border-color 0.2s, background 0.2s

2-6. Full Bleed Carousel — 공통 구조 (3개 섹션 공유)

아래 3개 섹션(실시간 마켓 업데이트 / 지금 주목할 작품 / 컬렉터들의 선택)은 동일한 Full Bleed Carousel 패턴을 사용한다.

  • 부모 컨테이너: padding: 20px 0 — 좌우 패딩 없음(Full Bleed)
  • 섹션 헤더: padding: 0 24px; margin-bottom:12px
    • display:flex; justify-content:space-between; align-items:center
    • 타이틀: var(--sans) 17px / 700 / var(--charcoal) var(--charcoal) / letter-spacing -0.02em
    • 우측 chevron: 8x14px SVG, stroke: var(--charcoal), stroke-width 1.5, linecap square, linejoin miter
  • 스크롤 컨테이너:
    • display:flex; gap:12px
    • overflow-x:auto; overflow-y:hidden
    • scroll-snap-type: x mandatory
    • scroll-padding-left: 24px
    • padding: 0 0 2px 24px — 좌측만 24px, 우측은 화면 끝까지 확장
    • -webkit-overflow-scrolling: touch
    • scrollbar-width: none (스크롤바 숨김)
    • cursor: grab (드래그 중 grabbing)
  • 카드 규격:
    • flex: 0 0 44%; min-width:0; scroll-snap-align:start
    • 초기 뷰포트에 2장 + 3번째 카드 12% peek (스크롤 힌트)
    • 카드 최대 5장 + 끝 spacer (flex:0 0 24px; min-width:24px)
  • 카드 내부 — 썸네일:
    • aspect-ratio: 1/1 (정방형)
    • background: var(--paper) var(--warm-paper) (이미지 로드 전 fallback)
    • position:relative; overflow:hidden
    • 이미지: width:100%; height:100%; object-fit:cover
    • 우측 상단 찜 아이콘 (별도 섹션 참조)
  • 카드 내부 — 텍스트 영역:
    • margin-top: 8px
    • 작가명(국문): var(--sans) 14px / 600 / #060606 / letter-spacing -0.02em / line-height 1.3
    • 작품유형 뱃지(원화/아트토이): display:inline-block; font-size:var(--text-2xs); font-weight:500; color:rgba(6,6,6,0.35); border:1px solid rgba(6,6,6,0.1); padding:1px 5px; margin-left:4px; vertical-align:baseline; letter-spacing:var(--ls-normal)
    • 작가명(영문): var(--serif) Libre Baskerville 12px / 400 / rgba(6,6,6,0.45) / line-height 1.3 / margin-top 2px

2-7. 소형 띠배너 (AD Banner)

  • 패딩: 12px 24px (상하 12px, 좌우 24px)
  • 배너 높이: 44px
  • 배경: var(--paper) var(--warm-paper)
  • 비율: 8.09:1 (Google 띠배너 기준 728x90 또는 320x50)
  • 질감: 리넨 텍스처 SVG 패턴 (4x4px 반복, opacity 0.6)
  • 라벨: "AD BANNER" — var(--mono) 10px / letter-spacing 0.08em / uppercase / var(--text-muted) / z-index:1

2-8. 하단 탭바 (Tab Bar)

  • 높이: 80px
  • 배경: var(--bg) var(--bg)
  • 상단 경계: border-top: 1px solid rgba(26,26,26,0.06)
  • 레이아웃: display:flex; align-items:center; justify-content:space-around; padding:0 24px
  • 포지셔닝: normal flow (position: static) — 고정 탭바 아님, 페이지 하단 자연 배치
  • 각 탭 아이템: display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px
아이콘 활성 스타일 비활성 스타일
홈 (active) Lucide house 24x24 stroke var(--red-brand), stroke-width 1.8, font-weight 600
마켓 Lucide shopping-cart 24x24 stroke var(--text-muted), stroke-width 1.5, font-weight 500
PS Lucide lock 24x24 stroke var(--text-muted), stroke-width 1.5, font-weight 500
MY Lucide user 24x24 stroke var(--text-muted), stroke-width 1.5, font-weight 500
  • 탭 라벨: var(--sans) 10px / letter-spacing -0.01em
  • 활성 탭: var(--red-brand)(red-brand) + stroke-width 1.8 + font-weight 600
  • 비활성 탭: var(--text-muted) + stroke-width 1.5 + font-weight 500

3. 핵심 인터랙션

사용자 동작 시스템 반응
헤더 로고 탭 별도 액션 없음 (홈 리프레시/이동 없음)
알림 아이콘 탭 (로그인) HOM-004 알림 내역 화면으로 이동
알림 아이콘 탭 (비로그인) LOG-008 로그인 안내 모달 노출 → 로그인 완료 시 HOM-004로 이동
CTA "CHRT. 소개 보기" 탭 차트 서비스 소개 랜딩 페이지로 이동 (화면 ID 추후 작성)
"직접 찾을게요" 카드 탭 MKT-001 마켓 화면으로 이동
"조용히 찾을래요" 카드 탭 프라이빗 세일 화면으로 이동 (화면 ID 추후 작성)
작품 카드 탭 (3개 캐러셀 공통) MKT-013 작품 상세 화면으로 이동
찜 아이콘 탭 (로그인) .is-saved 클래스 토글 → 찜 추가/해제 API 호출
찜 아이콘 탭 (비로그인) LOG-008 로그인 유도 모달 노출, 찜 동작 수행 안 됨
캐러셀 가로 스와이프/드래그 scroll-snap으로 카드 정렬, 드래그 중 snap 임시 해제 → 놓으면 복원
섹션 chevron(→) 탭 — 실시간 마켓 MKT-001 마켓 목록 화면으로 이동
섹션 chevron(→) 탭 — 지금 주목할 작품 "차트 PICK" 목록 화면으로 이동
섹션 chevron(→) 탭 — 컬렉터들의 선택 "차트 PICK" 목록 화면으로 이동
AD 배너 탭 연동된 외부 랜딩 페이지로 이동 (광고 SDK)
탭바 "마켓" 탭 MKT-001로 이동
탭바 "PS" 탭 Private Sale 화면으로 이동 (TBD)
탭바 "MY" 탭 MYP-001로 이동 (비로그인 시 LOG-001)

4. 상태 변화

4-1. 찜(북마크) 아이콘 상태

상태 CSS 클래스 시각 표현
비활성 (기본) .chrt-save fill:none, stroke:rgba(255,255,255,0.9), drop-shadow(0 1px 3px var(--alpha-40))
활성 (찜 완료) .chrt-save.is-saved fill:var(--red-brand), stroke:var(--red-brand), transition: fill 0.25s ease, stroke 0.25s ease
프레스 (탭 중) .chrt-save:active svg transform: scale(0.92), transition: transform 0.2s ease-out
  • 아이콘: Lucide bookmark SVG 18x18px, stroke-width 2
  • 히트박스: 28x28px (position:absolute; top:8px; right:8px; z-index:1)
  • 터치 타겟: 28px (최소 44px 권장이나, 주변 여백 포함 시 44px 이상 확보)
  • -webkit-tap-highlight-color: transparent

4-2. 판단 프레이밍 카드 상태

상태 border-color background
기본(default) var(--alpha-8) transparent
hover rgba(6,6,6,0.2) rgba(6,6,6,0.015)

4-3. 홈 화면 분기 (사용자 상태별)

사용자 상태 표시 화면
찜한 작품 있음 HOM-002
최근 본 작품 있음 / 찜 없음 HOM-003
둘 다 없음 (기본) HOM-001 (현재 화면)

5. 네비게이션 플로우

5-1. 어디서 오는가 (Incoming)

  • 앱 최초 실행 (비로그인 또는 찜/최근본 없는 로그인)
  • 하단 탭바 "홈" 탭 선택
  • 기타 화면에서 뒤로가기 시 홈으로 복귀

5-2. 어디로 가는가 (Outgoing)

트리거 목적지 화면 ID 비고
알림 아이콘 (로그인) HOM-004 알림 내역
알림 아이콘 (비로그인) LOG-008 (모달) 로그인 안내 → 완료 시 HOM-004
CTA "CHRT. 소개 보기" TBD 소개 랜딩 페이지
"직접 찾을게요" 카드 MKT-001 공개 마켓
"조용히 찾을래요" 카드 TBD 프라이빗 세일
작품 카드 (전체 캐러셀) MKT-013 작품 상세
찜 아이콘 (비로그인) LOG-008 (모달) 로그인 유도
chevron(→) — 실시간 마켓 MKT-001 마켓 목록
chevron(→) — 지금 주목할 작품 차트 PICK 목록 큐레이션 목록
chevron(→) — 컬렉터들의 선택 차트 PICK 목록 큐레이션 목록
AD 배너 외부 URL 광고 SDK 연동
탭바 "마켓" MKT-001
탭바 "PS" TBD Private Sale
탭바 "MY" MYP-001 / LOG-001 로그인 시 MYP-001, 비로그인 시 LOG-001

6. 에러/예외 처리

예외 상황 처리 방식
비로그인 상태에서 찜 아이콘 탭 LOG-008 로그인 안내 모달 노출. 찜 동작 수행되지 않음
비로그인 상태에서 알림 아이콘 탭 LOG-008 로그인 안내 모달 노출. 로그인 완료 시 HOM-004로 이동
캐러셀 작품 데이터 0건 (API 실패/빈 결과) 해당 캐러셀 섹션 자체를 숨김 처리 (빈 상태 UI 없음)
작품 이미지 로드 실패 background fallback var(--paper) var(--warm-paper) 노출
찜한 작품 있는 로그인 사용자 진입 HOM-001이 아닌 HOM-002로 자동 리다이렉트
최근 본 작품 있고 찜 없는 로그인 사용자 HOM-001이 아닌 HOM-003으로 자동 리다이렉트

7. 모션 스펙

CHAART 모션 원칙: 절제되고 고급스러운 인상. 바운시/스프링 효과 금지, ease/ease-out 위주.

요소 속성 duration easing
판단 카드 hover border-color, background 0.2s ease (기본)
찜 아이콘 — 프레스 스케일 transform (scale) 0.2s ease-out
찜 아이콘 — 활성 색상 전환 fill, stroke 0.25s ease
캐러셀 scroll-snap scroll-behavior 브라우저 기본 브라우저 기본 (smooth)

8. 여백 · 간격 요약

영역 padding / margin gap
헤더 padding: 0 24px / height: 48px
안심영역 padding: 32px 24px 44px 타이틀→CTA: margin-top 24px
구분선 margin: 0 24px
판단 프레이밍 padding: 32px 24px 28px 타이틀→카드: margin-bottom 16px / 카드간 gap: 12px
캐러셀 섹션 (x3) padding: 20px 0 헤더 px: 24px / 카드간 gap: 12px / 스크롤 padding-left: 24px
캐러셀 헤더→카드 margin-bottom: 12px
카드 썸네일→텍스트 margin-top: 8px 국문→영문: margin-top 2px
캐러셀 끝 spacer flex: 0 0 24px / min-width: 24px
AD 배너 padding: 12px 24px
하단 탭바 padding: 0 24px / height: 80px 아이콘→라벨: gap 3px

9. 적용 디자인 토큰

9-1. 색상 토큰

토큰명 실제값 사용처
--bg var(--bg) 헤더 배경, 탭바 배경
--paper var(--warm-paper) 썸네일 fallback, AD 배너 배경
--charcoal var(--charcoal) 섹션 타이틀, chevron stroke, 로고 본체
--red-brand var(--red-brand) 타이틀 "차트," 강조, 로고 점, 활성 탭, 찜 활성, 카드 아이콘
--text-muted var(--text-muted) 비활성 탭 아이콘/라벨, AD 라벨
#060606 (하드코딩) 안심영역 카피 본문, 카드 헤드라인, 작가명
rgba(6,6,6,0.4) 카드 서브카피 (공개 마켓 탐색 / 프라이빗 세일 의뢰)
rgba(6,6,6,0.45) 영문 작가명
rgba(6,6,6,0.35) 작품유형 뱃지 텍스트
var(--alpha-8) 카드 border 기본, 뱃지 border
rgba(6,6,6,0.1) CTA 버튼 border, 뱃지 border
/* NOTE: --alpha-6 미정의, 치환 보류 */rgba(6,6,6,0.06) 안심/판단 구분선
rgba(26,26,26,0.06) 탭바 상단 border
rgba(255,255,255,0.9) 찜 비활성 아이콘 stroke
rgba(6,6,6,0.8) CTA 버튼 텍스트

9-2. 타이포그래피 토큰

요소 font-family size weight letter-spacing line-height
안심영역 타이틀 var(--sans) 28px 800 -0.02em 1.4
섹션 타이틀 var(--sans) 17px 700 -0.02em 기본
카드 헤드라인 var(--sans) 14px 600 -0.01em 1.3
CTA 버튼 var(--sans) 13px 500 -0.01em 기본
작가명 (국문) var(--sans) 14px 600 -0.02em 1.3
작가명 (영문) var(--serif) 12px 400 기본 1.3
작품유형 뱃지 var(--sans) 10px 500 0.01em 기본
카드 서브카피 var(--sans) 11px 400 -0.005em 기본
탭바 라벨 var(--sans) 10px 500/600 -0.01em 기본
AD 배너 라벨 var(--mono) 10px 400 0.08em 기본

9-3. 아이콘 토큰

아이콘 크기 stroke-width stroke/fill 비고
bell (알림) 20x20 1.5 var(--charcoal) 헤더 우측
search (검색) 20x20 1.5 var(--red-brand) 직접 찾을게요 카드
lock (자물쇠) 20x20 1.5 var(--red-brand) 조용히 찾을래요 카드, rx=0
chevron-right 14x14 (CTA) / 8x14 (섹션) 2 / 1.5 currentColor / var(--charcoal) CTA / 섹션 헤더
bookmark (찜) 18x18 2 rgba(255,255,255,0.9) / var(--red-brand)(활성) drop-shadow 적용
house (홈) 24x24 1.8 var(--red-brand) 활성 탭
shopping-cart (마켓) 24x24 1.5 var(--text-muted) 비활성 탭
lock (PS) 24x24 1.5 var(--text-muted) 비활성 탭
user (MY) 24x24 1.5 var(--text-muted) 비활성 탭

9-4. 레이아웃 토큰

토큰/값 실제값 사용처
전체 좌우 패딩 24px 헤더, 안심영역, 판단프레이밍, 섹션헤더, AD배너, 탭바
캐러셀 카드 너비 44% 3개 캐러셀 공통 (2장 + peek)
캐러셀 gap 12px 카드 사이 간격
판단카드 gap 12px 선택 카드 2종 사이
판단카드 내부 gap 12px 아이콘→헤드라인→서브카피
CTA 버튼 min-height 40px var(--size-md-height)
border-radius 0 모든 카드, 버튼, 배너 (직각 원칙)

9-5. CSS 클래스 레퍼런스

클래스 용도
.hom-choice-card 판단 프레이밍 선택 카드 — hover 시 border-color 0.08→0.2, background transparent→0.015 전환 (0.2s)
.chrt-save 찜(북마크) 아이콘 래퍼 — absolute top:8px right:8px, 28x28 터치 영역, cursor:pointer
.chrt-save.is-saved 찜 활성 상태 — fill/stroke var(--red-brand), 0.25s ease 색상 전환
.chrt-save:active 프레스 피드백 — svg scale(0.92), 0.2s ease-out
.sb-dp-homebar iOS Home Indicator bar (탭바 하단)

9-6. JS 스크롤 드래그 (마우스 드래그 스크롤)

  • 대상 컨테이너 ID: marketScroll, pickScroll, collectScroll
  • mousedown: 드래그 시작, cursor → grabbing, scroll-snap-type → none
  • mousemove: el.scrollLeft = scrollL - (x - startX)
  • mouseup / mouseleave: 드래그 종료, cursor → grab, scroll-snap-type → 'x mandatory'
  • e.preventDefault() 적용 — 이미지 드래그 방지
  • 모바일: 네이티브 터치 스크롤 (-webkit-overflow-scrolling: touch)

9-7. 디자인 원칙 준수 사항

  • 직각 원칙: 모든 카드, 버튼, 입력 필드, 배너는 border-radius: 0. 둥근 모서리 절대 금지
  • 전체 좌우 패딩: 24px 통일 (캐러셀 스크롤 컨테이너의 좌측만 예외적으로 적용, 우측은 Full Bleed)
  • 폰트 시스템: 한글 Pretendard(var(--sans)), 영문 Libre Baskerville(var(--serif)), 라벨 Space Grotesk(var(--mono))
  • 브랜드 컬러: var(--red-brand) (red-brand) — CTA 강조, 활성 탭, 찜 활성, 로고 점, 카드 아이콘에만 사용
  • 인터랙션 톤: 절제되고 고급스러운 모션. 바운시/스프링 효과 금지, ease/ease-out 위주
  • Scrollbar 숨김: 모든 가로 스크롤 영역 scrollbar-width: none
  • 터치 타겟: 인터랙티브 요소 최소 44px (찜 아이콘은 28px이나 패딩으로 44px 이상 확보 권장)
  • 안심영역 카피: "카피는 변경될 수 있음" — 텍스트 하드코딩하지 말고 API/CMS 연동 고려
← 이전 화면 다음 화면: HOM-002 →