/* ORAKSIL 공통 기본값: 세로 화면, 한 손 조작, 인앱 브라우저 터치 꼬임 방지 */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html, body { margin: 0; }
body {
  overscroll-behavior: none;
  -webkit-tap-highlight-color: transparent;
}
button { font: inherit; color: inherit; cursor: pointer; touch-action: manipulation; }
img { max-width: 100%; }
[hidden] { display: none !important; }

/* 게임 영역: 화면 높이를 꽉 채운다. 플레이 중(.is-locked)에는 스크롤·확대·선택이 일어나지 않는다 */
.orak-stage {
  height: 100vh;
  height: 100dvh;
  height: var(--orak-h, 100dvh); /* 인앱 브라우저는 dvh가 틀릴 때가 있어 실제 보이는 높이를 JS가 넣어 준다 */
  touch-action: pan-y;
  overscroll-behavior: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  overflow: hidden;
  position: relative;
}
.orak-stage.is-locked { touch-action: none; }
.orak-stage .scrollable { touch-action: pan-y; overflow-y: auto; -webkit-overflow-scrolling: touch; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
