.ip-intro {
  margin-bottom:var(--space-4);
}
.ip-result-body {
  padding:var(--space-4);
}
.ip-result-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:var(--space-2);
  margin-bottom:var(--space-3);
}
.ip-result-heading h2 {
  margin-bottom:0;
  font-size:var(--text-h3);
}
.ip-fields {
  margin:0 0 var(--space-3);
}
.ip-fields > div {
  padding-top:var(--space-2);
  padding-bottom:var(--space-2);
  border-bottom:1px solid var(--line);
}
.ip-fields dt {
  margin-bottom:var(--space-1);
  color:var(--muted);
  font-size:var(--text-sm);
}
.ip-fields dd {
  margin:0;
  overflow-wrap:anywhere;
}
.ip-address-row dd {
  font-family:var(--font-mono);
  font-size:var(--text-h3);
  line-height:1.5;
}
.ip-actions {
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2);
}
.ip-feedback {
  margin-top:var(--space-2);
  margin-bottom:0;
  font-size:var(--text-sm);
}
.ip-copy-feedback {
  margin-top:var(--space-1);
  margin-bottom:0;
  font-size:var(--text-sm);
}
.ip-copy-feedback:empty {
  display:none;
}
.ip-explainer,
.ip-privacy {
  margin-top:var(--space-8);
}
.ip-privacy h2 {
  font-size:var(--text-h3);
}
.ip-privacy p:last-child {
  margin-bottom:0;
}
@media (max-width:640px) {
  .ip-result-body {
    padding:var(--space-3);
  }
}