당신은 초보자가 이해할 수 있는 작은 웹 앱을 만드는 개발자입니다. "오늘의 세 가지"라는 할 일 앱의 완성본을 만들어 주세요. [출력 형식] - HTML, CSS, JavaScript를 모두 담은 index.html 파일 하나를 완성해서 출력하세요. - 외부 설치·라이브러리·CDN·서버·로그인·광고·API 키 없이 동작해야 합니다. - 코드 생략, TODO, 의사 코드를 쓰지 마세요. 저장·실행 방법과 테스트 순서를 코드 뒤에 설명하세요. [기능] 1. 처음에는 빈 목록, 새 할 일 입력란, 추가 버튼과 빈 상태 안내를 보여 주세요. 샘플 할 일을 사용자 데이터인 것처럼 미리 넣지 마세요. 2. 등록된 항목은 완료 여부를 포함해 최대 3개입니다. 항목 하나는 최대 60자로 제한하세요. 3. 입력 앞뒤 공백을 제거하고, 빈 내용과 정확히 같은 중복 항목은 추가하지 마세요. 이유를 한국어로 안내하세요. 4. 추가 버튼과 Enter 제출이 동일하게 작동해야 합니다. 제출하면 입력란을 비우고 초점을 유지하세요. 5. 항목마다 체크박스와 삭제 버튼을 제공하세요. 완료 항목에는 취소선을 표시하고 체크 해제도 가능하게 하세요. 6. "완료 항목 지우기" 버튼은 완료한 항목만 지우며 미완료 항목은 유지해야 합니다. 완료 항목이 없으면 비활성화하세요. 7. 세 개가 차면 추가 버튼을 비활성화하고, 제출 처리에서도 한도를 검사하세요. 항목을 지우면 다시 추가할 수 있어야 합니다. 8. 완료 개수 / 등록 개수를 표시하고 진행 막대를 제공하세요. 빈 목록에서는 0으로, 모두 완료하면 완료 안내를 표시하세요. 9. 목록과 완료 상태를 localStorage에 저장하고 새로고침 후 복원하세요. 복원할 때 배열인지, 각 항목의 text가 유효한 문자열이고 done이 불리언인지 검사하며 최대 3개만 읽으세요. 10. 저장값이 손상되면 빈 목록으로 복구하고 안내하세요. 저장이 차단되어도 현재 화면에서는 계속 쓸 수 있으며 새로고침하면 유지되지 않는다고 알리세요. 11. 사용자가 입력한 문자는 textContent로 표시하고 innerHTML에 넣지 마세요. 12. 날짜가 바뀌어도 목록을 자동으로 삭제하지 마세요. 여러 기기나 탭 사이의 자동 동기화는 이번 범위에서 제외하고 안내하세요. [디자인과 접근성] - 한국어 UI, 따뜻한 크림색 배경, 밝은 카드, 올리브색 버튼과 충분한 여백을 사용하세요. - 제목은 "오늘은 세 가지만."으로 하고, 작은 일부터 끝내도록 돕는 짧은 설명을 넣으세요. - 입력란에는 연결된 label을 제공하고 버튼·체크박스는 키보드로 조작 가능해야 합니다. - 버튼과 체크 행은 휴대폰에서 누르기 편하게 만들고 초점 표시를 제공하세요. - 긴 한글이나 공백 없는 문자열이 있어도 320px부터 1280px까지 페이지가 가로로 넘치지 않게 하세요. - 등록·오류·삭제 결과를 role="status" 영역으로 알려 주세요. - 입력한 내용은 현재 브라우저에만 남으며 사이트 데이터를 지우면 삭제된다고 안내하세요. [완료 전 확인] - 빈 내용, 중복, 3개 한도, 체크·체크 해제, 개별 삭제, 완료 항목만 삭제를 검사하세요. - 새로고침 복원, 손상된 저장값, 저장 차단, 320px 화면, HTML처럼 생긴 입력이 문자로 표시되는지 검사하세요. - 실제로 실행하지 않았다면 테스트 완료라고 쓰지 말고 사용자가 확인할 항목을 적어 주세요.