.ip-intro{position:relative}
.ip-intro h1{margin:24px 0}
.ip-intro>.lede{max-width:760px;color:var(--text-muted)}
.ip-result{margin-top:36px;position:relative;box-shadow:inset 0 0 0 1px var(--border-soft),var(--shadow-card)}
.ip-result-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ip-result-head h2{font-size:24px;margin:0}
.ip-status{margin:20px 0;color:var(--text-muted);overflow-wrap:anywhere}
.ip-result.is-error .ip-status{color:var(--accent-dark)}
.ip-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
.ip-fields>div{padding-top:20px;border-top:1px solid var(--border)}
.ip-fields .ip-address{grid-column:1/-1}
.ip-fields dt{font-size:var(--size-small);color:var(--text-muted);margin-bottom:8px}
.ip-fields dd{margin:0;overflow-wrap:anywhere}
.ip-address dd{font-size:clamp(24px,3.5vw,42px);line-height:1.4}
.ip-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ip-copy-status{min-height:1.6em;font-size:var(--size-small);margin:12px 0}
.ip-footnote{font-size:var(--size-small);margin:0;padding-top:16px;border-top:1px solid var(--border-soft)}
.ip-reading .section+.section{border-top:1px solid var(--border)}
.ip-reading .card p:last-child,.ip-reading .panel p:last-child{margin-bottom:0}
.ip-dns-note{padding:24px;border-radius:var(--r-small)}
.ip-dns-note p{margin-bottom:0;color:var(--text-muted)}
.ip-checklist{display:grid;gap:24px;margin:0;padding-left:24px}
.ip-checklist li{padding-left:8px}
.ip-checklist li::marker{color:var(--accent-dark);font-family:var(--font-mono)}
.ip-checklist h3{font-size:20px;margin-bottom:8px}
.ip-checklist p{color:var(--text-muted);margin:0}
.ip-text-link,.ip-reading .callout a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:768px){
  .ip-fields{grid-template-columns:minmax(0,1fr);gap:20px}
  .ip-result{margin-top:28px}
  .ip-result-head h2{font-size:22px}
}