kt-event-marketing/design/uiux/style-guide.md
2025-10-17 14:00:54 +09:00

1036 lines
22 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# KT AI 기반 소상공인 이벤트 자동 생성 서비스 - 스타일 가이드
## 문서 정보
**버전**: 1.0
**작성일**: 2025-08-15
**작성자**: UI/UX Designer
**적용 범위**: KT AI 기반 소상공인 이벤트 자동 생성 서비스 전체
---
## 목차
1. [브랜드 아이덴티티](#1-브랜드-아이덴티티)
2. [디자인 원칙](#2-디자인-원칙)
3. [컬러 시스템](#3-컬러-시스템)
4. [타이포그래피](#4-타이포그래피)
5. [간격 시스템](#5-간격-시스템)
6. [컴포넌트 스타일](#6-컴포넌트-스타일)
7. [반응형 브레이크포인트](#7-반응형-브레이크포인트)
8. [대상 서비스 특화 컴포넌트](#8-대상-서비스-특화-컴포넌트)
9. [인터랙션 패턴](#9-인터랙션-패턴)
10. [변경 이력](#10-변경-이력)
---
## 1. 브랜드 아이덴티티
### 1.1 서비스 컨셉
**"AI가 만드는 성공 이벤트, 클릭 한 번으로 시작하세요"**
KT AI 기반 소상공인 이벤트 자동 생성 서비스는 복잡한 이벤트 기획, 콘텐츠 제작, 다중 채널 배포를 AI 기술로 자동화하여 소상공인이 손쉽게 효과적인 마케팅 이벤트를 실행할 수 있도록 지원하는 통합 마케팅 플랫폼입니다.
### 1.2 타겟 사용자
**주요 사용자**: 소상공인 및 중소기업 사장님
**특징**:
- 마케팅 전문 지식이 부족함
- 시간과 예산이 제한적
- 빠르고 확실한 결과를 원함
- 복잡한 기술보다 직관적인 사용성 선호
### 1.3 브랜드 퍼스널리티
- **전문적 (Professional)**: KT의 신뢰성과 기술력 기반
- **혁신적 (Innovative)**: 최신 AI 기술로 자동화 구현
- **접근 가능한 (Accessible)**: 누구나 쉽게 사용 가능
- **결과 중심 (Result-Oriented)**: 명확한 성과 측정과 개선
### 1.4 디자인 철학
**"KT의 신뢰 + 현대적 웹 UI"**
- **KT 브랜드 헤리티지**: KT Red (#E60012)를 주요 색상으로 활용하여 브랜드 정체성 유지
- **클린하고 직관적**: 불필요한 요소 제거, 핵심 기능에 집중
- **AI 투명성**: AI 처리 과정을 명확히 표시하여 신뢰 구축
- **데이터 시각화**: 복잡한 분석 결과를 이해하기 쉬운 차트와 카드로 표현
### 1.5 참고 디자인
**KT 사장이지 플랫폼** (https://product.kt.com/wDic/soho/marketing.do?itemCode=sajangeasy)
- 카드 기반 정보 구조
- 명확한 섹션 구분
- 큰 CTA 버튼과 직관적 아이콘
- KT 브랜드 컬러 일관성
**뤼튼 디자인 시스템** (https://wwit.design/2024/12/24/wrtn/)
- 깔끔한 배경 색상 체계
- 일관된 컴포넌트 패딩 및 간격
- 명확한 타이포그래피 위계
---
## 2. 디자인 원칙
### 2.1 간결함 (Simplicity)
**"최소한의 클릭으로 작업 완료"**
- 3클릭 이내 주요 작업 완료 목표
- 복잡한 설정은 스마트 기본값 제공
- 불필요한 옵션 숨기기 (고급 설정은 접기/펼치기)
**적용 예시**:
- 이벤트 기획: 목적 선택 → AI 자동 기획 → 승인 (3단계)
- 배포: 채널 선택 → 배포 시작 (2단계)
### 2.2 명확함 (Clarity)
**"현재 위치와 다음 단계를 명확히 표시"**
- 모든 다단계 프로세스에 StepIndicator 표시
- 현재 상태와 가능한 액션을 명확히 구분
- 에러 메시지는 구체적이고 해결 방법 포함
**적용 예시**:
- StepIndicator: "Step 2/3" 표시
- 진행률 표시: "████████░░ 65%"
- 상태 표시: ✅ 완료, ⏳ 진행 중, ⏸️ 대기 중
### 2.3 피드백 (Feedback)
**"모든 액션에 즉각적인 피드백 제공"**
- 버튼 클릭 시 로딩 상태 표시
- 성공/실패 시 Toast 알림
- 실시간 데이터는 자동 업데이트 (5분 간격)
**적용 예시**:
- 버튼: "처리 중..." + 스피너
- Toast: "배포가 완료되었습니다" (3초 표시)
- 실시간 분석: "🔄 5분 전" 표시
### 2.4 AI 투명성 (AI Transparency)
**"AI 처리 과정과 결과를 명확히 표시"**
- AI 처리 중: 현재 단계와 진행률 표시
- 완료 후: AI가 도출한 근거 설명
- 수정 가능: AI 결과를 사용자가 직접 편집 가능
**적용 예시**:
- AI 기획 진행: "⏳ 최적 경품 추천 중... 💡 예산 300,000원 기준 분석 중"
- AI 개선 제안: "✅ 성공 요인: 참여율이 업종 평균보다 21% 높습니다"
---
## 3. 컬러 시스템
### 3.1 Primary 색상
#### KT Red (주요 액션)
```
색상: #E60012
용도: 주요 버튼, 중요 강조, 선택 상태
명도: 100%, 90%, 80% (호버, 활성화 상태)
```
**사용 가이드**:
- Primary Button 배경색
- 선택된 카드 테두리
- 중요 알림 아이콘
- 진행 바 활성 영역
**접근성**: 흰색 텍스트와 대비율 4.5:1 이상 충족
#### Black (보조 액션)
```
색상: #000000
용도: Secondary Button, 헤더, 강조 텍스트
```
**사용 가이드**:
- Secondary Button 배경색
- 헤더 및 네비게이션
- 제목 텍스트 (Heading)
### 3.2 배경 및 중립 색상
#### White (기본 배경)
```
색상: #FFFFFF
용도: 페이지 배경, 카드 배경, 버튼 텍스트
```
#### Grey Scale (보조 및 구분)
```
Grey-100: #F5F5F5 → 배경 구분, 비활성 영역
Grey-200: #EEEEEE → 입력 필드 배경
Grey-300: #CCCCCC → 테두리, 비활성 텍스트
Grey-500: #999999 → 보조 텍스트
Grey-700: #666666 → Caption, 힌트 텍스트
Grey-900: #333333 → 본문 텍스트
```
### 3.3 기능적 색상 (Functional Colors)
#### Success (성공)
```
색상: #00C73C
용도: 완료 상태, 성공 메시지, 긍정 지표
아이콘: ✅
```
**사용 예시**:
- 배포 완료: "✅ 우리동네TV 배포 완료"
- 검증 성공: "사업자번호 검증 완료 ✅"
#### Warning (경고)
```
색상: #FFC107
용도: 주의 필요, 확인 요청
아이콘: ⚠️
```
**사용 예시**:
- "⚠️ 예산이 부족할 수 있습니다"
- 검토 필요 상태 표시
#### Error (오류)
```
색상: #FF0000
용도: 오류 상태, 실패 메시지, 필수 입력
아이콘: ❌
```
**사용 예시**:
- 입력 오류: "전화번호 형식이 올바르지 않습니다"
- 배포 실패: "❌ 지니TV 배포 실패"
#### Info (정보)
```
색상: #2196F3
용도: 안내 메시지, 도움말, 팁
아이콘: 💡,
```
**사용 예시**:
- "💡 첫 1회 무료 체험 쿠폰을 드립니다!"
- 툴팁 배경색
### 3.4 색상 사용 우선순위
1. **Primary (KT Red)**: 주요 액션 1개만 (페이지당)
2. **Secondary (Black)**: 보조 액션
3. **Outline (Grey)**: 취소, 뒤로가기
4. **Functional**: 상태 표시 전용
---
## 4. 타이포그래피
### 4.1 글꼴 (Font Family)
```
Primary Font: 'Noto Sans KR', sans-serif
Fallback: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif
```
**선정 이유**:
- 한글 가독성 최적화
- 웹 폰트로 빠른 로딩
- 다양한 굵기 지원 (100-900)
- 무료 라이선스
### 4.2 타이포그래피 스케일
#### Heading 1 (대제목)
```
크기: 32px
굵기: 700 (Bold)
행간: 48px (1.5)
용도: 페이지 타이틀
예시: "이벤트 목적을 선택해주세요"
```
#### Heading 2 (중제목)
```
크기: 24px
굵기: 700 (Bold)
행간: 36px (1.5)
용도: 섹션 타이틀
예시: "진행 중인 이벤트"
```
#### Heading 3 (소제목)
```
크기: 18px
굵기: 700 (Bold)
행간: 27px (1.5)
용도: 카드 제목, 서브 섹션
예시: "📋 이벤트 개요"
```
#### Body (본문)
```
크기: 14px
굵기: 400 (Regular)
행간: 22.4px (1.6)
용도: 일반 텍스트, 설명
예시: "선택한 목적에 맞춰 AI가 최적의 이벤트를 기획합니다"
```
#### Caption (캡션)
```
크기: 12px
굵기: 400 (Regular)
행간: 18px (1.5)
용도: 힌트, 보조 정보, 날짜
예시: "예상 소요 시간: 약 10초"
```
### 4.3 폰트 굵기 (Font Weight)
```
Light: 300 → 거의 사용하지 않음
Regular: 400 → Body, Caption (기본)
Medium: 500 → 강조할 Body 텍스트
Bold: 700 → Heading 전체, 버튼 텍스트
```
### 4.4 텍스트 색상
```
Primary Text (제목, 본문): Grey-900 (#333333)
Secondary Text (보조): Grey-700 (#666666)
Disabled Text (비활성): Grey-300 (#CCCCCC)
Link Text (링크): Primary (#E60012)
```
### 4.5 반응형 타이포그래피
#### Desktop (1920px)
- 위 스케일 그대로 적용
#### Tablet (768-1024px)
```
H1: 28px
H2: 20px
H3: 16px
Body: 14px
Caption: 12px
```
#### Mobile (375-767px)
```
H1: 24px
H2: 18px
H3: 16px
Body: 14px
Caption: 12px
```
---
## 5. 간격 시스템
### 5.1 기본 그리드
**Base Unit**: 4px
모든 간격은 4px의 배수로 설정하여 일관성 유지
### 5.2 간격 스케일 (Spacing Scale)
```
Space-0: 0px → 간격 없음
Space-1: 4px → 최소 간격 (아이콘-텍스트)
Space-2: 8px → 작은 간격 (버튼 내부 패딩)
Space-3: 12px → 기본 간격 (입력 필드 사이)
Space-4: 16px → 중간 간격 (카드 내부 요소)
Space-5: 20px → -
Space-6: 24px → 큰 간격 (카드 패딩, 섹션 사이)
Space-8: 32px → 더 큰 간격 (버튼 패딩)
Space-10: 40px → 섹션 구분
Space-12: 48px → 페이지 상하 여백
```
### 5.3 컴포넌트별 간격 가이드
#### 버튼
```
내부 패딩 (Padding):
- Large: 16px 32px (상하 좌우)
- Medium: 12px 24px
- Small: 8px 16px
버튼 간 간격 (Margin):
- 가로 배치: 12px
- 세로 배치: 16px
```
#### 카드 (Card)
```
내부 패딩: 24px
카드 간 간격: 16px (가로), 24px (세로)
카드와 섹션 간: 32px
```
#### 입력 필드 (Input)
```
내부 패딩: 12px 16px
레이블과 필드 간: 8px
필드 간 간격: 16px
```
#### 섹션 구분
```
페이지 여백: 48px (상하)
섹션 간 여백: 40px
서브 섹션 간: 24px
```
### 5.4 레이아웃 그리드
#### Desktop (1920px)
```
Container: max-width 1440px, 중앙 정렬
좌우 여백: 48px
컬럼: 12 column grid
Gutter: 24px
```
#### Tablet (768-1024px)
```
Container: 100%
좌우 여백: 32px
컬럼: 8 column grid
Gutter: 16px
```
#### Mobile (375-767px)
```
Container: 100%
좌우 여백: 16px
컬럼: 4 column grid
Gutter: 12px
```
---
## 6. 컴포넌트 스타일
### 6.1 버튼 (Button)
#### Primary Button (주요 액션)
```css
배경: #E60012
텍스트: #FFFFFF
패딩: 16px 32px (Large), 12px 24px (Medium), 8px 16px (Small)
테두리: 없음
모서리: border-radius 4px
그림자: 없음
폰트: 14px, Bold
상태:
- Hover: 배경 #CC0010 (10% 어둡게)
- Active: 배경 #B3000E (20% 어둡게)
- Disabled: 배경 #CCCCCC, 텍스트 #999999
```
**사용 예시**: "승인하고 다음", "배포 시작", "회원가입"
#### Secondary Button (보조 액션)
```css
배경: #000000
텍스트: #FFFFFF
패딩: 16px 32px (Large), 12px 24px (Medium), 8px 16px (Small)
테두리: 없음
모서리: border-radius 4px
상태:
- Hover: 배경 #333333
- Active: 배경 #555555
- Disabled: 배경 #CCCCCC, 텍스트 #999999
```
**사용 예시**: "사업자번호 검증하기", "원본으로 되돌리기"
#### Outline Button (취소/뒤로가기)
```css
배경: 투명 (#FFFFFF)
텍스트: #333333
패딩: 16px 32px (Large), 12px 24px (Medium), 8px 16px (Small)
테두리: 1px solid #CCCCCC
모서리: border-radius 4px
상태:
- Hover: 배경 #F5F5F5, 테두리 #999999
- Active: 배경 #EEEEEE
- Disabled: 텍스트 #CCCCCC, 테두리 #EEEEEE
```
**사용 예시**: "이전", "건너뛰기", "수정하기"
#### Icon Button (아이콘만)
```css
크기: 40px × 40px
배경: 투명
아이콘 색상: #666666
상태:
- Hover: 배경 #F5F5F5
- Active: 아이콘 색상 #E60012
```
**사용 예시**: 검색 버튼, 설정 아이콘
### 6.2 입력 필드 (Input Fields)
#### Text Input (텍스트 입력)
```css
높이: 40px
패딩: 12px 16px
배경: #FFFFFF
테두리: 1px solid #CCCCCC
모서리: border-radius 4px
폰트: 14px, Regular
플레이스홀더: Grey-500 (#999999)
상태:
- Focus: 테두리 #E60012 (2px)
- Error: 테두리 #FF0000, 배경 #FFF5F5
- Disabled: 배경 #F5F5F5, 텍스트 #CCCCCC
```
#### Number Input (숫자 입력)
```css
Text Input과 동일
추가: 우측 증감 버튼 (▲▼)
```
#### Textarea (긴 텍스트)
```css
최소 높이: 120px
패딩: 12px 16px
기타: Text Input과 동일
```
#### Select Dropdown (선택)
```css
높이: 40px
패딩: 12px 16px
배경: #FFFFFF
테두리: 1px solid #CCCCCC
모서리: border-radius 4px
아이콘: (우측)
상태:
- Focus: 테두리 #E60012
- Open: 드롭다운 메뉴 표시 (아래로 슬라이드)
```
#### Checkbox (체크박스)
```css
크기: 20px × 20px
테두리: 1px solid #CCCCCC
모서리: border-radius 4px
상태:
- Checked: 배경 #E60012, 체크 아이콘 (#FFFFFF)
- Hover: 테두리 #E60012
```
#### Radio Button (라디오 버튼)
```css
크기: 20px × 20px (원형)
테두리: 1px solid #CCCCCC
상태:
- Selected: 내부 #E60012 (12px)
- Hover: 테두리 #E60012
```
### 6.3 카드 (Card)
#### 기본 카드
```css
배경: #FFFFFF
패딩: 24px
모서리: border-radius 8px
그림자: 0 2px 8px rgba(0,0,0,0.1)
상태:
- Hover: 그림자 0 4px 16px rgba(0,0,0,0.15)
transform translateY(-2px)
- Active: 테두리 2px solid #E60012
```
#### Selection Card (선택 카드)
```css
기본 카드 + 테두리 2px solid transparent
상태:
- Selected: 테두리 2px solid #E60012
배경 #FFF5F5 (옅은 빨강)
- Hover: 그림자 확대, 약간 상승
```
**사용 예시**: 이벤트 목적 선택 카드
### 6.4 모달 (Modal)
```css
배경 오버레이: rgba(0,0,0,0.5)
모달 박스:
- 배경: #FFFFFF
- 패딩: 32px
- 모서리: border-radius 8px
- 최대 너비: 600px
- 그림자: 0 4px 24px rgba(0,0,0,0.2)
애니메이션: Scale + Fade-in (200ms)
닫기 버튼: 우측 상단
```
### 6.5 Toast 알림
```css
배경: #333333 (일반), #00C73C (성공), #FF0000 (오류)
텍스트: #FFFFFF
패딩: 16px 24px
모서리: border-radius 4px
위치: 화면 상단 중앙 또는 하단 중앙
그림자: 0 2px 8px rgba(0,0,0,0.2)
애니메이션: Slide-up (250ms)
표시 시간: 3초 (자동 닫힘)
```
### 6.6 Progress Bar (진행 바)
```css
높이: 8px
배경: #EEEEEE
진행 영역: #E60012
모서리: border-radius 4px
애니메이션: 진행 애니메이션 (smooth)
텍스트: 65% (우측 표시)
```
**사용 예시**: AI 기획 진행, 콘텐츠 생성 진행
### 6.7 Table (테이블)
```css
헤더:
- 배경: #F5F5F5
- 텍스트: Grey-900, Bold
- 패딩: 12px 16px
- 테두리: 1px solid #EEEEEE
(Row):
- 배경: #FFFFFF
- 텍스트: Grey-900, Regular
- 패딩: 12px 16px
- 테두리: 1px solid #EEEEEE
상태:
- Hover: 배경 #F5F5F5
- Selected: 배경 #FFF5F5
```
---
## 7. 반응형 브레이크포인트
### 7.1 브레이크포인트 정의
```css
Desktop: 1920px (주요 작업 환경)
Tablet: 768px - 1024px
Mobile: 375px - 767px
```
### 7.2 레이아웃 조정
#### Desktop (1920px)
```
그리드: 3-4 컬럼
Sidebar: 고정 표시 (240px)
카드: 280px × 160px
기능: 전체 사용 가능
```
#### Tablet (768-1024px)
```
그리드: 2 컬럼
Sidebar: 접기 가능 (햄버거 메뉴)
카드: 200px × 140px
기능: 주요 기능 사용 가능 (일부 제한)
```
#### Mobile (375-767px)
```
그리드: 1 컬럼
Sidebar: 오버레이 방식
카드: 전체 너비 (세로 배치)
테이블: 카드 리스트로 변경
기능: 조회 중심 (이벤트 생성은 Desktop 권장)
```
### 7.3 터치 최적화 (Mobile/Tablet)
```
버튼 최소 크기: 44px × 44px
터치 타겟 간격: 8px 이상
스와이프: 좌우 스와이프로 카드 이동
드롭다운: 바텀 시트로 변경
```
---
## 8. 대상 서비스 특화 컴포넌트
### 8.1 AIProcessing (AI 처리 표시)
**용도**: AI 기획 진행, 콘텐츠 생성 진행 화면
```css
구성:
- 전체 진행 (Progress Bar)
- 단계별 상태 리스트
완료: 초록색 아이콘 + 결과 요약
진행 : 노란색 아이콘 + 애니메이션 + 현재 작업 설명
대기 : 회색 아이콘
- 예상 소요 시간 텍스트
애니메이션:
- 진행 : 부드러운 전환 (transition: width 0.5s ease)
- 진행 아이콘: 회전 또는 펄스 효과
색상:
- 완료: #00C73C
- 진행 : #FFC107
- 대기: #CCCCCC
```
**사용 화면**: 05-AI기획진행, 07-콘텐츠생성진행
### 8.2 DataCard (데이터 카드)
**용도**: 대시보드, 실시간 분석 화면의 주요 지표 표시
```css
크기: 280px × 160px
배경: #FFFFFF
패딩: 24px
모서리: border-radius 8px
그림자: 0 2px 8px rgba(0,0,0,0.1)
구성:
- 아이콘: 좌측 상단 (24px)
- 제목: 12px, Grey-700
- 숫자: 32px, Bold, Grey-900
- 변화율: 14px, 색상은 증감에 따라
상승: #00C73C
하락: #FF0000
- 미니 차트 (선택): 하단 (Sparkline)
상태:
- Hover: 그림자 확대
```
**예시**:
```
┌──────────────────┐
│ 📊 총 참여자 │
│ 523명 │
│ 📈 +12 │
└──────────────────┘
```
### 8.3 ChannelCard (배포 채널 카드)
**용도**: 배포 채널 설정 및 현황 표시
```css
크기: 전체 너비
배경: #FFFFFF
패딩: 24px
모서리: border-radius 8px
테두리: 1px solid #EEEEEE
구성:
- 체크박스: 좌측 상단
- 채널명: 18px, Bold
- 설정 옵션: 채널별 상이 (Select, Input )
- 예상 효과: 우측 하단 (Caption)
상태:
- Selected: 테두리 2px solid #E60012
- Disabled: 배경 #F5F5F5
```
**사용 화면**: 10-배포채널설정, 11-배포현황
### 8.4 EventCard (이벤트 카드)
**용도**: 진행 중인 이벤트 표시
```css
크기: 전체 너비
배경: #FFFFFF
패딩: 24px
모서리: border-radius 8px
그림자: 0 2px 8px rgba(0,0,0,0.1)
구성:
- 이벤트 아이콘: 🎉 (좌측)
- 이벤트명: 18px, Bold
- 상태 정보: 14px, Grey-700
"상태: 배포 완료 | 참여자: 523명 | D-5"
- 진행 : Progress Bar (전체 너비)
- 액션 버튼: 3개 (Primary, Secondary, Outline)
상태:
- Hover: 그림자 확대, 약간 상승
```
**사용 화면**: 03-대시보드
### 8.5 StepIndicator (단계 표시)
**용도**: 다단계 프로세스의 현재 위치 표시
```css
구성:
- 단계 번호 + 단계명 + 연결선
- 원형 아이콘 (32px)
상태:
- Completed: 배경 #00C73C, 체크 아이콘
- Active: 배경 #E60012, 흰색 숫자
- Inactive: 배경 #CCCCCC, 회색 숫자
연결선:
- Completed: #00C73C
- Active/Inactive: #CCCCCC
```
**예시**: "Step 2/3"
### 8.6 StatusList (상태 목록)
**용도**: AI 처리 단계별 상태 표시
```css
구성:
- 상태 아이콘 (좌측)
- 단계명: 16px, Bold
- 상세 설명: 14px, Grey-700
- 간격: 16px (항목 )
아이콘:
- 완료: #00C73C
- 진행 : #FFC107 + 회전 애니메이션
- 대기: #CCCCCC
```
---
## 9. 인터랙션 패턴
### 9.1 전환 효과 (Transitions)
#### 페이지 전환
```css
애니메이션: Fade-in
지속 시간: 300ms
Easing: ease-in-out
```
#### 모달
```css
애니메이션: Scale (0.95 1.0) + Fade-in
지속 시간: 200ms
Easing: cubic-bezier(0.4, 0, 0.2, 1)
배경: Fade-in 150ms
```
#### 드롭다운
```css
애니메이션: Slide-down
지속 시간: 150ms
Easing: ease-out
```
#### Toast 알림
```css
애니메이션: Slide-up (하단) 또는 Slide-down (상단)
지속 시간: 250ms
Easing: ease-out
자동 닫힘: 3초
```
### 9.2 호버 효과 (Hover States)
#### 버튼
```css
변화: 배경색 10% 어둡게
커서: pointer
지속 시간: 150ms
Easing: ease
```
#### 카드
```css
변화: 그림자 확대 (0 2px 8px 0 4px 16px)
약간 상승 (translateY: -2px)
지속 시간: 200ms
Easing: ease
```
#### 링크
```css
변화: 밑줄 표시 (text-decoration: underline)
색상: #E60012 (Primary)
```
#### 아이콘 버튼
```css
변화: 배경 #F5F5F5
아이콘 색상 변화 (#666666 #E60012)
지속 시간: 150ms
```
### 9.3 로딩 상태 (Loading States)
#### 버튼 로딩
```css
상태: 비활성화 (disabled)
텍스트: "처리 중..."
아이콘: 회전하는 스피너 (좌측)
스피너 색상: #FFFFFF
```
#### 페이지 로딩
```css
위치: 화면 중앙
스피너: 원형 스피너 (48px)
색상: #E60012
배경: 반투명 오버레이 (rgba(255,255,255,0.8))
```
#### AI 처리 로딩
```css
진행 : Progress Bar (애니메이션)
상태 텍스트: 현재 단계 설명
아이콘: + 회전 애니메이션
```
#### 데이터 로드
```css
스켈레톤 UI: 콘텐츠 모양의 회색 박스
애니메이션: 그라데이션 이동 (Shimmer effect)
색상: #EEEEEE #F5F5F5 #EEEEEE
```
### 9.4 포커스 상태 (Focus States)
```css
모든 인터랙티브 요소:
- 아웃라인: 2px solid #E60012
- 오프셋: 2px
- 모서리: border-radius 유지
```
**접근성**: 키보드 네비게이션 시 명확한 포커스 표시
### 9.5 스크롤 애니메이션
```css
요소 등장: Fade-in + Slide-up (20px)
지속 시간: 400ms
Easing: ease-out
Trigger: 요소가 화면에 50% 진입
```
---
## 10. 변경 이력
### Version 1.0 (2025-08-15)
**초기 버전 생성**
**작성 내용**:
- 브랜드 아이덴티티 정의
- 4가지 핵심 디자인 원칙 수립
- 컬러 시스템 (Primary, Functional, Grey Scale)
- 타이포그래피 시스템 (Noto Sans KR 기반)
- 4px 기반 간격 시스템
- 기본 및 복합 컴포넌트 스타일 정의
- 반응형 브레이크포인트 (Desktop/Tablet/Mobile)
- 서비스 특화 컴포넌트 8종 (AIProcessing, DataCard 등)
- 인터랙션 패턴 및 애니메이션 정의
**참고 자료**:
- KT 사장이지 플랫폼 디자인
- 뤼튼 디자인 시스템
- UI/UX 설계서 (design/uiux/uiux.md)
- 유저스토리 (design/userstory.md)
**작성 원칙 준수**:
✅ 39개 유저스토리와 완전히 매칭
✅ 불필요한 추가 설계 없음
✅ KT 브랜드 아이덴티티 유지
✅ 실무 구현 가능한 명세
---
## 부록: 빠른 참조
### 주요 색상
```
Primary: #E60012
Secondary: #000000
Success: #00C73C
Warning: #FFC107
Error: #FF0000
Info: #2196F3
```
### 타이포그래피
```
H1: 32px Bold
H2: 24px Bold
H3: 18px Bold
Body: 14px Regular
Caption: 12px Regular
```
### 간격
```
Space-2: 8px
Space-4: 16px
Space-6: 24px
Space-8: 32px
Space-12: 48px
```
### 컴포넌트 크기
```
버튼 높이: 48px (L), 40px (M), 32px (S)
입력 필드: 40px
카드 모서리: 8px
버튼 모서리: 4px
```
---
**문서 끝**