.ip-intro{max-width:860px;margin-bottom:36px}
.ip-intro-copy{max-width:720px;margin-bottom:0;font-size:var(--fs-lead);color:var(--text-muted)}
.ip-result{min-width:0;background:var(--bg-panel);border:1px solid var(--accent);border-radius:var(--r-lg);box-shadow:0 0 0 3px var(--accent-06),0 24px 64px -30px var(--accent-12),inset 0 1px 0 var(--hi)}
.ip-result-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:20px 28px;border-bottom:1px solid var(--border);background:linear-gradient(var(--bg-panel),var(--bg-soft));border-radius:var(--r-lg) var(--r-lg) 0 0}
.ip-result-head h2{font-size:var(--fs-lead);margin:0}
.ip-result-body{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.ip-result-body>*{min-width:0}
.ip-address-block{padding:32px 28px}
.ip-field-label{color:var(--text-muted);font-size:var(--fs-nav);margin-bottom:16px}
.ip-address{font-size:var(--fs-h3);font-weight:var(--weight-semibold);line-height:1.5;overflow-wrap:anywhere;margin-bottom:20px}
.ip-address-note{font-size:var(--fs-nav);max-width:450px;margin:0}
.ip-fields{margin:0;padding:24px 28px;border-left:1px solid var(--border)}
.ip-fields>div{padding:12px 0}
.ip-fields>div+div{border-top:1px solid var(--border)}
.ip-fields dt{font-size:var(--fs-small);color:var(--text-muted);margin-bottom:4px}
.ip-fields dd{margin:0;font-weight:var(--weight-medium);overflow-wrap:anywhere}
.ip-result-actions{padding:20px 28px;border-top:1px solid var(--border)}
.ip-action-buttons{display:flex;flex-wrap:wrap;gap:12px}
.ip-status{font-size:var(--fs-nav);color:var(--text-muted);margin:16px 0 0;overflow-wrap:anywhere}
.ip-copy-fallback{padding:0 28px 24px}
.ip-copy-fallback label{display:block;margin-bottom:12px;font-size:var(--fs-nav)}
.ip-copy-fallback textarea{display:block;width:100%;max-width:100%;resize:vertical;padding:12px;border:1px solid var(--border-strong);border-radius:var(--r-field);background:var(--bg-soft);font-family:var(--font-mono);font-size:var(--fs-nav);overflow-wrap:anywhere}
.ip-explanation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.ip-explanation article{min-width:0;padding-top:20px;border-top:2px solid var(--border)}
.ip-explanation h3{font-size:var(--fs-brand)}
.ip-explanation p{color:var(--text-muted);margin-bottom:0}
.ip-page .callout a{text-decoration:underline;text-underline-offset:4px}
.ip-dns-section{padding-bottom:48px}
.ip-dns-section h3{font-size:var(--fs-lead)}
.ip-dns-steps{margin-bottom:0}
.ip-dns-steps li+li{margin-top:16px}
.ip-privacy{max-width:860px;border-top:1px solid var(--border);padding-top:32px}
.ip-privacy h2{font-size:var(--fs-h3)}
.ip-privacy p{color:var(--text-muted)}
@media(max-width:960px){
  .ip-explanation{grid-template-columns:1fr;gap:24px}
}
@media(max-width:640px){
  .ip-intro-copy{font-size:var(--fs-body)}
  .ip-result-body{grid-template-columns:1fr}
  .ip-result-head,.ip-address-block,.ip-result-actions{padding:20px}
  .ip-fields{border-left:0;border-top:1px solid var(--border);padding:8px 20px}
  .ip-address{font-size:var(--fs-lead)}
  .ip-copy-fallback{padding:0 20px 20px}
  .ip-action-buttons .btn{flex:1 1 auto}
}