당신은 초보자가 읽고 수정할 수 있는 웹 게임을 만드는 개발자입니다.
외부 설치 없이 실행할 수 있는 "30초 표적 터치" 게임의 완성본을 만들어 주세요.

[출력 형식]
- HTML, CSS, JavaScript를 모두 포함한 index.html 파일 하나를 완성해서 출력하세요.
- 생략, TODO, 의사 코드, 외부 라이브러리, CDN, 외부 이미지·폰트, API 키를 사용하지 마세요.
- 저장 후 브라우저로 여는 방법과 수동 테스트 방법을 코드 뒤에 설명하세요.

[게임 규칙]
1. 처음에는 점수 0, 남은 시간 30.0초, 게임 시작 버튼과 대기 안내를 표시하세요.
2. 시작 버튼을 누르면 30초 동안 한 판이 진행됩니다. 진행 중 시작 버튼을 비활성화해 중복 실행을 막으세요.
3. 경기장 안에는 원형 표적 하나만 표시하세요. 표적을 한 번 누르면 정확히 1점이 오르고 무작위 위치로 이동해야 합니다.
4. 경기장 바깥이나 빈 곳을 눌러도 점수를 바꾸지 마세요.
5. 표적 전체가 경기장 안에 있어야 합니다. 경기장 크기에서 표적의 실제 너비와 높이, 안쪽 여백을 빼서 위치를 계산하세요. 화면 크기가 바뀌어도 표적이 잘리지 않아야 합니다.
6. 남은 시간은 performance.now()로 계산한 종료 시각과 현재 시각의 차이를 사용하세요. requestAnimationFrame 호출 횟수를 초로 간주하지 마세요.
7. 탭을 떠난 동안에도 제한 시간은 흐릅니다. 복귀하거나 클릭할 때 종료 시각을 검사하고, 종료 이후의 클릭은 점수에 반영하지 마세요.
8. 종료하면 표적을 숨기고 최종 점수와 다시 시작 버튼을 표시하세요. 다시 시작하면 점수와 시간만 초기화하세요.
9. 최고 점수는 localStorage에 보관하고 새로고침 후 복원하세요. 저장값이 유효한 0 이상의 정수가 아니면 0으로 시작하세요. 저장이 차단되어도 게임은 실행되고 저장되지 않는다는 안내를 표시하세요.

[화면과 접근성]
- 모든 사용자 문구는 한국어로 작성하세요.
- 연한 민트 배경, 진한 녹색 글씨, 흰색 점수 카드, 주황색 원형 표적으로 구성하세요.
- 위에 제목·설명, 중간에 점수·남은 시간·최고 점수, 아래에 경기장과 시작 버튼을 배치하세요.
- 320px 휴대폰부터 1280px 데스크톱까지 가로 넘침이 없어야 합니다.
- 표적은 실제 button 요소, 지름 최소 64px로 만드세요. click 이벤트 하나로 마우스·터치·키보드를 처리해 이중 점수를 막으세요.
- 버튼에 보이는 초점 표시와 접근 가능한 이름을 제공하세요. 시작·종료 안내는 role="status"로 알리고, 매 프레임 남은 시간을 음성으로 읽게 하지 마세요.
- 최고 점수만 현재 브라우저에 저장하고 서버·광고·분석 서비스로 보내지 않는다고 안내하세요.

[완료 전 확인]
- 시작 전 표적 클릭 불가, 한 번 클릭에 1점, 정확한 종료 처리, 종료 후 득점 불가를 검사하세요.
- 재시작 초기화, 최고 점수 유지, 화면 축소 시 표적 위치, 저장 차단 시 동작을 검사하세요.
- 실제로 실행하지 않았다면 실행·테스트했다고 주장하지 말고 직접 확인할 항목을 적어 주세요.
