/* DNS alone exposes resolver identity, geography and outcome as independent
 * tracks. The existing ResultList owns row metrics, icons, flags and tones. */
body .twoip-service .twoip-result-list.twoip-dns-results.twoip-service-results--source-label:has(> .dns-item) {
  grid-template-columns: minmax(0,1fr);
  column-gap: var(--twoip-service-result-column-gap);
}
body .twoip-service .twoip-result-list.twoip-dns-results.twoip-service-results--source-label > .dns-item {
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
  gap: var(--twoip-service-mobile-row-gap) var(--twoip-service-result-column-gap);
}
body .twoip-service .twoip-result-list.twoip-dns-results.twoip-service-results--source-label > .dns-item > .twoip-result-name {
  display: contents;
}
body .twoip-service .twoip-result-list.twoip-dns-results.twoip-service-results--source-label .twoip-result-meta-text {
  white-space: normal;
  overflow: visible;
  overflow-wrap: anywhere;
}
/* Break between DNS words/records, never inside an address. An exceptionally
 * wide atomic value remains available through its own scrollable allocation. */
body .twoip-service .twoip-result-list.twoip-dns-results.twoip-service-results--source-label [data-twoip-record-value] {
  overflow-x: auto;
}
body .twoip-service .twoip-result-list.twoip-dns-results.twoip-service-results--source-label [data-twoip-record-value] .twoip-inline-label {
  overflow-wrap: normal;
  word-break: normal;
}
@container twoip-service (min-width:40rem) {
  body .twoip-service .twoip-result-list.twoip-dns-results.twoip-service-results--source-label:has(> .dns-item) {
    grid-template-columns: minmax(0,28fr) minmax(0,24fr) minmax(0,48fr);
  }
}
