/* 모바일 터치 동작 공통 레이어 (TICKET-923, 사용자 티켓 10-17 "웹 모바일 터치 동작 정리 — 앱처럼")
   board/base.html이 맨 끝에 한 번 불러온다. 화면별 개별 수정은 두지 않는다.
   원칙: 핀치 줌은 막지 않는다(viewport에 maximum-scale·user-scalable 없음, gesture 차단 없음).
   읽는 글(본문 안내·약관·방 한마디·트레이너 이름·코드)은 선택 가능하게 두고, 조작 요소만 막는다.
   링크 길게 누르기(외부 링크 새 탭 메뉴)는 그대로 둔다. */

/* 3. 확대·탭 반응 — 더블 탭 확대·탭 지연 제거(핀치 줌은 유지), 가로 회전 글자 자동 확대 방지.
   touch-action은 조상 체인의 교집합으로 적용되므로 루트 둘에 두면 전체에 적용된다. */
html {
  touch-action: manipulation;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
body {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* 1. 길게 누르기 메뉴 막기 — 이미지·버튼·탭·칩·타일·카드 (이미지 끌기·저장 팝업 포함) */
img,
button,
[role="button"],
[role="tab"],
.btn,
.top-tab,
[class*="-tile"],
[class*="-chip"],
[class*="-card"] {
  -webkit-touch-callout: none;
}
img {
  -webkit-user-drag: none;
  user-drag: none;
}
/* 외부 링크 길게 누르기(새 탭 열기 메뉴)는 허용 */
a[href^="http"],
a[target="_blank"] {
  -webkit-touch-callout: default;
}

/* 2. 글자 선택 막기 — 조작 요소만(버튼·탭·칩·타일·헤더·시트 손잡이) */
button,
[role="button"],
[role="tab"],
summary,
.btn,
.top,
.top-tab,
.board-header-action,
[class*="-tile"],
[class*="-chip"],
[class*="__handle"],
[class*="-sheet__handle"],
/* 눌러서 이동·선택하는 링크·행·카드·토글·라벨 (본문 글·코드·이름 칸은 제외 — 아래 선택 가능 목록이 마지막에 이긴다) */
a[href],
label,
[role="switch"],
[role="menuitem"],
.tab,
[class*="-nav-card"],
[class*="-link-row"],
[class*="-home-link"],
[class*="__link"],
[class*="-link"],
[class*="__toggle"],
[class*="__opt"],
[class*="__btn"],
[class*="__close"],
[class*="-pick-row__opt"],
[class*="-boss-fold"],
[class*="-agree__all"],
[class*="-agree__item"],
[class*="-consent__"],
[class*="-qj-check"],
[class*="-result-choice"],
[class*="-wait-card"],
[class*="-dashed-btn"],
[class*="-home-create"],
[class*="-manage-row"],
.cs-card,
.g2-stp,
.g2-tzchip,
.g2a-kind,
.g2a-box,
.g2a-tile,
.g2-boss,
.g2-pointer {
  -webkit-user-select: none;
  user-select: none;
}

/* 그대로 선택 가능: 트레이너 코드·링크 주소(복사 버튼 안이어도 길게 눌러 선택)와 모든 입력칸 */
.code,
[data-trainer-code],
input,
textarea,
select {
  -webkit-user-select: text;
  user-select: text;
  -webkit-touch-callout: default;
}

/* 5. 스크롤 — 시트·다이얼로그·가로 스크롤 줄 안 끝에서 뒤 화면이 따라 움직이지 않게(913 스크롤 잠금과 함께).
   페이지 전체(html·body)는 건드리지 않는다. */
.board-sheet,
.board-sheet-scrim,
.board-dialog-overlay,
.cs-scroll,
.g2a-scroll,
.board-home-strip {
  overscroll-behavior: contain;
}

/* 6. 포커스 테두리는 키보드 접근(:focus-visible)만 — 터치 탭 때는 안 보이게 */
:focus:not(:focus-visible) {
  outline: none;
}
