/* Login, Passwort vergessen und Passwort-Reset: gemeinsames mobiles Layout. */
html { min-height: 100%; }
body {
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100dvh;
  height: auto;
  margin: 0;
  padding: 24px 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
  overflow-x: hidden;
}
body > .music-tools {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  margin: 0;
  width: min(100%, 420px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  flex-shrink: 0;
  z-index: 5;
}
body > .music-tools .music-language { flex-shrink: 0; }
body > .music-tools .reading-trigger { flex-shrink: 0; }
body > .music-tools .reading-settings > summary { white-space: nowrap; }
body > .music-tools .reading-panel {
  right: 0;
  left: auto;
  width: min(350px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  box-sizing: border-box;
  z-index: 20;
}
body > .login-container {
  flex: 0 1 auto;
  width: min(100%, 420px);
  max-width: 420px;
  min-width: 0;
  margin: 0;
  box-sizing: border-box;
}
body > .login-container input { max-width: 100%; }
@media (max-width: 420px) {
  body { padding: 18px 12px; gap: 16px; }
  body > .login-container { padding: 24px 20px; }
  body > .music-tools .reading-settings > summary { padding: 8px 10px; }
}
