html,
body,
#root {
  min-height: 100%;
  margin: 0;
  background: #fafafb;
}

.biolinker-boot {
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(216, 232, 211, 0.64), rgba(250, 250, 248, 0.94)), #fafafb;
  padding: 24px;
}

.biolinker-boot,
.biolinker-boot * {
  box-sizing: border-box;
}

.biolinker-boot-card {
  display: grid;
  justify-items: center;
  gap: 18px;
}

html:not(.is-assistant-host) .biolinker-boot-card {
  transform: translateY(clamp(-120px, -12svh, -72px));
}

.login-page.session-loading-page .session-loading-card {
  transform: translateY(clamp(-120px, -12svh, -72px));
}

.biolinker-boot-card img {
  width: 150px;
  max-width: 48vw;
  height: auto;
  display: block;
  aspect-ratio: 600 / 118;
  object-fit: contain;
}

.biolinker-boot-spinner {
  width: 34px;
  height: 34px;
  border: 3px solid #cbd8c8;
  border-top-color: #216a30;
  border-radius: 999px;
  animation: biolinker-boot-spin 0.7s linear infinite;
}

html.is-assistant-host .biolinker-boot {
  width: min(100%, 400px);
  margin-inline: auto;
  background: #f4f7f1;
  padding: 18px;
}

html.is-assistant-host .biolinker-boot-card {
  transform: translateY(clamp(-96px, -11svh, -52px));
}

@media (min-width: 768px) {
  html.is-assistant-host,
  html.is-assistant-host body,
  html.is-assistant-host #root {
    background: #0e1408;
  }
}

@keyframes biolinker-boot-spin {
  to {
    transform: rotate(360deg);
  }
}
