.source-setup {
  margin-top: 1.25rem;
  padding: clamp(1rem, 3vw, 1.75rem);
  border: 1px solid #d8def0;
  border-radius: 1.25rem;
  background: #fff;
  min-width: 0;
}
.source-setup-heading {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  align-items: center;
  justify-content: space-between;
}
.source-setup .source-setup-heading h2 { margin: 0; }
.source-setup .source-setup-origin {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem 1rem;
  font-size: .875rem;
  overflow-wrap: anywhere;
}
.source-setup-body { border-top: 1px solid #e4e8f5; padding-top: 1rem; }
.source-setup-body h3 { margin: 0; font-size: 1.125rem; }
.source-setup-body p { margin: .4rem 0 .85rem; }
.source-setup-body ul, .source-setup-body ol { padding-inline-start: 1.3rem; }
.source-setup-guides { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.source-setup-guides a {
  display: grid;
  align-content: start;
  gap: .2rem;
  min-width: 0;
  padding: .65rem .8rem;
  border: 1px solid #d8def0;
  border-radius: .75rem;
  background: #f6f7ff;
  text-decoration: none;
}
.source-setup-guides a:hover { border-color: currentColor; }
.source-setup code { font-size: .85em; overflow-wrap: anywhere; }
.source-setup .source-setup-status { margin: .9rem 0 0; font-size: .875rem; }
@media (max-width: 560px) {
  .source-setup-guides { grid-template-columns: minmax(0, 1fr); }
}
