/* email-auth check — scalpel.vugg.io/check/
   dark resolver-trace theme. mono is the display face; grotesk carries prose. */

:root{
  --bg:#0a0f16;
  --bg2:#0d141d;
  --panel:#111a25;
  --panel2:#16202c;
  --line:#1c2735;
  --line2:#2a3849;
  --ink:#e3eaf2;
  --ink2:#b3c2d2;
  --mut:#7f90a3;
  --red:#ff7369;   --redbg:#25131a;  --redline:#5b2530;
  --amb:#f2b34d;   --ambbg:#241d10;  --ambline:#54401a;
  --grn:#5bd6a8;   --grnbg:#0f2620;  --grnline:#1d5041;
  --acc:#7fb0ff;
  --mono:ui-monospace,"SF Mono",SFMono-Regular,"JetBrains Mono","IBM Plex Mono","Cascadia Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --sans:"Inter","Inter var",-apple-system,BlinkMacSystemFont,"Segoe UI Variable Text","Segoe UI",system-ui,"Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font:15px/1.62 var(--sans);
  font-feature-settings:"tnum" 1;
}
::selection{background:#26456f;color:#fff}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:2px}

.wrap{max-width:880px;margin:0 auto;padding:0 20px 96px}

/* ---------- top bar ---------- */
.bar{
  display:flex;gap:16px;align-items:baseline;justify-content:space-between;
  flex-wrap:wrap;padding:16px 0 14px;border-bottom:1px solid var(--line);
  font:12px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;
}
.bar b{color:var(--ink);font-weight:600}
.bar span{color:var(--mut)}
.bar a{color:var(--amb);text-decoration:none;border-bottom:1px solid transparent}
.bar a:hover{border-bottom-color:var(--amb)}

/* ---------- hero ---------- */
.hero{padding:44px 0 6px}
h1{
  margin:0 0 16px;font:600 clamp(25px,4.3vw,39px)/1.12 var(--mono);
  letter-spacing:-.015em;text-transform:uppercase;color:#fff;
}
h1 em{font-style:normal;color:var(--amb)}
.lede{margin:0 0 26px;max-width:60ch;color:var(--ink2);font-size:16.5px}

/* ---------- query form ---------- */
.q{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch;margin:0 0 10px}
.q-field{position:relative;flex:1 1 300px;min-width:0}
.q-field::before{
  content:"▸";position:absolute;left:13px;top:50%;transform:translateY(-50%);
  color:var(--mut);font:14px/1 var(--mono);pointer-events:none;
}
#domain{
  width:100%;padding:14px 14px 14px 32px;background:var(--bg2);color:var(--ink);
  border:1px solid var(--line2);border-radius:6px;
  font:15px/1.2 var(--mono);letter-spacing:.01em;
}
#domain::placeholder{color:#5d6b7c}
#domain:focus{border-color:var(--acc);outline:none;box-shadow:0 0 0 3px rgba(127,176,255,.14)}
.btn{
  background:var(--acc);color:#06101f;border:0;border-radius:6px;padding:14px 22px;
  font:600 13px/1.2 var(--mono);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;
}
.btn:hover{background:#9cc2ff}
.btn:disabled{background:var(--line2);color:var(--mut);cursor:default}
.q-note{margin:0;color:var(--mut);font-size:13px}
.q-err{margin:10px 0 0;color:var(--red);font:13px/1.5 var(--mono)}
.q-err:empty{display:none}

/* ---------- status / spinner ---------- */
.status{
  display:none;margin:22px 0 0;padding:13px 15px;background:var(--panel);
  border:1px solid var(--line);border-radius:6px;
  font:13px/1.5 var(--mono);color:var(--ink2);
}
.status.on{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.spin{color:var(--acc);width:1.2ch;display:inline-block}
.status .what{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.status .n{color:var(--mut)}

/* ---------- verdict ---------- */
.verdict{margin:26px 0 0;border:1px solid var(--line);border-left-width:3px;border-radius:6px;
  background:var(--panel);padding:20px 22px}
.verdict.red{border-color:var(--redline);border-left-color:var(--red);background:var(--redbg)}
.verdict.amb{border-color:var(--ambline);border-left-color:var(--amb);background:var(--ambbg)}
.verdict.grn{border-color:var(--grnline);border-left-color:var(--grn);background:var(--grnbg)}
.verdict .k{font:12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);display:block;margin-bottom:10px}
.verdict h2{margin:0 0 8px;font:600 clamp(19px,2.8vw,25px)/1.24 var(--mono);letter-spacing:-.01em}
.verdict.red h2{color:var(--red)}
.verdict.amb h2{color:var(--amb)}
.verdict.grn h2{color:var(--grn)}
.verdict p{margin:0;color:var(--ink2);max-width:66ch}
.verdict p + p{margin-top:9px}

/* ---------- sections ---------- */
.sec{margin:34px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.sec-h{display:flex;gap:11px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.sec-n{font:12px/1 var(--mono);color:var(--mut);letter-spacing:.08em}
.sec-t{font:600 14px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#fff;margin:0}
.sec-s{font:400 13px/1 var(--mono);color:var(--mut)}
.sec p{margin:0 0 11px;max-width:70ch;color:var(--ink2)}
.sec p:last-child{margin-bottom:0}
.sec strong{color:var(--ink);font-weight:600}

.chip{
  font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;
  padding:5px 8px;border-radius:3px;border:1px solid var(--line2);color:var(--mut);
  background:var(--bg2);white-space:nowrap;
}
.chip.red{color:var(--red);border-color:var(--redline);background:var(--redbg)}
.chip.amb{color:var(--amb);border-color:var(--ambline);background:var(--ambbg)}
.chip.grn{color:var(--grn);border-color:var(--grnline);background:var(--grnbg)}

/* record blocks */
.rec{
  margin:0 0 12px;padding:12px 14px;background:var(--bg2);border:1px solid var(--line);
  border-radius:5px;font:13px/1.6 var(--mono);color:var(--ink);
  overflow-x:auto;white-space:pre-wrap;word-break:break-word;
}
.rec.mut{color:var(--mut)}

/* dig line */
.dig{
  display:flex;gap:10px;align-items:flex-start;margin:12px 0 0;padding:9px 11px;
  background:#070c12;border:1px dashed var(--line2);border-radius:5px;
}
.dig code{flex:1 1 auto;min-width:0;font:12.5px/1.5 var(--mono);color:var(--ink2);overflow-x:auto;white-space:pre}
.dig code::before{content:"$ ";color:var(--mut)}

.copy{
  flex:0 0 auto;background:transparent;border:1px solid var(--line2);color:var(--mut);
  border-radius:4px;padding:4px 8px;font:600 10.5px/1.3 var(--mono);letter-spacing:.09em;
  text-transform:uppercase;cursor:pointer;
}
.copy:hover{color:var(--ink);border-color:var(--mut)}
.copy.ok{color:var(--grn);border-color:var(--grnline)}

/* ---------- SIGNATURE: the lookup call stack ---------- */
.tree{
  margin:14px 0 0;border:1px solid var(--line);border-radius:6px;background:var(--bg2);
  overflow:hidden;
}
.tree-h,.tree-f{
  display:flex;justify-content:space-between;gap:12px;padding:8px 13px;
  font:11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);
  background:var(--panel);
}
.tree-h{border-bottom:1px solid var(--line)}
.tree-f{border-top:1px solid var(--line);text-transform:none;letter-spacing:.02em;font-size:12px}
.tree-f b{font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.tree-b{padding:8px 0;overflow-x:auto}
.row{display:grid;grid-template-columns:4.5ch 1fr;gap:0;align-items:baseline;
  font:13px/1.75 var(--mono);white-space:pre}
.row:hover{background:#131d29}
.g{text-align:right;padding-right:1.2ch;color:var(--mut);font-variant-numeric:tabular-nums}
.g.over{color:var(--red);font-weight:600}
.g.free{color:#3d4a5a}
.t{padding-right:14px;color:var(--ink2)}
.t .m{color:#fff}
.t .cost{color:var(--acc)}
.t .nest{color:var(--mut)}
.t .free{color:var(--mut)}
.row.err .t{color:var(--red)}
.row.note .t{color:var(--mut)}
.row.over .t .m{color:var(--red)}
.rule{
  display:grid;grid-template-columns:4.5ch 1fr;font:12px/2.6 var(--mono);white-space:pre;
}
.rule .b{border-top:1px dashed var(--redline);margin-top:1.3em;padding-top:0;position:relative}
.rule .lbl{color:var(--red);font-size:11.5px;letter-spacing:.04em;white-space:normal;display:block;
  line-height:1.5;padding:4px 14px 6px 0}
.rule.ok .b{border-top-color:var(--grnline)}
.rule.ok .lbl{color:var(--grn)}

/* ---------- key/value table ---------- */
.kv{margin:14px 0 0;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.kv-r{display:grid;grid-template-columns:11ch 1fr;gap:0;border-top:1px solid var(--line)}
.kv-r:first-child{border-top:0}
.kv-k{padding:10px 12px;background:var(--panel);font:600 12.5px/1.5 var(--mono);color:var(--ink);
  border-right:1px solid var(--line);word-break:break-all}
.kv-v{padding:10px 13px;min-width:0}
.kv-v .raw{font:12.5px/1.5 var(--mono);color:var(--ink2);word-break:break-all;display:block}
.kv-v .gloss{display:block;margin-top:4px;font-size:13.5px;color:var(--mut);line-height:1.5}
.kv-r.red .kv-k{color:var(--red)}
.kv-r.amb .kv-k{color:var(--amb)}
.kv-r.grn .kv-k{color:var(--grn)}

/* ---------- mx / dkim grids ---------- */
.mx{margin:0 0 12px;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.mx-r{display:grid;grid-template-columns:5ch 1fr auto;gap:12px;padding:9px 13px;
  border-top:1px solid var(--line);font:13px/1.5 var(--mono);align-items:baseline}
.mx-r:first-child{border-top:0}
.mx-p{color:var(--mut);text-align:right}
.mx-h{color:var(--ink);word-break:break-all}
.mx-v{color:var(--acc);font-size:12px;letter-spacing:.04em;text-align:right;white-space:nowrap}

.sel{display:grid;grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:5px;margin:0 0 14px}
.sel-c{
  padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:var(--bg2);
  font:12px/1.4 var(--mono);color:#5a6879;display:flex;justify-content:space-between;gap:6px;
}
.sel-c.hit{color:var(--grn);border-color:var(--grnline);background:var(--grnbg)}
.sel-c.hit .s{color:#fff}
.sel-c .d{color:#3f4b5b}
.sel-c.hit .d{color:var(--grn)}
.sel-c.err{color:var(--amb);border-color:var(--ambline)}

/* ---------- paste block ---------- */
.paste{margin:40px 0 0;border:1px solid var(--line2);border-radius:8px;background:var(--panel);overflow:hidden}
.paste-h{padding:15px 20px;border-bottom:1px solid var(--line2);background:var(--panel2)}
.paste-h h2{margin:0 0 4px;font:600 14px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:#fff}
.paste-h p{margin:0;font-size:13.5px;color:var(--mut)}
.paste-b{padding:6px 20px 20px}
.dnsrec{margin:18px 0 0;border:1px solid var(--line);border-radius:6px;background:var(--bg2);overflow:hidden}
.dnsrec-h{display:flex;justify-content:space-between;gap:10px;align-items:center;
  padding:8px 12px;background:var(--panel2);border-bottom:1px solid var(--line);
  font:11px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.dnsrec-g{display:grid;grid-template-columns:9ch 1fr;font:13px/1.6 var(--mono)}
.dnsrec-g > div{padding:9px 12px;border-top:1px solid var(--line);min-width:0}
.dnsrec-g > div:nth-child(1),.dnsrec-g > div:nth-child(2){border-top:0}
.dnsrec-g .lab{color:var(--mut);background:#0a1017;border-right:1px solid var(--line)}
.dnsrec-g .val{color:var(--ink);word-break:break-all;white-space:pre-wrap}
.dnsrec-n{padding:11px 13px;border-top:1px solid var(--line);font-size:13.5px;color:var(--mut);line-height:1.55}
.dnsrec-n strong{color:var(--ink2)}
.ph{color:var(--amb);font-family:var(--mono);font-size:.94em}
.steps{margin:22px 0 0;padding:0;list-style:none;counter-reset:st}
.steps li{position:relative;padding:0 0 0 46px;margin:0 0 16px;color:var(--ink2);font-size:14.5px}
.steps li::before{
  counter-increment:st;content:counter(st);position:absolute;left:0;top:1px;
  width:30px;height:22px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line2);border-radius:3px;background:var(--bg2);
  font:600 11.5px/1 var(--mono);color:var(--acc);
}
.steps b{display:block;color:#fff;font:600 13px/1.5 var(--mono);letter-spacing:.04em}
.steps .wait{color:var(--amb);font-family:var(--mono);font-size:12.5px}

/* ---------- offer ---------- */
.offer{margin:52px 0 0;padding-top:26px;border-top:2px solid var(--line2)}
.offer h2{margin:0 0 12px;font:600 clamp(18px,2.6vw,23px)/1.3 var(--mono);letter-spacing:-.01em;color:#fff}
.offer p{margin:0 0 14px;max-width:68ch;color:var(--ink2)}
.pay{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:20px 0 0}
.pay-c{border:1px solid var(--line);border-radius:6px;background:var(--panel);padding:13px 14px;display:flex;flex-direction:column;gap:8px}
.pay-c .lab{font:11px/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--mut)}
.pay-c .addr{font:12px/1.5 var(--mono);color:var(--ink);word-break:break-all;flex:1 1 auto}
.pay-c.card{border-color:var(--acc);background:#0f1a2b}
.pay-c.card a{display:inline-block;color:#06101f;background:var(--acc);text-decoration:none;
  padding:11px 14px;border-radius:5px;font:600 13px/1.2 var(--mono);letter-spacing:.06em;text-align:center}
.pay-c.card a:hover{background:#9cc2ff}
.pay-c .copy{align-self:flex-start}

/* ---------- contact ---------- */
.contact{margin:44px 0 0;border:1px solid var(--line2);border-radius:8px;background:var(--panel);padding:22px}
.contact h2{margin:0 0 6px;font:600 15px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#fff}
.contact > p{margin:0 0 16px;color:var(--mut);font-size:14px;max-width:60ch}
.f-l{display:block;font:11px/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--mut);margin:14px 0 6px}
.contact input,.contact textarea{
  width:100%;padding:11px 12px;background:var(--bg2);color:var(--ink);
  border:1px solid var(--line2);border-radius:5px;font:14px/1.5 var(--mono);
}
.contact input::placeholder,.contact textarea::placeholder{color:#5d6b7c}
.contact input:focus,.contact textarea:focus{border-color:var(--acc);outline:none;box-shadow:0 0 0 3px rgba(127,176,255,.14)}
.contact textarea{min-height:88px;resize:vertical}
.contact button{margin-top:18px;background:var(--grn);color:#04150f;border:0;border-radius:5px;
  padding:13px 22px;font:600 13px/1.2 var(--mono);letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
.contact button:hover{background:#7ce3bd}
.f-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.f-s{margin:12px 0 0;font:13px/1.5 var(--mono);color:var(--grn)}
.f-s:empty{display:none}
.f-s.bad{color:var(--red)}

.foot{margin:52px 0 0;padding-top:18px;border-top:1px solid var(--line);color:var(--mut);font-size:13.5px}
.foot a{color:var(--acc)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media (max-width:560px){
  .kv-r,.dnsrec-g{grid-template-columns:1fr}
  .kv-k{border-right:0;border-bottom:1px solid var(--line)}
  .dnsrec-g .lab{border-right:0;border-top:1px solid var(--line)}
  .dnsrec-g > div:nth-child(2){border-top:1px solid var(--line)}
  .mx-r{grid-template-columns:3.5ch 1fr;gap:8px}
  .mx-v{grid-column:2;text-align:left}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
