/* English Study Bot V40.2 SAFE
   Phone responsive hardening for legacy iOS Safari / Android WebView.
   Non-chapter pages only. */
@media screen and (max-width: 767px) {
  html.esb-mobile-responsive-v402,
  html.esb-mobile-responsive-v402 body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  html.esb-mobile-responsive-v402 *,
  html.esb-mobile-responsive-v402 *:before,
  html.esb-mobile-responsive-v402 *:after {
    box-sizing: border-box !important;
  }

  html.esb-mobile-responsive-v402 img,
  html.esb-mobile-responsive-v402 svg,
  html.esb-mobile-responsive-v402 canvas,
  html.esb-mobile-responsive-v402 video,
  html.esb-mobile-responsive-v402 iframe {
    max-width: 100% !important;
  }

  html.esb-mobile-responsive-v402 img,
  html.esb-mobile-responsive-v402 video {
    height: auto !important;
  }

  html.esb-mobile-responsive-v402 main,
  html.esb-mobile-responsive-v402 article,
  html.esb-mobile-responsive-v402 section,
  html.esb-mobile-responsive-v402 header,
  html.esb-mobile-responsive-v402 footer,
  html.esb-mobile-responsive-v402 nav,
  html.esb-mobile-responsive-v402 form,
  html.esb-mobile-responsive-v402 [role="main"] {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html.esb-mobile-responsive-v402 input,
  html.esb-mobile-responsive-v402 textarea,
  html.esb-mobile-responsive-v402 select,
  html.esb-mobile-responsive-v402 button {
    max-width: 100% !important;
    font-size: 16px;
  }

  html.esb-mobile-responsive-v402 p,
  html.esb-mobile-responsive-v402 li,
  html.esb-mobile-responsive-v402 dd,
  html.esb-mobile-responsive-v402 dt,
  html.esb-mobile-responsive-v402 td,
  html.esb-mobile-responsive-v402 th,
  html.esb-mobile-responsive-v402 a,
  html.esb-mobile-responsive-v402 span {
    overflow-wrap: break-word;
    word-wrap: break-word;
  }

  html.esb-mobile-responsive-v402 table {
    max-width: 100% !important;
  }

  html.esb-mobile-responsive-v402 .esb-mobile-scroll-table-v402 {
    display: block !important;
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  /* User center: robust old-Safari layout fallback. */
  html.esb-user-center-v402 body {
    overflow-x: hidden !important;
  }

  html.esb-user-center-v402 .esb-user-main-v402 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  html.esb-user-center-v402 .esb-user-main-v402 > * {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html.esb-user-center-v402 .esb-user-profile-card-v402 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    overflow: hidden !important;
  }

  html.esb-user-center-v402 .esb-user-profile-card-v402 * {
    min-width: 0 !important;
  }

  html.esb-user-center-v402 .esb-user-avatar-v402 {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
    border-radius: 22px !important;
    object-fit: cover !important;
    overflow: hidden !important;
    vertical-align: middle !important;
  }

  html.esb-user-center-v402 .esb-user-avatar-v402 img,
  html.esb-user-center-v402 img.esb-user-avatar-v402 {
    width: 76px !important;
    height: 76px !important;
    object-fit: cover !important;
  }

  html.esb-user-center-v402 .esb-user-orphan-dot-v402 {
    display: none !important;
  }

  html.esb-user-center-v402 .esb-user-redeem-v402,
  html.esb-user-center-v402 .esb-user-logout-v402 {
    max-width: 100% !important;
    height: auto !important;
    min-height: 44px !important;
    white-space: normal !important;
    line-height: 1.35 !important;
  }

  html.esb-user-center-v402 .esb-user-redeem-v402 {
    padding: 11px 18px !important;
  }

  html.esb-user-center-v402 .esb-user-logout-v402 {
    padding: 9px 16px !important;
  }

  html.esb-user-center-v402 .esb-user-stat-v402 {
    width: 48% !important;
    max-width: 48% !important;
    min-width: 0 !important;
    display: inline-block !important;
    vertical-align: top !important;
    margin: 1% 0.7% !important;
  }

  html.esb-user-center-v402 .esb-user-stat-v402 * {
    max-width: 100% !important;
    white-space: normal !important;
  }
}

/* Some old iPhones use a wide CSS layout viewport before/while meta viewport settles.
   JS adds this explicit device class so the same safety rules still apply. */
html.esb-legacy-phone-v402,
html.esb-legacy-phone-v402 body {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}
html.esb-legacy-phone-v402 *,
html.esb-legacy-phone-v402 *:before,
html.esb-legacy-phone-v402 *:after {
  box-sizing: border-box !important;
}
html.esb-legacy-phone-v402 img,
html.esb-legacy-phone-v402 svg,
html.esb-legacy-phone-v402 video,
html.esb-legacy-phone-v402 iframe {
  max-width: 100% !important;
}
