.bynet-tool {
	--bynet-tool-border: var(--theme-border-color, #d7dde3);
	--bynet-tool-muted: color-mix(in srgb, var(--theme-text-color, #27323d) 5%, transparent);
	display: grid;
	gap: 24px;
	padding: clamp(20px, 4vw, 36px);
	border: 1px solid var(--bynet-tool-border);
	border-radius: 12px;
	background: var(--theme-palette-color-6);
	color: var(--theme-text-color);
	margin-block: 28px;
}
.bynet-tool *, .bynet-tool *::before, .bynet-tool *::after { box-sizing: border-box; }
.bynet-tool [hidden], .bynet-tool__feedback:empty { display: none !important; }
.bynet-tool__feedback.is-announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.bynet-tool p, .bynet-tool h2, .bynet-tool dl, .bynet-tool dd { margin: 0; }
.bynet-tool__intro { display: grid; gap: 10px; }
.bynet-tool__eyebrow { color: var(--theme-palette-color-1); font-size: .78em; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.bynet-tool h2 { font-size: clamp(1.4rem, 3vw, 1.8rem); line-height: 1.25; }
.bynet-tool__form { display: grid; gap: 10px; }
.bynet-tool__form > label { font-weight: 600; }
.bynet-tool__input-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: stretch; }
.bynet-tool__input-row input { width: 100%; min-width: 0; min-height: 48px; font-size: 16px; }
.bynet-tool__input-row .ct-button { min-height: 48px; white-space: nowrap; }
.bynet-tool__input-row button:disabled { opacity: .65; cursor: wait; }
.bynet-tool__help, .bynet-tool__footnote, .bynet-tool__previous { font-size: .87em; line-height: 1.65; opacity: .8; }
.bynet-tool__actions { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 4px; }
.bynet-tool__secondary { background: none; border: 0; border-bottom: 1px solid currentColor; border-radius: 0; color: inherit; padding: 6px 0; font: inherit; font-size: .9em; cursor: pointer; }
.bynet-tool__secondary:hover { color: var(--theme-palette-color-4); }
.bynet-tool__secondary[data-role="copy"]:hover { color: var(--theme-palette-color-1); }
.bynet-tool :is(button, input, summary):focus-visible { outline: 2px solid var(--theme-palette-color-1); }
.bynet-tool__results { display: grid; gap: 20px; }
.bynet-tool__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.bynet-tool__metric { display: flex; flex-direction: column; gap: 8px; padding: 20px; background: var(--bynet-tool-muted); border: 1px solid var(--bynet-tool-border); border-radius: 8px; min-width: 0; }
.bynet-tool__metric > span { font-size: .86em; }
.bynet-tool__metric strong { font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.25; color: var(--theme-headings-color, inherit); font-variant-numeric: tabular-nums; }
.bynet-tool__metric strong.bynet-tool__date { font-size: 1.05em; line-height: 1.65; }
.bynet-tool__metric small { font-size: .73em; opacity: .75; line-height: 1.5; }
.bynet-tool__summary, .bynet-tool__message { padding: 14px 16px; border-radius: 6px; font-weight: 700; }
.bynet-tool .is-success { background-color: var(--theme-palette-color-1); color: var(--theme-palette-color-6); }
.bynet-tool .is-warning { background-color: var(--theme-palette-color-3); color: var(--theme-palette-color-6); }
.bynet-tool .is-error { background-color: var(--theme-palette-color-4); color: var(--theme-palette-color-8); }
.bynet-tool__addresses { display: grid; gap: 10px; }
.bynet-tool__addresses > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 12px; }
.bynet-tool__addresses dt { font-size: .85em; opacity: .8; }
.bynet-tool__addresses dd { font-size: .87em; overflow-wrap: anywhere; }
.bynet-tool__log { border-top: 1px solid var(--bynet-tool-border); padding-top: 16px; }
.bynet-tool__log summary { cursor: pointer; font-weight: 600; }
.bynet-tool__log ol { display: grid; gap: 10px; margin: 18px 0 0; padding-inline-start: 24px; font-size: .85em; }
.bynet-tool__log li { padding-inline-start: 4px; overflow-wrap: anywhere; }
.bynet-tool__log code { white-space: normal; overflow-wrap: anywhere; font-size: 1em; color: inherit; }
.bynet-tool__footnote { padding-top: 16px; border-top: 1px solid var(--bynet-tool-border); }
.bynet-tool__metric strong.bynet-dns__text { font-size: 1.1em; line-height: 1.6; overflow-wrap: anywhere; }
.bynet-dns__groups { display: grid; gap: 24px; }
.bynet-dns__group { min-width: 0; border-top: 1px solid var(--bynet-tool-border); padding-top: 20px; }
.bynet-dns__heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.bynet-dns__heading h3 { margin: 0; font-size: 1.05em; }
.bynet-dns__rcode { font-size: .75em; padding: 3px 8px; border: 1px solid var(--bynet-tool-border); border-radius: 4px; }
.bynet-dns__table { width: 100%; table-layout: fixed; margin: 0; border-collapse: collapse; font-size: .85em; }
.bynet-dns__table th, .bynet-dns__table td { text-align: start; padding: 12px; vertical-align: top; border: 0; border-bottom: 1px solid var(--bynet-tool-border); overflow-wrap: anywhere; }
.bynet-dns__table th { background: var(--bynet-tool-muted); font-weight: 600; }
.bynet-dns__table th:last-child { width: 20%; }
.bynet-dns__caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 680px) {
	.bynet-tool__input-row, .bynet-tool__metrics { grid-template-columns: minmax(0, 1fr); }
	.bynet-tool__metric { padding: 16px; }
	.bynet-tool__addresses > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
	.bynet-dns__table thead { display: none; }
	.bynet-dns__table, .bynet-dns__table tbody, .bynet-dns__table tr { display: block; }
	.bynet-dns__table tr { border-bottom: 1px solid var(--bynet-tool-border); padding-block: 10px; }
	.bynet-dns__table td { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 10px; border: 0; padding: 5px 0; }
	.bynet-dns__table td::before { content: attr(data-label); font-weight: 600; }
}
