/* Chrome100 has no dynamic viewport units. Keep the immutable release CSS
   intact and apply equivalent viewport bounds only where dvh is unavailable. */
@supports not (height: 100dvh) {
  .language-onboarding { min-height: 100vh; }
  .madmi-account-shell { min-height: calc(100vh - 4.75rem); }
  .madmi-auth-choice { min-height: calc(100vh - 10rem); }
  .min-h-\[100dvh\] { min-height: 100vh; }
  .min-h-\[calc\(100dvh-6rem\)\] { min-height: calc(100vh - 6rem); }

  @media (min-width: 641px) {
    /* The existing <=640px Day1 design deliberately sets min-height:0. */
    .day1-intro { min-height: min(66rem, calc(100vh - 13rem)); }
  }
  @media (min-width: 700px) {
    #app { min-height: 100vh; }
    body[data-route="level"] #view > div.level-page {
      height: calc(100vh - 9.8rem);
      max-height: calc(100vh - 9.8rem);
    }
  }
  @media (min-width: 700px) and (orientation: landscape) {
    body[data-route="card"] .card-3d-perspective {
      width: min(100%, 23rem, 48vh);
    }
  }
  @media (max-width: 420px) {
    .madmi-auth-choice { min-height: calc(100vh - 9rem); }
  }
  @media (orientation: portrait) and (min-width: 700px) and (max-aspect-ratio: 2 / 3) {
    /* Preserve v167's Redmi/MIUI tall-phone single-column recovery. */
    body[data-route="level"] #view > div.level-page {
      height: auto;
      max-height: none;
    }
  }
}
