/* Nền chung: reset, body, focus, giảm chuyển động */
*,*::before,*::after{box-sizing:border-box}
/* Khoá cứng tài liệu: app tự cuộn bên trong khung tin nhắn, nên TRANG
   không được cuộn chút nào. Thiếu chỗ này, iOS vẫn kéo được cả tài liệu —
   header chui lên dưới thanh trạng thái, hoặc lộ một dải trắng ở đáy.

   position:fixed trên body là cách chặn dứt điểm trên iOS; overflow:hidden
   một mình không đủ vì Safari vẫn cho kéo đàn hồi. */
html,body{
  margin:0; padding:0;
  height:100%;
  overflow:hidden;
  overscroll-behavior:none;
}
body{
  position:fixed;
  inset:0;
  width:100%;
  /* iOS không tự cuộn ô nhập vào tầm nhìn khi body cố định — việc đó do
     bộ máy né bàn phím lo bằng transform, nên không mất gì. */
  -webkit-overflow-scrolling:touch;
}
body{
  font:var(--text-callout); letter-spacing:var(--tracking-callout);
  background:var(--color-background-primary);
  color:var(--color-text-primary);
  text-size-adjust:100%; -webkit-text-size-adjust:100%;
  -webkit-font-smoothing:antialiased;
  overscroll-behavior:none;
}
button,input{font:inherit;color:inherit}
/* chữ nhấn trong câu = bản Emphasis (SemiBold) của text style */
b,strong{font-weight:600}
button{background:none;border:0;cursor:pointer;padding:0}
:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-6)}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important}
}
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
