:root{
  --ip-address-size:clamp(24px,3.4vw,48px);
  --ip-intro-size:64px;
  --ip-rule-width:4px;
}
.ip-intro{padding-bottom:40px}
.ip-intro h1{font-size:var(--ip-intro-size);margin-top:24px}
.ip-result-section{padding-bottom:24px}
.ip-workbench{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-2xl);box-shadow:var(--hi-edge),var(--shadow-win);min-width:0}
.ip-workbench__bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;padding:24px 32px;background:var(--text);color:var(--porcelain);border-radius:var(--r-2xl) var(--r-2xl) 0 0}
.ip-caption{font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em}
.ip-workbench__bar .ip-caption{color:var(--sand)}
.ip-workbench__bar h2{color:var(--porcelain);font-size:var(--fs-h3);margin:8px 0 0}
.ip-workbench__body{padding:32px}
.ip-address-block{padding:24px;background:var(--panel-2);border-left:var(--ip-rule-width) solid var(--accent);border-radius:var(--r-md)}
.ip-address-block .ip-caption{color:var(--text-muted)}
.ip-address{font-size:var(--ip-address-size);line-height:1.4;margin-top:8px;overflow-wrap:anywhere}
.ip-address-note{margin-top:12px;font-size:var(--fs-sm);color:var(--text-muted)}
.ip-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0}
.ip-fields>div{min-width:0}
.ip-fields dt{font-size:var(--fs-sm);color:var(--text-muted);margin-bottom:8px}
.ip-fields dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.ip-actions{display:flex;flex-wrap:wrap;gap:12px}
.ip-feedback,.ip-copy-feedback,.ip-footnote{font-size:var(--fs-sm);color:var(--text-muted)}
.ip-feedback{margin-top:20px}
.ip-copy-feedback:not(:empty){margin-top:8px}
.ip-footnote{margin-top:20px}
.ip-reading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ip-reading p{color:var(--text-muted);line-height:1.85}
.ip-dns-section{background:var(--bg-deep)}
.ip-dns-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:48px;align-items:start}
.ip-dns-layout .section-head{margin:0}
.ip-dns-layout h2{margin-top:24px}
.ip-dns-guide ol{padding-left:24px;margin:0}
.ip-dns-guide li{padding-left:8px}
.ip-dns-guide li::marker{font-family:var(--font-mono);font-weight:700;color:var(--accent-dark)}
.ip-dns-guide li+li{margin-top:28px;padding-top:28px;border-top:1px solid var(--border)}
.ip-dns-guide h3{font-size:var(--fs-lede);margin-bottom:12px}
.ip-dns-guide p{color:var(--text-muted);line-height:1.85}
.ip-privacy h2{margin-top:24px}
.ip-privacy p{max-width:72ch;color:var(--text-muted)}
.ip-privacy p+p{margin-top:16px}
.ip-privacy__links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.callout a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:768px){
  :root{--ip-intro-size:36px}
  .ip-fields{grid-template-columns:minmax(0,1fr);gap:20px}
  .ip-fields>div+div{padding-top:20px;border-top:1px solid var(--border)}
  .ip-reading,.ip-dns-layout{grid-template-columns:minmax(0,1fr)}
  .ip-dns-layout{gap:28px}
}
@media(max-width:640px){
  .ip-workbench__bar,.ip-workbench__body{padding:24px}
  .ip-address-block{padding:20px}
}