.page-content.install {
  padding-bottom: calc(96px + env(safe-area-inset-bottom));
}

.page-content.install .install-config-container {
  max-width: 900px;
  margin: auto;
}

.page-footer.page-footer-install {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 30;
}

.page-content.install form.ui.form .inline.field > label {
  text-align: right;
  width: 30%;
  padding-right: 10px;
  margin-right: 0;
}

.page-content.install .ui.form .field > .help,
.page-content.install .ui.form .field > .ui.checkbox:first-child,
.page-content.install .ui.form .field > .right-content {
  margin-left: calc(30% + 5px);
  width: auto;
}

.page-content.install form.ui.form input:not([type="checkbox"],[type="radio"]),
.page-content.install form.ui.form .ui.selection.dropdown {
  width: 60%;
}

.page-content.install form.ui.form .inline.field > .js-password-toggle-group {
  width: 60%;
}

.page-content.install form.ui.form details.optional.field[open] {
  padding-bottom: 10px;
}
.page-content.install form.ui.form details.optional.field[open]:not(:last-child) {
  border-bottom: 1px dashed var(--color-secondary);
}
.page-content.install form.ui.form details.optional.field[open] summary {
  margin-bottom: 10px;
}

.page-content.install form.ui.form details.optional.field * {
  box-sizing: border-box;
}

.page-content.install form.ui.form .field {
  text-align: left;
}

.page-content.install .ui .reinstall-message {
  width: 70%;
  margin: 20px auto;
  color: var(--color-red);
  text-align: left;
  font-weight: var(--font-weight-semibold);
}

.page-content.install .ui .reinstall-confirm {
  width: 70%;
  text-align: left;
  margin: 10px auto;
}

.install-language-balloon {
  position: fixed;
  right: 10.5rem;
  bottom: calc(56px + env(safe-area-inset-bottom));
  z-index: 40;
  max-width: 240px;
  padding: 0.75rem 0.9rem;
  border-radius: 8px;
  background: var(--color-green);
  color: var(--color-white);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  opacity: 0;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.install-language-balloon::after {
  content: "";
  position: absolute;
  right: 2rem;
  bottom: -8px;
  width: 16px;
  height: 16px;
  background: var(--color-green);
  transform: rotate(45deg);
}

.install-language-balloon.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.install-language-balloon.is-hidden {
  opacity: 0;
  transform: translateY(6px);
}

@media (max-width: 880px) {
  .page-content.install {
    padding-bottom: calc(150px + env(safe-area-inset-bottom));
  }

  .install-language-balloon {
    right: 1rem;
    bottom: calc(118px + env(safe-area-inset-bottom));
    max-width: min(240px, calc(100vw - 2rem));
  }

  .install-language-balloon::after {
    right: 1.5rem;
  }
}
