/* 해피운세 앱 셸 — 모바일 480px 가운데 정렬, 화면 높이 꽉 채움 */
html, body { margin: 0; height: 100%; background: var(--hu-bg); }
body { font-family: var(--hu-font); color: var(--hu-ink); -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; }
.hu-stage { min-height: 100%; display: flex; justify-content: center; background: var(--hu-bg); }
.hu-frame { position: relative; width: 100%; max-width: var(--hu-app-max); height: 100vh; height: 100dvh; overflow: hidden; background: var(--hu-bg); }
@media (min-width: 520px) {
  .hu-stage { background: #F6EEDF; }
  .hu-frame { box-shadow: 0 0 0 1px var(--hu-line), 0 12px 40px rgba(120, 80, 30, 0.10); }
}
.hu-frame button:focus-visible, .hu-frame input:focus-visible, .hu-frame select:focus-visible, .hu-frame a:focus-visible { outline: 3px solid rgba(201, 72, 31, 0.45); outline-offset: 2px; }
.hu-frame input:focus, .hu-frame select:focus { outline: none; border-color: var(--hu-primary) !important; box-shadow: 0 0 0 3px rgba(201, 72, 31, 0.15); }
.hu-frame button[disabled] { cursor: default; }
.hu-frame img { -webkit-user-drag: none; user-select: none; }
.hu-frame ::-webkit-scrollbar { width: 0; height: 0; }
.hu-frame * { scrollbar-width: none; }
/* 하단 탭바: 아이폰 홈 인디케이터 여백 */
.hu-app > nav { padding-bottom: max(14px, env(safe-area-inset-bottom)) !important; }
/* 회원가입 첫 화면: 키가 작은 폰에서 산·캐릭터가 문구와 겹치지 않게 */
@media (max-height: 760px) {
  .hu-su-copy { padding-top: 96px !important; }
}
@media (max-height: 680px) {
  .hu-su-copy { padding-top: 64px !important; }
  .hu-su-mtn { height: 120px !important; }
  .hu-su-chars { transform: scale(0.82); transform-origin: bottom center; }
}
/* 스크롤 영역 안의 줄(가로 스크롤 탭 등)이 세로로 눌려 사라지지 않게 */
.hu-app [style*="overflow-y: auto"] > * { flex-shrink: 0; }
