diff --git a/docs/design/app/README.md b/docs/design/app/README.md
new file mode 100644
index 0000000..f1729f2
--- /dev/null
+++ b/docs/design/app/README.md
@@ -0,0 +1,55 @@
+# ARA SYSTEM 앱 — 디자인 기준
+
+안드로이드 앱(Flutter — `flutter/`)의 화면 기준이다. 보드는 웹과 같은 디자인 캔버스의 "앱 1단계 화면" 줄에 있고, 저장소 사본은 `docs/design/webmail/App1*.dc.html`(캔버스 사본 폴더 — `canvas.json` 이 모든 보드를 가리킨다)이다.
+**화면 글의 원본은 보드다** — 이 문서는 정한 것과 까닭만 적는다. 웹 README(`docs/design/webmail/README.md`)의 원칙 · 「화면 문구 — 사용자에게 말하듯」을 그대로 따르고, 다른 점만 여기에 적는다.
+
+## 앱 1단계 (2026-11-05 확정 — `App1Login` · `App1MailList` · `App1Reader` · `App1Compose` · `App1Shell`)
+
+첫 판은 안드로이드 먼저(Play 내부 테스트), 로그인 전체 + 메일 기본 + 새 메일 알림이다. iOS 는 맥 · Apple 개발자 계정을 준비한 뒤.
+
+### 크기 · 글꼴 (웹과 다른 점)
+- 누르는 곳 48(웹 44). 예외는 받는 사람 칩의 ✕ 40 하나(밀도 예외 — 사용자 확정).
+- 글자: 화면 글 15 · 입력 칸 16 · 메일 본문 15(줄 간격 1.75) · 위 막대 제목 18. 글꼴은 웹과 같은 Pretendard(Regular · Medium · SemiBold · Bold — OFL, 앱 안 라이선스 화면에 싣는다).
+- 색은 웹 토큰(`frontend/src/styles/tokens.css`) 그대로 — 바탕 #0B3640 · 강조 #0E7C86.
+- 휴대폰 틀에 가짜 상태 표시줄을 그리지 않는다.
+
+### 앱 틀 (`App1Shell`) — 모듈이 늘어나는 구조
+- **아래 탭 막대**(Material 3 NavigationBar · 높이 72 · 고른 탭은 청록 바탕 56×32 안의 아이콘)가 웹의 전역 앱 레일에 해당한다. 모듈 목록은 웹 `frontend/src/shared/constants/app-modules.ts` 와 짝(메일 · 캘린더 · 파일 · 주소록 · 설정 — 같은 이름 · 차례).
+- **켜진 모듈만 보인다**(웹은 준비 중 모듈을 꺼진 채 보이지만, 휴대폰의 누를 수 없는 탭은 어색해서 숨긴다). 첫 판은 [메일 · 설정], 캘린더 · 파일 · 주소록이 준비되면 하나씩 늘어난다.
+- 탭마다 이동 기록을 따로 지킨다(메일에서 읽던 화면이 설정 탭에 다녀와도 남는다). 읽기 · 쓰기는 탭 막대 없는 전체 화면이다.
+- 여러 통 고르기 중에는 탭 막대를 숨긴다(잠깐의 상태이고, 다른 탭으로 가면 고른 것을 잃는다). ✕ · 뒤로 가기로 나오면 다시 보인다.
+- 화면 낭독기 이름은 "앱 메뉴".
+- **설정 탭**: 내 정보(이름 · 주소) · 알림(새 메일 알림 켬/끔) · 앱 정보(앱 버전 · 오픈소스 라이선스) · 문의 연락처 · [로그아웃]. 비밀번호 · 2단계 인증 같은 계정 설정은 웹에서 한다.
+ [로그아웃]은 데이터를 지우는 일이 아니라 회색 테두리 단추이고, 누르면 확인 창(처음 초점 [취소]) — 로그아웃하면 이 휴대폰의 새 메일 알림도 오지 않는다고 알린다.
+
+### 로그인 (`App1Login`) — 네 단계
+- 단계는 웹 로그인 틀과 같다: 주소 · 비밀번호 → (2단계를 켠 직원) 인증 앱 코드 → (임시 비밀번호로 처음) 새 비밀번호 정하기 → (2단계 필수이고 아직 안 켬) 2단계 인증 켜기.
+- 첫 단계만 큰 브랜드 띠, 그다음 단계는 짙은 띠(56)에 ARA 마크와 [다른 계정으로 로그인] — 웹처럼 주소 줄 안에 단추를 두면 390 폭에 들지 않는다.
+- 칸 이름은 칸 위(웹과 같다 — 웹 · 앱을 함께 쓰는 직원에게 같은 모양, 오류 글도 칸 아래에 잘 보인다). 첫 단계 비밀번호 칸에 [보기].
+- 2단계 켜기는 같은 휴대폰이라 QR 을 찍을 수 없다 — [인증 앱에 추가](인증 앱을 바로 연다) · 키와 [복사](키를 직접 넣는 길) · 코드 칸. 인증 앱을 찾지 못하면 키를 직접 넣으라고 알린다.
+- 웹 첫 화면의 메일 프로그램(IMAP) 안내 줄은 넣지 않는다(앱이 메일 앱이다). 문의 연락처 줄은 웹과 같은 자리.
+
+### 메일 목록 (`App1MailList`)
+- 위 막대: 서랍 열기 · 메일함 이름 · 찾기. 서랍은 메일함만(안 읽은 수는 회색 글 — 뱃지 없음), 탭 막대 위까지 화면 전체를 덮는다.
+- 줄: 동그란 사진(40) · 보낸 사람 · 시각 / 제목 · 첨부 표시 / **미리 보기 한 줄**. 안 읽음은 굵게, 중요는 별.
+ 웹 목록은 미리 보기를 넣지 않지만 휴대폰은 폭이 좁아 제목 한 줄로는 메일을 가르기 어렵다 — 앱에서만 넣는다(사용자 확정).
+- 사진을 누르거나 줄을 길게 누르면 고르기 — 위 막대가 고르기 막대(읽음 표시 · 중요 표시 · 이동 · 삭제)로 바뀌고 탭 막대를 숨긴다. 삭제는 휴지통으로 옮기고 알림의 [되돌리기].
+- 당겨서 새로고침. 빈 메일함 · 빈 휴지통(30일 안내 글).
+- [메일 쓰기]는 넓은 단추로 탭 막대 위(아래에서 88). 알림이 뜨면 함께 올라간다.
+
+### 읽기 (`App1Reader`)
+- 위 막대: 뒤로 · 삭제 · 더 보기(안 읽음 표시 · 중요 표시 · 이동 · 스팸 신고). 아래 행동 막대: 답장 · 전체 답장 · 전달.
+- 머리(제목 · 보낸 사람 · 받는 사람 펼치기 · 시각)는 앱 화면, 본문은 앱 안 WebView — 스크립트를 끄고 앱이 감싼 문서의 CSP 로 바깥에 나가지 않는다. 외부 이미지는 안내 줄의 [이미지 보기]를 누르면 앱이 받아서 넣는다. 링크는 바깥 브라우저 · mailto 는 앱의 쓰기 화면.
+- 첨부 목록 — 받는 중에는 진행(%)을 보인다.
+
+### 쓰기 (`App1Compose`)
+- 위 막대: 닫기 · 첨부 · 보내기. 받는 사람 · 제목은 웹 쓰기 화면처럼 줄 왼쪽에 이름(칸 안에서 떠오르는 꼴이 아니다). 받는 사람 추천은 맞은 글자를 굵게.
+- 참조 · 숨은참조는 펼쳐서. **첨부는 제목 아래**(휴대폰은 본문이 길어지면 아래 첨부가 묻힌다) — 크기 · 빼기 · 올리는 중.
+- 본문은 글만(서식 편집은 다음 판). **서명은 본문과 따로 된 칸에 [서명 빼기]만** — 서명 고치기는 웹에서. 답장의 원본 메일은 접혀 있고 펼쳐 볼 수 있다.
+- 보낸 뒤에는 쓰기를 시작한 화면(읽기 · 목록)으로 돌아가고, 그 화면 아래에 "메일을 보냈습니다. [보내기 취소]"와 남은 시간 막대.
+
+### 새 메일 알림 (푸시)
+- 알림 내용은 "새 메일 N통"만 — 보낸 사람 · 제목이 Google · Apple 서버를 거치지 않게. 누르면 메일 모듈의 받은편지함으로(알림에는 모듈 이름과 id 만 싣는다).
+
+### 처음 판에서 미룬 것
+서식 편집 · 대용량 첨부 · 필터 · 주소록 화면 · 서명 고치기 · 계정 설정(웹에서) · 오프라인 저장 · iOS.
diff --git a/docs/design/webmail/App1Compose.dc.html b/docs/design/webmail/App1Compose.dc.html
new file mode 100644
index 0000000..7716f9f
--- /dev/null
+++ b/docs/design/webmail/App1Compose.dc.html
@@ -0,0 +1,289 @@
+
+
+
+
+앱 · 쓰기
+
+
+
+
+
+
+
+
+
+
새 메일 · 받는 사람 추천
+
+
+
+
새 메일
+
+
+
+
+
+
+
+
+
+
+
+
+ 이
+
+ 이도윤
+ doyun.lee@arasystem.it.kr
+
+
+
+ 이
+
+ 이도현
+ dohyun.lee@hanbit-partners.co.kr
+
+
+
+ 이
+
+ 이도연
+ doyeon.lee@arasystem.it.kr
+
+
+
+
+
+
+
+
+
+
+
+ 서명
+
김아라
+경영지원팀 · ARA SYSTEM
+02-000-0000
+
+
+
+
+
+
+
+
+
{{ p.label }}
+
+
+
+
답장
+
+
+
+
+
+
+ 이도윤
+
+
+
+
+
+
+ 박준호
+
+
+
+
+
+
+
+
+
+
+
+
+
+
첨부 2개
+ 파일당 최대 20MB · 합계 25MB
+
+
+
+
+
+ 회신_검토의견.docx
+ 38 KB
+
+
+
+
+
+
+ 현장사진_1104.jpg
+
+
+ 올리는 중 40%
+
+
+
+
+
+
+
+
+
+ 서명
+
김아라
+경영지원팀 · ARA SYSTEM
+02-000-0000
+
+
+
+
+
+
+ 원본 메일
+
+
보낸 사람
이도윤 <doyun.lee@arasystem.it.kr>
+
날짜
2026년 11월 5일 (목) 오전 10:42
+
제목
Re: 유지보수 계약 갱신 건
+
+
김아라님, 안녕하세요.
+
+말씀하신 조건으로 계약서 초안을 고쳐 첨부했습니다.
+기간은 1년이고, 단가는 작년과 같습니다.
+
+이번 주 안에 회신 주시면 다음 주 월요일에 서명하겠습니다.
+
+이도윤 드림
+
+
+
+
+
보내기를 취소했습니다. 쓰던 메일로 돌아왔습니다.
+
+
+
+
+
+
보낸 뒤 (답장을 시작한 읽기 화면으로)
+
+
+
+
+
+
+
+
+
+
Re: 유지보수 계약 갱신 건
+
+ 이
+
+
+ 이도윤
+ 오전 10:42
+
+
+
+
+
김아라님, 안녕하세요.
+
+말씀하신 조건으로 계약서 초안을 고쳐 첨부했습니다.
+기간은 1년이고, 단가는 작년과 같습니다.
+
+이번 주 안에 회신 주시면 다음 주 월요일에 서명하겠습니다.
+
+이도윤 드림
외부 이미지를 차단했습니다. 개인정보 보호를 위해 보낸 사람 서버의 이미지는 불러오지 않습니다.
+
+
+
+
+
안녕하세요, 한빛파트너스 고객지원팀입니다.
+
+11월 정기 점검 일정을 안내해 드립니다.
+점검하는 동안에는 고객 포털 접속이 잠시 끊깁니다.
+
+일시: 11월 15일 (토) 오전 2:00부터 오전 5:00까지
+대상: 고객 포털, 원격 지원 서비스
+
+자세한 내용은 첨부한 안내문을 확인해 주세요.
+감사합니다.