.iplookup-intro{
  background:linear-gradient(180deg,var(--bg-top),var(--bg-bottom));
  border-bottom:1px solid var(--border-soft);
}
.iplookup-intro h1{
  max-width:1000px;
  margin:24px 0;
}
.iplookup-intro p{
  max-width:760px;
  margin:0;
  color:var(--muted);
}
.iplookup-results{
  padding-top:32px;
}
.iplookup-console{
  padding:0;
  overflow-wrap:anywhere;
}
.iplookup-chrome{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:24px 28px;
  border-bottom:1px solid var(--border-soft);
  border-radius:var(--radius-l) var(--radius-l) 0 0;
  background:linear-gradient(180deg,var(--white),var(--panel));
}
.iplookup-kicker{
  font-size:12px;
  color:var(--muted);
  letter-spacing:.08em;
}
.iplookup-chrome h2{
  margin:8px 0 0;
  font-size:28px;
}
.iplookup-status{
  margin:0;
  padding:16px 28px;
  background:var(--groove-soft);
  color:var(--muted);
  border-bottom:1px solid var(--border-soft);
}
.iplookup-console[data-state="error"] .iplookup-status{
  color:var(--error);
}
.iplookup-data{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin:0;
  padding:28px;
}
.iplookup-data>div{
  min-width:0;
}
.iplookup-data .iplookup-address{
  grid-column:1/-1;
  padding-bottom:24px;
  border-bottom:1px solid var(--border-soft);
}
.iplookup-data dt{
  margin-bottom:8px;
  font-size:14px;
  color:var(--muted);
}
.iplookup-data dd{
  margin:0;
  font-size:18px;
  font-weight:700;
  overflow-wrap:anywhere;
}
.iplookup-data .iplookup-address dd{
  font-size:clamp(24px,3.2vw,42px);
  line-height:1.4;
  letter-spacing:-.02em;
  user-select:text;
}
.iplookup-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  padding-inline:28px;
}
.iplookup-copy-status{
  min-height:24px;
  margin:12px 28px;
  font-size:14px;
  color:var(--muted);
}
.iplookup-footnote{
  margin:0;
  padding:20px 28px;
  background:var(--ink-2);
  color:var(--on-dark);
  border-radius:0 0 var(--radius-l) var(--radius-l);
  font-size:13px;
}
.iplookup-page .iplookup-privacy-heading{
  margin:0 0 16px;
  font-size:24px;
}
@media(max-width:640px){
  .iplookup-data{
    grid-template-columns:minmax(0,1fr);
    padding:20px;
  }
  .iplookup-chrome{
    padding:20px;
  }
  .iplookup-status,.iplookup-footnote{
    padding:16px 20px;
  }
  .iplookup-actions{
    padding-inline:20px;
  }
  .iplookup-actions .btn{
    flex:1 1 160px;
  }
  .iplookup-copy-status{
    margin-inline:20px;
  }
}