.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; } }

/* Optional seal name field (DKIM checker page only). */
body.ap.dns-preview .dns-seal-row { margin-top: 16px; display: flex; flex-direction: column; gap: 8px; }
body.ap.dns-preview .dns-seal-row label { font-size: 1rem; font-weight: 650; color: #142238; }
body.ap.dns-preview .dns-seal-hint { font-weight: 400; color: #3a4a62; }
body.ap.dns-preview .dns-seal-row input { width: 100%; max-width: 360px; min-height: 52px; font: inherit; color: #142238; background: #f5f8fc; border: 1px solid #718199; border-radius: 7px; padding: 0 .7rem; box-sizing: border-box; }
body.ap.dns-preview .dns-seal-row input::placeholder { color: #536279; opacity: 1; }
body.ap.dns-preview .dns-seal-row input:focus { border-color: #145bb9; background: #fff; }
body.ap.dns-preview .dns-seal-row input:focus-visible { outline: 3px solid #175ed2; outline-offset: 3px; }
@media(max-width:800px) { body.ap.dns-preview .dns-seal-row input { max-width: none; } }
