.ip-desk{position:relative;z-index:1}
.ip-desk h1{margin-top:var(--space-3)}
.ip-workspace{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:var(--space-4);align-items:start}
.ip-workspace>*{min-width:0}
.ip-result-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}
.ip-result-heading h2{font-size:var(--fs-h3)}
.ip-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:var(--space-4) 0 0}
.ip-fields>div{min-width:0;padding-bottom:var(--space-3);border-bottom:1px solid var(--c-border)}
.ip-fields dt{color:var(--c-muted);margin-bottom:var(--space-1)}
.ip-fields dd{margin:0;font-weight:var(--fw-bold);overflow-wrap:anywhere}
.ip-fields .ip-address-field{grid-column:1/-1}
.ip-address-field dd{font-size:var(--fs-h3);color:var(--c-accent-dark)}
.ip-context h2{font-size:var(--fs-h3)}
.ip-context .groove p{margin-top:var(--space-2);color:var(--c-muted)}
.ip-feedback{margin-top:var(--space-2);min-height:3.2em;overflow-wrap:anywhere}
.ip-feedback.is-error{color:var(--c-error)}
.ip-notice{margin-top:var(--space-2);color:var(--c-error)}
@media(max-width:768px){
  .ip-workspace{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:640px){
  .ip-fields{grid-template-columns:minmax(0,1fr)}
}