.ip-intro {
  padding-bottom:40px;
}
.ip-intro h1 {
  margin-top:24px;
}
.ip-lead {
  color:var(--text-muted);
  font-size:var(--size-h3);
}
.ip-result {
  margin-top:32px;
  padding:28px;
}
.ip-result-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
}
.ip-result-heading h2 {
  margin:0;
  font-size:var(--size-h3);
}
.ip-fields {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 24px;
  margin:24px 0;
}
.ip-fields > div {
  min-width:0;
  padding:16px 0;
  border-bottom:1px solid var(--border);
}
.ip-fields .ip-address-field {
  grid-column:1 / -1;
}
.ip-fields dt {
  margin-bottom:8px;
  font-size:var(--size-small);
  color:var(--text-muted);
}
.ip-fields dd {
  margin:0;
  overflow-wrap:anywhere;
  font-weight:var(--weight-medium);
}
.ip-address-field dd {
  font-size:clamp(22px,4vw,32px);
  color:var(--accent-dark);
}
.ip-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.ip-feedback {
  margin:20px 0 0;
  font-size:var(--size-small);
  color:var(--text-muted);
}
.ip-feedback.is-error {
  color:var(--error);
}
.ip-copy-feedback {
  margin:8px 0 0;
  font-size:var(--size-small);
  color:var(--accent-dark);
}
.ip-copy-feedback:empty {
  display:none;
}
.ip-scope {
  margin-top:20px;
  font-size:var(--size-small);
}
.ip-guide {
  padding-bottom:var(--section-space);
}
.ip-guide section + section {
  margin-top:48px;
}
.ip-guide h3 {
  margin-top:28px;
}
.ip-guide p,
.ip-checklist {
  line-height:1.85;
}
.ip-checklist li {
  padding-left:4px;
  margin-bottom:18px;
}
@media (max-width:640px) {
  .ip-result {
    padding:20px;
  }
  .ip-fields {
    grid-template-columns:minmax(0,1fr);
  }
  .ip-actions .btn {
    width:100%;
  }
  .ip-lead {
    font-size:var(--size-body);
  }
}