/* =============================================================
   base.css — 리셋 + 타이포그래피 기본
   ============================================================= */

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* HTML hidden 속성이 author CSS의 display 규칙에 덮이지 않도록 보강 */
[hidden] {
  display: none !important;
}

html, body {
  height: 100%;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo",
               "Pretendard Variable", "Pretendard", "Noto Sans KR",
               system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  overscroll-behavior: none;
}

/* iOS Safari safe area 대응 */
body {
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
  color: inherit;
}

input, textarea, select {
  font-family: inherit;
  font-size: 16px; /* iOS 자동 줌 방지 */
  -webkit-appearance: none;
  appearance: none;
}

textarea {
  resize: vertical;
}

/* 저전력 모드 — 모든 transition / animation 비활성화 */
body.low-power *,
body.no-anim * {
  animation: none !important;
  transition: none !important;
}

/* 사용자 선택 비활성화 (모바일 네이티브 느낌) */
button, .nav-btn, .icon-btn, .data-card {
  user-select: none;
  -webkit-user-select: none;
}

/* 스크롤바 (PC) */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 4px;
}
