.dns-tool { margin-top: 2rem; max-width: 880px; padding: 1.5rem; background: #fff; color: #172033; border: 1px solid #d9e0ec; border-radius: 14px; box-shadow: 0 12px 35px #0002; }
.dns-tool p { color: #445168; font-size: 1rem; }
.dns-controls { display: grid; grid-template-columns: minmax(0,1fr) 180px auto; align-items: end; gap: 1rem; }
.dns-controls label { display: block; font-size: 1rem; font-weight: 600; margin-bottom: .5rem; }
.dns-controls input, .dns-controls select { width: 100%; min-height: 48px; font: inherit; color: #172033; background: #fff; padding: .7rem; border: 1px solid #7b879a; border-radius: 8px; }
.dns-controls .btn { min-height: 48px; font-size: 1rem; white-space: nowrap; }
.dns-controls button:disabled { opacity: .65; cursor: wait; }
.dns-controls :focus-visible { outline: 3px solid #175ed2; outline-offset: 3px; }
#dns-status { min-height: 1.6em; margin: .8rem 0 0; }
#dns-results { max-width: 1100px; margin: auto; scroll-margin-top: 110px; }
#dns-results[hidden] { display: none; }
.dns-meta { color: #445168; margin: .5rem 0 1.5rem; }
.dns-findings { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-bottom: 2rem; }
.dns-finding { padding: 1.2rem; border: 1px solid #c7d0df; border-left: 4px solid #5d6a7e; border-radius: 8px; background: #fff; }
.dns-finding.dns-issue { border-left-color: #a91f2b; }
.dns-finding.dns-review { border-left-color: #876000; }
.dns-finding.dns-info { border-left-color: #175ed2; }
.dns-label { display: block; font-size: .875rem; font-weight: 700; color: #445168; margin-bottom: .5rem; }
.dns-finding h3, .dns-records h3 { font-size: 1.15rem; margin: 0 0 .6rem; }
.dns-finding p { margin: 0; font-size: 1rem; color: #344155; }
.dns-records { margin: 1.5rem 0; }
.dns-table-wrap { overflow-x: auto; }
.dns-records table { width: 100%; border-collapse: collapse; font-size: .95rem; background: #fff; }
.dns-records th, .dns-records td { padding: .85rem; text-align: left; vertical-align: top; border-bottom: 1px solid #d9e0ec; }
.dns-records th { color: #172033; background: #edf2f9; }
.dns-records td:nth-child(2) { overflow-wrap: anywhere; font-family: ui-monospace, monospace; }
.dns-help { padding: 1.5rem; background: #edf2f9; border-radius: 12px; margin-top: 2rem; }
@media(max-width:700px) { .dns-controls { grid-template-columns: 1fr; } .dns-findings { grid-template-columns: 1fr; } .dns-tool { padding: 1rem; } }

/* Final preview layer: keep public checker text readable against each surface. */
body.ap.dns-preview { --ap-ink-2: #303d50; }
body.ap.dns-preview main .hero:not(.rh) { padding-top: 38px; padding-bottom: 48px; }
body.ap.dns-preview main .hero:not(.rh) h1 { max-width: 900px; margin: 14px auto 20px; font-size: clamp(2rem, 4.2vw, 3.65rem); line-height: 1.12; letter-spacing: -.035em; }
body.ap.dns-preview main .hero:not(.rh) .hero-copy > .lead { color: #f0f4fa; max-width: 680px; margin: 0 auto; line-height: 1.55; }
body.ap.dns-preview .dns-tool { max-width: 940px; margin: 28px auto 0; padding: 28px; text-align: left; background: #fff; border: 1px solid #cbd5e3; border-top: 4px solid #d4a84f; border-radius: 12px; box-shadow: 0 16px 40px #0004; }
body.ap.dns-preview main .hero:not(.rh) .hero-copy .dns-tool p { color: #263449; opacity: 1; line-height: 1.6; }
body.ap.dns-preview .dns-controls { grid-template-columns: minmax(0,1fr) 210px auto; gap: 16px; }
body.ap.dns-preview .dns-controls label { color: #142238; font-weight: 650; }
body.ap.dns-preview .dns-controls input,
body.ap.dns-preview .dns-controls select { color: #142238; background: #f5f8fc; border: 1px solid #718199; min-height: 52px; border-radius: 7px; }
body.ap.dns-preview .dns-controls input::placeholder { color: #536279; opacity: 1; }
body.ap.dns-preview .dns-controls input:focus,
body.ap.dns-preview .dns-controls select:focus { border-color: #145bb9; background: #fff; }
body.ap.dns-preview .dns-controls .btn-primary { background: #124f9e; color: #fff; min-height: 52px; border-radius: 7px; font-weight: 650; }
body.ap.dns-preview .dns-controls .btn-primary:hover { background: #0d3d7d; }
body.ap.dns-preview #dns-note { margin: 18px 0 0; font-size: 1rem; }
body.ap.dns-preview #dns-status { font-weight: 600; margin-top: 10px; }
body.ap.dns-preview #dns-results { color: #142238; }
body.ap.dns-preview #dns-results h2 { font-size: clamp(1.6rem, 3vw, 2.15rem); }
body.ap.dns-preview #dns-results h3,
body.ap.dns-preview #dns-results td,
body.ap.dns-preview #dns-results th { color: #142238; }
body.ap.dns-preview #dns-results p { color: #263449; line-height: 1.65; }
body.ap.dns-preview .dns-meta { color: #38485f; font-size: 1rem; }
body.ap.dns-preview .dns-finding { border-color: #ccd6e4; border-left-width: 5px; border-radius: 9px; box-shadow: 0 3px 10px #14223808; padding: 22px; }
body.ap.dns-preview .dns-finding.dns-issue { border-left-color: #a51d31; }
body.ap.dns-preview .dns-finding.dns-review { border-left-color: #956000; }
body.ap.dns-preview .dns-finding.dns-info { border-left-color: #145bb9; }
body.ap.dns-preview .dns-label { width: fit-content; padding: 4px 9px; margin-bottom: 14px; background: #edf3fb; color: #174c92; border-radius: 4px; }
body.ap.dns-preview .dns-issue .dns-label { background: #fff0f2; color: #95172c; }
body.ap.dns-preview .dns-review .dns-label { background: #fff5dc; color: #754800; }
body.ap.dns-preview .dns-unknown .dns-label { background: #eef1f5; color: #344155; }
body.ap.dns-preview .dns-table-wrap { border: 1px solid #cbd5e3; border-radius: 8px; }
body.ap.dns-preview .dns-records table { font-size: 1rem; }
body.ap.dns-preview .dns-records th { background: #eaf0f8; font-weight: 650; }
body.ap.dns-preview .dns-records tbody tr:nth-child(even) { background: #f7f9fc; }
body.ap.dns-preview .dns-help { background: #eef4fc; border: 1px solid #c7d7ed; border-left: 4px solid #145bb9; }
body.ap.dns-preview .prose p,
body.ap.dns-preview .card p,
body.ap.dns-preview .cta-band p { color: #263449; line-height: 1.65; }
body.ap.dns-preview .cta-band { border: 1px solid #cbd5e3; }
@media(max-width:800px) { body.ap.dns-preview .dns-controls { grid-template-columns: 1fr; } body.ap.dns-preview .dns-tool { padding: 20px; } body.ap.dns-preview .dns-controls .btn { width: 100%; } }
@media(prefers-reduced-motion:reduce) { body.ap.dns-preview * { scroll-behavior: auto; } }

/* Plain-English results (owner picked look C, 2026-10-08). */
.dns-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
body.ap.dns-preview #dns-results { max-width: 980px; display: flex; flex-direction: column; gap: 28px; }
body.ap.dns-preview .dns-score { display: flex; flex-wrap: wrap; gap: 32px; align-items: center; background: #fff; border: 1px solid #d8e1ee; border-top: 5px solid #d4a84f; border-radius: 18px; padding: 36px; box-shadow: 0 12px 32px #14223812; }
body.ap.dns-preview .dns-ring { flex: none; position: relative; width: 150px; height: 150px; }
body.ap.dns-preview .dns-ring > div { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
body.ap.dns-preview .dns-ring strong { font-size: 2.5rem; line-height: 1; color: #142238; }
body.ap.dns-preview .dns-ring span { font-size: .875rem; color: #4a5a72; }
body.ap.dns-preview .dns-score-text { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
body.ap.dns-preview .dns-score-domain { font-size: .95rem; font-weight: 600; color: #4a5a72; overflow-wrap: anywhere; }
body.ap.dns-preview #dns-results .dns-score h2 { margin: 0; font-size: clamp(1.6rem, 3vw, 2.25rem); line-height: 1.15; letter-spacing: -.02em; }
body.ap.dns-preview #dns-results .dns-sentence { margin: 0; font-size: 1.125rem; color: #2f3e55; }
body.ap.dns-preview #dns-results .dns-score .dns-meta { margin: 4px 0 0; font-size: .9rem; color: #4a5a72; }
body.ap.dns-preview .dns-plain { display: flex; flex-direction: column; gap: 14px; }
body.ap.dns-preview #dns-results .dns-plain h3 { margin: 0; font-size: 1.4rem; }
body.ap.dns-preview .dns-check { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; background: #fff; border: 1px solid #d8e1ee; border-radius: 14px; padding: 22px; }
body.ap.dns-preview #dns-results .dns-check h4 { margin: 0 0 6px; font-size: 1.15rem; color: #142238; }
body.ap.dns-preview #dns-results .dns-check p { margin: 0; font-size: 1rem; color: #2f3e55; }
body.ap.dns-preview #dns-results .dns-check .dns-why { margin-top: 6px; font-size: .9rem; color: #4a5a72; }
body.ap.dns-preview .dns-ico { display: flex; width: 44px; height: 44px; border-radius: 50%; align-items: center; justify-content: center; }
body.ap.dns-preview .dns-ico-good { background: #dff3e6; color: #0f5a2e; }
body.ap.dns-preview .dns-ico-warn, body.ap.dns-preview .dns-ico-up { background: #fbe6bd; color: #754800; }
body.ap.dns-preview .dns-ico-bad { background: #fbe3e6; color: #95172c; }
body.ap.dns-preview .dns-ico-info, body.ap.dns-preview .dns-ico-unknown { background: #e8eef7; color: #2f3e55; }
body.ap.dns-preview .dns-check-warn { border-color: #ecd3a0; }
body.ap.dns-preview .dns-check-bad { border-color: #e7c3c8; }
body.ap.dns-preview .dns-check-improve { background: #fff7e8; border-color: #ecd3a0; }
body.ap.dns-preview #dns-results .dns-limits { margin: 2px 0 0; font-size: .9rem; color: #4a5a72; }
body.ap.dns-preview .dns-details { background: #fff; border: 1px solid #d8e1ee; border-radius: 14px; padding: 18px 22px; }
body.ap.dns-preview .dns-details summary { font-size: 1.05rem; font-weight: 700; cursor: pointer; min-height: 44px; display: flex; align-items: center; color: #142238; }
body.ap.dns-preview .dns-details summary:focus-visible { outline: 3px solid #175ed2; outline-offset: 3px; border-radius: 6px; }
body.ap.dns-preview .dns-details[open] summary { margin-bottom: 8px; }
body.ap.dns-preview #dns-results .dns-records h4 { margin: 0 0 4px; font-size: 1.05rem; color: #142238; }
body.ap.dns-preview #dns-results .dns-record-help { margin: 0 0 10px; font-size: .95rem; color: #4a5a72; }
body.ap.dns-preview .dns-help { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; background: #0b1324; border: 0; border-radius: 18px; padding: 32px; margin-top: 0; }
body.ap.dns-preview #dns-results .dns-help h3 { margin: 0 0 6px; font-size: 1.5rem; color: #fff; }
body.ap.dns-preview #dns-results .dns-help p { margin: 0; color: #d3dceb; }
body.ap.dns-preview .dns-help > div { flex: 1 1 380px; min-width: 0; }
body.ap.dns-preview .dns-help-btn { display: inline-flex; align-items: center; min-height: 52px; padding: 0 26px; border-radius: 10px; background: #d4a84f; color: #0b1324; font-weight: 700; text-decoration: none; }
body.ap.dns-preview .dns-help-btn:hover { background: #e2bb68; color: #0b1324; }
body.ap.dns-preview .dns-help-btn:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
@media(max-width:600px) { body.ap.dns-preview .dns-score { padding: 24px; gap: 20px; justify-content: center; } body.ap.dns-preview .dns-check { grid-template-columns: 36px minmax(0, 1fr); gap: 12px; padding: 18px; } body.ap.dns-preview .dns-ico { width: 36px; height: 36px; } body.ap.dns-preview .dns-help { padding: 24px; } body.ap.dns-preview .dns-help-btn { width: 100%; justify-content: center; } }

/* Email header analyzer (/email-header-analyzer), layered on the checker look. */
body.ap.eha-page .eha-label { display: block; font-size: 1rem; font-weight: 650; color: #142238; margin-bottom: .5rem; }
body.ap.eha-page #eha-input { display: block; width: 100%; box-sizing: border-box; min-height: 200px; resize: vertical; font: 400 .9rem/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: #142238; background: #f5f8fc; border: 1px solid #718199; border-radius: 7px; padding: 12px 14px; }
body.ap.eha-page #eha-input::placeholder { color: #536279; opacity: 1; }
body.ap.eha-page #eha-input:focus { border-color: #145bb9; background: #fff; }
body.ap.eha-page #eha-input:focus-visible, body.ap.eha-page .eha-actions .btn:focus-visible { outline: 3px solid #175ed2; outline-offset: 3px; }
body.ap.eha-page .eha-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
body.ap.eha-page .eha-actions .btn { min-height: 48px; font-size: 1rem; font-weight: 650; border-radius: 7px; }
body.ap.eha-page .eha-actions .btn-primary { background: #124f9e; color: #fff; }
body.ap.eha-page .eha-actions .btn-primary:hover { background: #0d3d7d; }
body.ap.eha-page .eha-secondary { background: #fff; color: #142238; border: 1px solid #718199; }
body.ap.eha-page .eha-secondary:hover { background: #eef3fa; color: #142238; }
body.ap.eha-page main .hero:not(.rh) .hero-copy .dns-tool #eha-note { margin: 14px 0 0; font-size: 1rem; }
body.ap.eha-page #eha-status { min-height: 1.6em; margin: 10px 0 0; font-weight: 600; color: #263449; }
body.ap.eha-page #eha-results { max-width: 980px; margin: auto; display: flex; flex-direction: column; gap: 28px; color: #142238; scroll-margin-top: 110px; }
body.ap.eha-page #eha-results[hidden] { display: none; }
body.ap.eha-page #eha-results .eha-head h2 { margin: 0; font-size: clamp(1.35rem, 2.6vw, 1.9rem); line-height: 1.25; overflow-wrap: anywhere; }
body.ap.eha-page #eha-results .eha-caveat { margin: 0; font-size: 1rem; color: #2f3e55; background: #f3f6fb; border-left: 4px solid #d4a84f; padding: 10px 14px; border-radius: 6px; }
body.ap.eha-page .eha-sample-tag { width: fit-content; font-size: .85rem; font-weight: 700; color: #754800; background: #fbe6bd; padding: 4px 10px; border-radius: 4px; }
body.ap.eha-page #eha-results .eha-record-label { margin: 6px 0 0; font-size: .95rem; font-weight: 700; color: #3a4a62; overflow-wrap: anywhere; }
body.ap.eha-page #eha-results p, body.ap.eha-page #eha-results h4, body.ap.eha-page #eha-results td { overflow-wrap: anywhere; }
body.ap.eha-page .eha-hops { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
body.ap.eha-page .eha-hop { background: #fff; border: 1px solid #d8e1ee; border-left: 5px solid #145bb9; border-radius: 12px; padding: 18px 20px; display: flex; flex-direction: column; gap: 6px; }
body.ap.eha-page .eha-step { font-size: .85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #174c92; }
body.ap.eha-page #eha-results .eha-hop p { margin: 0; font-size: .98rem; color: #263449; }
body.ap.eha-page #eha-results .eha-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .9rem; }
body.ap.eha-page #eha-results .eha-delay { font-weight: 650; color: #142238; }
body.ap.eha-page #eha-results .eha-slow { color: #754800; }
body.ap.eha-page #eha-results .eha-note { color: #754800; font-size: .92rem; }
body.ap.eha-page #eha-results .dns-records td:nth-child(3), body.ap.eha-page #eha-results .dns-table-wrap td:nth-child(3) { font-family: ui-monospace, monospace; font-size: .88rem; }
@media(max-width:600px) { body.ap.eha-page .eha-actions .btn { flex: 1 1 100%; justify-content: center; } body.ap.eha-page .eha-hop { padding: 14px 16px; } }
body.ap.eha-page .dns-details table { width: 100%; border-collapse: collapse; background: #fff; font-size: .95rem; }
body.ap.eha-page .dns-details th, body.ap.eha-page .dns-details td { padding: .7rem; text-align: left; vertical-align: top; border-bottom: 1px solid #d9e0ec; color: #142238; }
body.ap.eha-page .dns-details th { background: #eaf0f8; font-weight: 650; }
body.ap.eha-page #eha-results .dns-details td:nth-child(1), body.ap.eha-page #eha-results .dns-details td:nth-child(2) { overflow-wrap: normal; white-space: nowrap; }
@media(max-width:600px) { body.ap.eha-page .dns-details thead { display: none; } body.ap.eha-page .dns-details tr { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 12px; padding: 10px 6px; border-bottom: 1px solid #d9e0ec; } body.ap.eha-page .dns-details td { border: 0; padding: 0; } body.ap.eha-page #eha-results .dns-details td:nth-child(2) { font-weight: 650; } body.ap.eha-page #eha-results .dns-details td:nth-child(3) { grid-column: 1 / -1; white-space: normal; } }
body.ap.eha-page #eha-results .eha-answer { font-weight: 700; font-size: 1.05rem; color: #142238; margin: 0 0 4px; }
body.ap.eha-page #eha-results .eha-server { font-weight: 600; color: #142238; overflow-wrap: anywhere; }
body.ap.eha-page #eha-results .eha-head h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); }
body.ap.eha-page .eha-head-good { border-top-color: #1f7a45; }
body.ap.eha-page .eha-head-bad { border-top-color: #a51d31; }
body.ap.eha-page .eha-head-warn { border-top-color: #b07a12; }
body.ap.eha-page #eha-results .dns-check-info { border-color: #d8e1ee; }
body.ap.eha-page #eha-results > .dns-details > .eha-record-label, body.ap.eha-page #eha-results > .dns-details > .dns-check { margin-top: 12px; }
body.ap.eha-page .eha-label-hint { font-weight: 400; color: #3a4a62; }
body.ap.eha-page .eha-what { margin: 0 0 12px; border: 1px solid #d8e1ee; border-radius: 8px; background: #f7f9fc; padding: 4px 14px; }
body.ap.eha-page .eha-what summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 650; color: #124f9e; }
body.ap.eha-page .eha-what summary:focus-visible { outline: 3px solid #175ed2; outline-offset: 2px; border-radius: 4px; }
body.ap.eha-page main .hero:not(.rh) .hero-copy .dns-tool .eha-what p { margin: 0 0 10px; font-size: .98rem; color: #263449; }
body.ap.eha-page .eha-example { margin: 0 0 10px; padding: 12px 14px; background: #fff; border: 1px solid #cbd5e3; border-radius: 6px; font: .82rem/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: #142238; white-space: pre-wrap; overflow-wrap: anywhere; text-align: left; }
body.ap.eha-page .eha-what a { color: #124f9e; font-weight: 600; }
#find-headers { scroll-margin-top: 110px; }
