* {
  -webkit-touch-callout: none;
}

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

*:focus {
  -webkit-tap-highlight-color: transparent;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

div {
  -webkit-tap-highlight-color: transparent;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

html {
  font-size: clamp(16px, 1.2vw, 16px);
  font-synthesis: none;
  font-synthesis-weight: none;
  -webkit-text-size-adjust: 100%;
}

html, body {
  font-family:
    -apple-system, /* iOS Safari / macOS */
    BlinkMacSystemFont, /* Chrome on macOS */
    "Segoe UI", /* Windows */
    Roboto, /* Android (AOS) */
    "Helvetica Neue", Helvetica, Arial, /* 추가 서체 */
    "Noto Sans KR", "Apple SD Gothic Neo", /* 한글 fallback */
    sans-serif; /* 최종 fallback */

  overscroll-behavior: none;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-weight: 500;
}

body {
  overflow-x: hidden;
  line-height: 1.5;
  background-color: white;
  color: #111111;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input::placeholder {
  color: #777777;
  opacity: 0.7;
  font-size: 0.84rem;
}
input::placeholder {
  user-select: none;
}
textarea::placeholder {
  user-select: none;
  color: #777777;
  opacity: 0.7;
  font-size: 0.84rem;
}
.placeholder-md::placeholder {
  user-select: none;
  color: #777777;
  opacity: 0.7;
  font-size: 0.92rem;
}
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  transition: background-color 5000s ease-in-out 0s; /* 배경색 변경 효과를 지연시킴 */
}

.selection-none {
  user-select: none;
  -webkit-user-select: none;
}

.no-scrollbar {
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}

.no-scrollbar::-webkit-scrollbar {
  display: none;
}

::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: rgba(128,128,128,0.2);
  border-radius: 10px;
}

::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.2);
  border-radius: 12px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(0,0,0,0.4);
}

::-webkit-scrollbar-button {
  display: none;
}
::-webkit-scrollbar-track-piece {}
::-webkit-scrollbar-corner {
  display: none;
}
::-webkit-resizer{
  display: none;
}

/* 이미지, 비디오 등의 요소의 최대 너비 제한 */
img,
video,
canvas {
  display: block;
  max-width: 100%;
}

/* 목록 기본 스타일 제거 */
ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 링크의 기본 스타일 제거 */
a {
  text-decoration: none;
  color: inherit;
}

/* 테이블 기본 스타일 재정의 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}