/* Shared mobile, tablet and safe-motion safeguards for the public site. */
:root { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html { min-width: 320px; scroll-behavior: smooth; }
body { min-width: 0; max-width: 100%; overflow-x: clip; overscroll-behavior-y: none; }
img, svg, video, canvas { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
input, select, textarea { font-size: max(16px, 1em); }

@media (max-width: 768px) {
  body { padding-bottom: env(safe-area-inset-bottom); }
  .header, header { padding-left: max(12px, env(safe-area-inset-left)); padding-right: max(12px, env(safe-area-inset-right)); }
  .main-content, .content-area, .page-content, .container { min-width: 0; }
  .modal-content, .modal-card, .modal-box { width: min(100% - 24px, 480px) !important; max-height: min(86dvh, 720px); overflow-y: auto; }
}

@media (max-width: 480px) {
  .sidebar { max-width: calc(100vw - 54px); }
  .carousel-arrow, .banner-arrow { width: 34px; height: 34px; }
  .game-card, .content-card { min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
