.ip-page{max-width:var(--content-width)}
.ip-page h1{margin:12px 0 24px}
.ip-intro{max-width:var(--reading-width);line-height:1.85}
.ip-result{margin-top:32px}
.ip-result-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.ip-result-head h2{margin:0}
.ip-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}
.ip-field{min-width:0;padding:20px;background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--r-sm)}
.ip-field dt{font-size:var(--fs-small);color:var(--muted)}
.ip-field dd{margin:10px 0 0;font-weight:600;overflow-wrap:anywhere}
.ip-address-field{grid-column:1 / -1;background:var(--accent-soft);border-color:var(--accent-line)}
.ip-address-field dd{font-size:clamp(22px,3vw,36px);color:var(--accent-dark)}
.ip-actions{gap:12px}
.ip-copy-status{min-height:24px;margin:16px 0 0;font-size:var(--fs-small)}
.ip-section{margin-top:48px}
.ip-section>h2{margin-top:0}
.ip-section p{line-height:1.85}
.ip-section .card h3{margin-top:0}
.ip-section .card p{color:var(--muted);margin-bottom:0}
.ip-checklist{margin:24px 0;padding-left:28px}
.ip-checklist li{padding-left:8px;margin-bottom:24px}
.ip-checklist li::marker{color:var(--accent);font-family:var(--f-mono);font-weight:600}
.ip-checklist h3{font-size:var(--fs-h3);margin:0 0 8px}
.ip-checklist p{margin:0;color:var(--muted)}
.ip-privacy p:last-child{margin-bottom:0}
@media(max-width:768px){
  .ip-fields{grid-template-columns:1fr}
  .ip-section{margin-top:36px}
}
@media(max-width:640px){
  .ip-actions{align-items:stretch;flex-direction:column}
  .ip-field{padding:16px}
}