/* ==========================================================================
   ACBSEC · Herramienta y guía de seguridad del correo
   Se carga después de blog.css (y de tools.css en la herramienta). Estados
   con icono y fondo tintado; ninguna caja lleva barra de color como acento.
   ========================================================================== */

.mx-page,.mg-page{
  --ok:#2f6b4f;--ok-bg:rgba(47,107,79,.1);--ok-line:rgba(47,107,79,.34);--ok-dark:#8fd1a8;
  --warn:#86601a;--warn-bg:rgba(201,154,62,.17);--warn-line:rgba(182,143,64,.5);--warn-dark:#e6c47f;
  --fail:#8d3e31;--fail-bg:rgba(141,62,49,.09);--fail-line:rgba(141,62,49,.34);--fail-dark:#f0a08c;
  --info:#3f6668;--info-bg:rgba(154,188,190,.22);--info-line:rgba(63,102,104,.34);--info-dark:#bcd8d9;
  --mx-shadow:0 30px 60px -46px rgba(26,28,27,.45);
}
@property --mx-score{syntax:'<percentage>';inherits:false;initial-value:0%}
.ic{width:18px;height:18px;flex:none;display:inline-block;vertical-align:middle}
.btn .ic{width:16px;height:16px;margin-right:-.1em}

/* ==========================================================================
   1 · Cabecera con buscador y esquema animado
   ========================================================================== */
.mx-hero{padding-bottom:104px}
.mx-hero-grid{position:relative;z-index:5;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.mx-hero-copy > *{max-width:660px}
.mx-hero h1{font-size:clamp(2rem,4.3vw,3.15rem);margin-bottom:1.1rem}
.mx-search{
  display:flex;align-items:center;gap:10px;margin-top:30px;padding:7px 7px 7px 20px;
  background:rgba(245,242,236,.06);border:1px solid rgba(182,143,64,.5);border-radius:60px;
  box-shadow:0 0 0 6px rgba(182,143,64,.07),0 30px 60px -30px rgba(0,0,0,.7);
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.mx-search:focus-within{border-color:var(--gold);background:rgba(245,242,236,.09);box-shadow:0 0 0 6px rgba(182,143,64,.17),0 30px 60px -30px rgba(0,0,0,.7)}
.mx-search-ic{display:grid;place-items:center;color:var(--gold)}
.mx-search-ic svg{width:22px;height:22px}
.mx-search input{
  flex:1;min-width:0;background:none;border:0;outline:0;color:var(--cream);
  font-family:var(--mono);font-size:1.06rem;letter-spacing:.02em;padding:.72em .2em;
}
.mx-search input::placeholder{color:rgba(245,242,236,.42)}
.mx-search .btn{flex:none;padding:.95em 1.55em}
.mx-try{margin-top:14px;font-size:.86rem;color:rgba(245,242,236,.64)}
.mx-try button{
  background:none;border:0;color:var(--gold);cursor:pointer;font-family:var(--mono);font-size:.8rem;
  margin:0 .35em;padding:6px 0;text-decoration:underline dashed rgba(182,143,64,.7);text-underline-offset:4px;
}
.mx-try button:hover{color:#d9b366;text-decoration-style:solid}
.mx-hint{margin-top:4px;font-size:.8rem;line-height:1.55;color:rgba(245,242,236,.5)}
.mx-hero .hero-meta{margin-top:22px}

.mx-flow{margin:0;position:relative}
.mx-flow svg{display:block;width:100%;height:auto;overflow:visible}
.mx-flow figcaption{margin-top:4px;text-align:center;font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,242,236,.48)}
.mf-path{fill:none;stroke:url(#mxLine);stroke-width:2;stroke-dasharray:4 7}
.mf-query{fill:none;stroke:rgba(154,188,190,.6);stroke-width:1.5;stroke-dasharray:3 6;animation:mfDash 1.4s linear infinite}
@keyframes mfDash{to{stroke-dashoffset:-18}}
.mf-node circle{fill:#232624;stroke:rgba(182,143,64,.55);stroke-width:1.2}
.mf-node use{color:var(--cream)}
.mf-node text,.mf-cap{text-anchor:middle}
.mf-name{fill:var(--cream);font-family:var(--serif);font-size:17px;font-weight:700}
.mf-tech{fill:var(--gold);font-family:var(--mono);font-size:12px;letter-spacing:.12em}
.mf-end circle{stroke:var(--gold);stroke-width:1.7}
.mf-dns circle{fill:#232624;stroke:rgba(154,188,190,.7);stroke-width:1.3}
.mf-dns use{color:var(--teal)}
.mf-cap{fill:rgba(245,242,236,.7);font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase}
.mf-sign circle{fill:var(--gold);animation:mfSign 7s ease-in-out infinite}
.mf-sign use{color:var(--black)}
@keyframes mfSign{0%,18%{fill-opacity:.55}24%,30%{fill-opacity:1}38%,100%{fill-opacity:.55}}
.mf-check rect{fill:rgba(26,28,27,.9);stroke:rgba(143,209,168,.45);stroke-width:1}
.mf-check use{color:var(--ok-dark)}
.mf-check text{fill:var(--cream);font-family:var(--mono);font-size:12.5px;letter-spacing:.02em}
.mf-c1{animation:mfC1 7s linear infinite}.mf-c2{animation:mfC2 7s linear infinite}.mf-c3{animation:mfC3 7s linear infinite}
@keyframes mfC1{0%,52%{opacity:.25}55%,96%{opacity:1}100%{opacity:.25}}
@keyframes mfC2{0%,59%{opacity:.25}62%,96%{opacity:1}100%{opacity:.25}}
@keyframes mfC3{0%,66%{opacity:.25}69%,96%{opacity:1}100%{opacity:.25}}
.mf-bimi{animation:mfBimi 7s linear infinite}
.mf-bimi circle{fill:var(--gold);stroke:var(--black);stroke-width:2}
.mf-bimi path{fill:var(--black)}
@keyframes mfBimi{0%,90%{opacity:0}95%,100%{opacity:1}}
.mf-env rect{fill:var(--cream)}
.mf-env path{fill:none;stroke:var(--black);stroke-width:1.4;stroke-linejoin:round}
@media (prefers-reduced-motion:reduce){
  .mf-query,.mf-sign circle,.mf-c1,.mf-c2,.mf-c3,.mf-bimi{animation:none}
  .mf-check,.mf-bimi{opacity:1}
}

/* ==========================================================================
   2 · Espacio de trabajo y pestañas
   ========================================================================== */
.mx-workspace{position:relative;background:var(--cream);color:var(--black);padding:0 0 96px}
.mx-tabs{
  position:relative;z-index:6;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;
  margin-top:-38px;padding:8px;background:#fff;border:1px solid var(--line-light);border-radius:18px;
  box-shadow:0 30px 60px -38px rgba(26,28,27,.6);
}
.mx-tabs [role="tab"]{
  display:flex;align-items:center;gap:12px;min-width:0;padding:14px 16px;border:0;border-radius:12px;
  background:none;color:var(--black);cursor:pointer;text-align:left;transition:background .2s ease,color .2s ease;
}
.mx-tabs [role="tab"] svg{width:26px;height:26px;flex:none;color:var(--gold-dark)}
.mx-tabs [role="tab"] span{min-width:0}
.mx-tabs b{display:block;font-family:var(--serif);font-size:1.04rem;line-height:1.2}
.mx-tabs small{display:block;margin-top:3px;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;opacity:.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mx-tabs [role="tab"]:hover:not([aria-selected="true"]){background:var(--cream)}
.mx-tabs [aria-selected="true"]{background:var(--black);color:var(--cream)}
.mx-tabs [aria-selected="true"] svg{color:var(--gold)}
.mx-tabs [role="tab"]:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.mx-panel{padding-top:44px}
.mx-panel[hidden]{display:none}
.mx-panel-head{max-width:780px;margin-bottom:26px}
.mx-panel-head h2{font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:.55rem}
.mx-panel-head p{opacity:.82}
.mx-small{font-size:.84rem;opacity:.72;line-height:1.55}
.mx-muted{opacity:.62}
.mx-center{text-align:center}
.mx-link{background:none;border:0;border-bottom:1px solid rgba(182,143,64,.5);color:var(--gold-dark);cursor:pointer;font:inherit;padding:0}
.mx-link:hover{color:var(--black);border-bottom-color:var(--gold)}
.mx-page code,.mg-page code{font-family:var(--mono)}

.mx-more{margin-top:14px}
.mx-more > summary{
  display:inline-flex;align-items:center;gap:.6em;cursor:pointer;list-style:none;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark);padding:6px 0;
}
.mx-more > summary::-webkit-details-marker{display:none}
.mx-more > summary::before{
  content:"";width:9px;height:9px;flex:none;background:var(--gold);transition:transform .2s ease;
  clip-path:polygon(18% 10%,88% 50%,18% 90%);
}
.mx-more[open] > summary::before{transform:rotate(90deg)}
.mx-more > summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.mx-dx-opts{margin-bottom:6px}
.mx-dx-opts .mx-more{margin-top:0}
.mx-dx-opts .mx-field{max-width:560px;margin-top:8px}

/* Estado vacío del diagnóstico */
.mx-empty-head{max-width:720px;margin:18px 0 26px}
.mx-empty-head h2{font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:.55rem}
.mx-empty-head p{opacity:.82}
.mx-checklist{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.mx-checklist li{
  position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;
  background:#fff;border:1px solid var(--line-light);border-radius:16px;padding:22px 20px;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.mx-checklist li::after{content:"";position:absolute;top:0;right:0;width:160px;height:160px;pointer-events:none;background:radial-gradient(circle at 100% 0%,rgba(182,143,64,.15),transparent 68%);opacity:0;transition:opacity .35s ease}
.mx-checklist li:hover{transform:translateY(-3px);border-color:rgba(182,143,64,.5);box-shadow:var(--mx-shadow)}
.mx-checklist li:hover::after{opacity:1}
.mx-checklist svg{width:30px;height:30px;color:var(--gold-dark)}
.mx-checklist h3{font-size:1.1rem;margin-bottom:.35rem}
.mx-checklist p{font-size:.9rem;line-height:1.55;opacity:.8}

/* Progreso */
.mx-progress-card{max-width:560px;background:#fff;border:1px solid var(--line-light);border-radius:18px;padding:26px 28px;box-shadow:var(--mx-shadow)}
.mx-progress-title{display:flex;align-items:center;gap:10px;font-size:1.05rem}
.mx-progress-title .ic{color:var(--gold-dark)}
.mx-progress-card ol{list-style:none;display:grid;gap:11px;margin-top:18px}
.mx-progress-card li{display:flex;align-items:center;gap:12px;font-size:.95rem;opacity:.55;transition:opacity .25s ease}
.mx-progress-card li[data-state="done"]{opacity:1}
.mx-dot{width:16px;height:16px;flex:none;border-radius:50%;border:2px solid rgba(182,143,64,.3);border-top-color:var(--gold);animation:mxSpin .8s linear infinite}
li[data-state="done"] .mx-dot{animation:none;border-color:var(--ok);background:var(--ok);box-shadow:inset 0 0 0 3px #fff}
@keyframes mxSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.mx-dot{animation:none}}

/* ==========================================================================
   3 · Resultados comunes
   ========================================================================== */
.mx-results{display:grid;gap:24px;margin-top:6px}
.mx-results[hidden],.mx-progress[hidden]{display:none}
.mx-block{background:#fff;border:1px solid var(--line-light);border-radius:18px;padding:28px 30px;box-shadow:var(--mx-shadow);min-width:0}
.mx-block > h3{font-size:1.45rem;margin-bottom:.35rem}
.mx-block-lead{font-size:.93rem;opacity:.75;margin-bottom:1rem}

.mx-pill{
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;
  padding:.42em .85em .42em .6em;border-radius:30px;border:1px solid;
}
.mx-pill .ic{width:14px;height:14px}
.mx-pill.is-ok{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-line)}
.mx-pill.is-warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-line)}
.mx-pill.is-fail{color:var(--fail);background:var(--fail-bg);border-color:var(--fail-line)}
.mx-pill.is-info{color:var(--info);background:var(--info-bg);border-color:var(--info-line)}

.mx-alert{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:14px;border:1px solid;background:#fff}
.mx-alert .ic{width:22px;height:22px;margin-top:1px}
.mx-alert p{margin:0;font-size:.95rem}
.mx-alert.is-ok{border-color:var(--ok-line);background:var(--ok-bg)}.mx-alert.is-ok .ic{color:var(--ok)}
.mx-alert.is-warn{border-color:var(--warn-line);background:var(--warn-bg)}.mx-alert.is-warn .ic{color:var(--warn)}
.mx-alert.is-fail{border-color:var(--fail-line);background:var(--fail-bg)}.mx-alert.is-fail .ic{color:var(--fail)}

.mx-issues{list-style:none;display:grid;gap:8px;margin:14px 0 0}
.mx-issues li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;font-size:.9rem;line-height:1.5}
.mx-issues .ic{width:18px;height:18px;margin-top:2px}
.mx-issues li.is-ok{background:var(--ok-bg)}.mx-issues li.is-ok .ic{color:var(--ok)}
.mx-issues li.is-warn{background:var(--warn-bg)}.mx-issues li.is-warn .ic{color:var(--warn)}
.mx-issues li.is-fail{background:var(--fail-bg)}.mx-issues li.is-fail .ic{color:var(--fail)}
.mx-issues li.is-info{background:var(--info-bg)}.mx-issues li.is-info .ic{color:var(--info)}

.mx-cell{display:inline-flex;align-items:flex-start;gap:7px;font-size:.86rem;line-height:1.42}
.mx-cell .ic{width:16px;height:16px;margin-top:2px}
.mx-cell.is-ok .ic{color:var(--ok)}.mx-cell.is-warn .ic{color:var(--warn)}.mx-cell.is-fail .ic{color:var(--fail)}.mx-cell.is-info .ic{color:var(--info)}

.mx-copy{
  display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:.42em .9em;cursor:pointer;
  font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;
  background:#fff;color:var(--gold-dark);border:1px solid var(--line-light);border-radius:30px;transition:.2s ease;
}
.mx-copy .ic{width:14px;height:14px}
.mx-copy:hover{border-color:var(--gold);color:var(--black)}
.mx-copy:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.mx-copy.is-done{background:var(--ok);border-color:var(--ok);color:#fff}

.mx-record{margin-top:12px;padding:12px 14px;background:#fff;border:1px solid rgba(182,143,64,.34);border-radius:12px}
.mx-record.is-placeholder{border-style:dashed}
.mx-record-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px}
.mx-record-head .mx-copy{margin-left:auto}
.mx-type{font-family:var(--mono);font-size:.62rem;font-weight:600;letter-spacing:.08em;padding:.3em .6em;border-radius:6px;background:var(--black);color:var(--gold)}
.mx-host{font-family:var(--mono);font-size:.8rem;word-break:break-all}
.mx-value{display:block;font-family:var(--mono);font-size:.8rem;line-height:1.55;word-break:break-all;background:var(--cream);color:var(--black);border-radius:8px;padding:10px 12px}
.mx-record-note{margin-top:6px;font-size:.8rem;opacity:.7}

/* Tablas */
.mx-table{margin-bottom:26px;border-radius:14px;border:1px solid var(--line-light);background:#fff}
.mx-table:last-child{margin-bottom:0}
.mx-table table{width:100%;min-width:560px;border-collapse:collapse;font-size:.9rem}
.mx-table caption{caption-side:top;text-align:left;padding:16px 16px 6px;font-family:var(--serif);font-weight:700;font-size:1.15rem}
.mx-table th,.mx-table td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line-light)}
.mx-table tr:last-child > *{border-bottom:0}
.mx-table thead th{font-family:var(--mono);font-size:.62rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dark);background:var(--cream);white-space:nowrap}
.mx-table tbody th{font-family:var(--serif);font-weight:700}
.mx-table code{font-size:.76rem;background:var(--cream);padding:.12em .42em;border-radius:4px;word-break:break-all}
.mx-table-sm table{min-width:520px;font-size:.86rem}
.mx-table-sm th,.mx-table-sm td{padding:9px 12px}
.mx-table:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ==========================================================================
   4 · Diagnóstico
   ========================================================================== */
.mx-sum{
  position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr);gap:26px 36px;align-items:center;
  background:var(--black);color:var(--cream);border-radius:22px;padding:36px 38px;box-shadow:0 40px 80px -50px rgba(0,0,0,.85);
}
.mx-sum::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(560px 380px at 100% 0%,rgba(182,143,64,.24),transparent 65%),radial-gradient(420px 300px at 0% 100%,rgba(154,188,190,.08),transparent 65%)}
.mx-sum > *{position:relative;z-index:1}
.mx-score{
  --sc:var(--gold);--mx-score:0%;position:relative;display:grid;place-items:center;width:172px;height:172px;border-radius:50%;
  background:conic-gradient(var(--sc) var(--mx-score),rgba(255,255,255,.1) 0);
  box-shadow:0 0 0 1px rgba(182,143,64,.22),0 20px 40px -28px #000;transition:--mx-score 1.1s cubic-bezier(.22,1,.36,1);
}
.mx-score.is-on{--mx-score:var(--score)}
.mx-score::before{content:"";position:absolute;inset:12px;border-radius:50%;background:var(--black);border:1px solid rgba(245,242,236,.08)}
.mx-score > div{position:relative;text-align:center}
.mx-score strong{display:block;font-family:var(--serif);font-size:3.5rem;line-height:1;color:var(--sc)}
.mx-score span{display:block;margin-top:.35rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;color:rgba(245,242,236,.7)}
.mx-score[data-grade="A"]{--sc:#8fd1a8}
.mx-score[data-grade="C"]{--sc:#d9a94d}
.mx-score[data-grade="D"]{--sc:#e79a7f}
.mx-score[data-grade="F"]{--sc:#ef7d63}
.mx-sum-copy .eyebrow{margin-bottom:.4rem}
.mx-sum-copy h2{font-size:clamp(1.6rem,3.2vw,2.3rem);margin-bottom:.6rem;outline:none}
.mx-sum-copy p{max-width:72ch;color:rgba(245,242,236,.82)}
.mx-sum-copy p b{color:var(--cream)}
.mx-parts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:20px}
.mx-part{min-width:0}
.mx-part span{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,242,236,.6)}
.mx-part b{float:right;font-family:var(--mono);font-size:.72rem;font-weight:400;color:var(--cream)}
.mx-part i{display:block;height:6px;margin-top:8px;border-radius:9px;background:rgba(255,255,255,.1);overflow:hidden}
.mx-part em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8a6b2c,var(--gold))}
.mx-provs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px}
.mx-provs-lab{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,242,236,.55);margin-right:4px}
.mx-prov{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border:1px solid rgba(182,143,64,.34);border-radius:40px;background:rgba(182,143,64,.08);font-size:.86rem}
.mx-prov small{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;opacity:.6}
.mx-mono{display:inline-grid;place-items:center;min-width:30px;height:30px;padding:0 6px;border-radius:9px;background:var(--gold);color:var(--black);font-family:var(--mono);font-size:.64rem;font-weight:600;letter-spacing:.02em;flex:none}
.mx-sum-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.mx-sum-actions .btn{padding:.85em 1.3em}
.mx-sum .mx-copy{background:transparent;color:var(--cream);border-color:rgba(245,242,236,.35);min-height:46px;padding:.85em 1.3em;font-size:.72rem}
.mx-sum .mx-copy:hover{border-color:var(--gold);color:var(--gold)}
.mx-sum-meta{grid-column:1/-1;margin:0;font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;color:rgba(245,242,236,.45)}

.mx-actions{list-style:none;display:grid;gap:12px;margin-top:16px}
.mx-action{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;padding:18px 20px;border-radius:14px;background:var(--cream)}
.mx-action-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:50%}
.mx-action-ic .ic{width:20px;height:20px}
.mx-action.is-fail .mx-action-ic{background:var(--fail-bg);color:var(--fail);box-shadow:0 0 0 1px var(--fail-line)}
.mx-action.is-warn .mx-action-ic{background:var(--warn-bg);color:var(--warn);box-shadow:0 0 0 1px var(--warn-line)}
.mx-action.is-info .mx-action-ic{background:var(--info-bg);color:var(--info);box-shadow:0 0 0 1px var(--info-line)}
.mx-action-area{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark)}
.mx-action-area .ic{width:14px;height:14px}
.mx-action h4{font-family:var(--serif);font-size:1.06rem;line-height:1.35;margin-bottom:.3rem}
.mx-action p{font-size:.92rem;opacity:.84}
.mx-steps{display:grid;gap:.4rem;margin:.75rem 0 0 1.2rem;font-size:.9rem}
.mx-steps li::marker{color:var(--gold-dark);font-family:var(--mono);font-size:.8rem}

.mx-recv td{min-width:170px}
.mx-recv tbody th{white-space:nowrap}

.mx-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
#card-dkim,#card-transport{grid-column:1/-1}
.mx-cards-hd{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}
.mx-table-sm code{word-break:normal;white-space:nowrap}
#card-transport .mx-facts{grid-template-columns:repeat(4,minmax(0,1fr))}
.mx-card{position:relative;overflow:hidden;min-width:0;background:#fff;border:1px solid var(--line-light);border-radius:18px;padding:24px 26px;box-shadow:var(--mx-shadow)}
.mx-card::after{content:"";position:absolute;top:0;right:0;width:200px;height:200px;pointer-events:none;background:radial-gradient(circle at 100% 0%,rgba(182,143,64,.12),transparent 68%)}
.mx-card > *{position:relative;z-index:1}
.mx-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}
.mx-card-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--black);color:var(--gold)}
.mx-card-ic .ic{width:22px;height:22px}
.mx-card-head h3{font-size:1.3rem;margin:0}
.mx-card-head .mx-pill{margin-left:auto}
.mx-card-more{margin-top:14px;font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.mx-card-more a{color:var(--gold-dark);border-bottom:1px solid rgba(182,143,64,.45)}
.mx-card-more a:hover{color:var(--black)}

/* Anatomía de un registro */
.mx-rec{
  margin:0 0 14px;padding:16px 18px;border-radius:12px;background:var(--black);color:var(--cream);
  font-family:var(--mono);font-size:.82rem;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;
}
.tk{border-radius:5px;padding:.06em .32em}
.mx-rec .tk-v{color:var(--teal);padding-left:0}
.mx-rec .tk-inc{background:rgba(182,143,64,.2);color:#e8c784}
.mx-rec .tk-ip{background:rgba(154,188,190,.17);color:#c4dfe0}
.mx-rec .tk-mech,.mx-rec .tk-mod{background:rgba(198,200,155,.15);color:#dcdeb6}
.mx-rec .tk-all{font-weight:600;background:rgba(245,242,236,.1)}
.mx-rec .tk-qfail{color:#9fdcb4}.mx-rec .tk-qsoft{color:#9fdcb4}.mx-rec .tk-qneutral,.mx-rec .tk-qplus{color:#ffab98;background:rgba(224,107,85,.22)}
.mx-rec .tk-err{color:#ffb3a3;background:rgba(224,107,85,.25);text-decoration:underline wavy rgba(255,179,163,.7)}
.mx-rec .tk-p-reject{color:#9fdcb4;background:rgba(143,209,168,.14)}.mx-rec .tk-p-quarantine{color:#e8c784;background:rgba(182,143,64,.2)}.mx-rec .tk-p-none{color:#f0a08c;background:rgba(224,107,85,.16)}
.mx-rec .tk-old{color:rgba(245,242,236,.5);text-decoration:line-through}
.mx-anat{list-style:none;display:grid;gap:8px;margin:0 0 14px}
.mx-anat li{font-size:.88rem;line-height:1.5}
.mx-anat code.tk{display:inline-block;margin-bottom:3px;font-size:.74rem;word-break:break-all;background:var(--cream);color:var(--black);padding:.3em .55em}
.mx-anat li > span{display:block;opacity:.86}
.mx-anat .tk-inc{background:rgba(182,143,64,.17)}.mx-anat .tk-ip{background:rgba(154,188,190,.28)}.mx-anat .tk-v{background:var(--black);color:var(--teal)}
.mx-anat .tk-err,.mx-anat .tk-qplus,.mx-anat .tk-qneutral,.mx-anat .tk-p-none{background:var(--fail-bg);color:var(--fail)}
.mx-anat .tk-p-reject{background:var(--ok-bg);color:var(--ok)}.mx-anat .tk-p-quarantine{background:var(--warn-bg);color:var(--warn)}
.mx-anat .tk-old{text-decoration:line-through;opacity:.7}

.mx-meter{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:4px 0 8px}
.mx-meter-cells{display:flex;gap:4px;width:min(230px,100%)}
.mx-meter i{flex:1;height:12px;border-radius:3px;background:var(--cream-2)}
.mx-meter i.is-on{background:var(--gold)}
.mx-meter.is-near i.is-on{background:#c68a2e}
.mx-meter.is-over i.is-on,.mx-meter i.is-over{background:var(--fail)}
.mx-meter span{font-family:var(--mono);font-size:.74rem}
.mx-meter span b{font-size:1rem}

.mx-tree,.mx-tree ul{list-style:none;margin:0;padding:0}
.mx-tree{margin-top:8px}
.mx-tree ul{margin-left:12px;padding-left:16px;border-left:1px dashed rgba(182,143,64,.5)}
.mx-node{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:7px 0;font-size:.86rem}
.mx-node b{font-family:var(--mono);font-size:.78rem;word-break:break-all}
.mx-node code{flex-basis:100%;font-size:.7rem;opacity:.65;word-break:break-all}
.mx-node.is-err b{color:var(--fail)}
.mx-cost{font-family:var(--mono);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;padding:.2em .6em;border-radius:20px;background:var(--cream)}
.mx-node-prov{font-family:var(--mono);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;padding:.2em .6em;border-radius:20px;background:rgba(182,143,64,.16);color:var(--gold-dark)}
.mx-node-err{font-family:var(--mono);font-size:.6rem;padding:.2em .6em;border-radius:20px;background:var(--fail-bg);color:var(--fail)}

.mx-ipform{margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--cream)}
.mx-ipform label{display:block;font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:8px}
.mx-ipform > div{display:flex;gap:8px}
.mx-ipform input{flex:1;min-width:0;font-family:var(--mono);font-size:.9rem;padding:.6em .8em;border:1px solid var(--line-light);border-radius:10px;background:#fff}
.mx-ipform input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(182,143,64,.15)}
.mx-ipform .btn{padding:.7em 1.1em}
.mx-ipout{margin-top:10px;font-size:.86rem;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.mx-ipout:empty{display:none}

.mx-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px}
.mx-facts > div{min-width:0;padding:10px 12px;border-radius:10px;background:var(--cream)}
.mx-facts span{display:block;margin-bottom:3px;font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dark)}
.mx-facts b{font-size:.88rem;word-break:break-all}
.mx-facts-wide{grid-template-columns:1fr}
.mx-pol{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em}
.mx-pol.is-reject{color:var(--ok)}.mx-pol.is-quarantine{color:var(--warn)}.mx-pol.is-none{color:var(--fail)}

.mx-walk{list-style:none;display:grid;gap:6px;margin-top:10px}
.mx-walk li{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;padding:8px 12px;border-radius:9px;background:var(--cream);font-size:.84rem}
.mx-walk code{font-size:.76rem;word-break:break-all}
.mx-walk span{opacity:.72}
.mx-walk li.is-found{background:var(--ok-bg)}
.mx-walk li.is-org code{font-weight:600}
.mx-walk li.is-multi,.mx-walk li.is-temp{background:var(--warn-bg)}

.mx-dest{margin-top:4px}
.mx-dest ul{list-style:none;display:grid;gap:6px;margin-top:6px}
.mx-dest li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start;font-size:.84rem}
.mx-dest li .ic{margin-top:2px}
.mx-dest code{display:block;font-size:.76rem;word-break:break-all}
.mx-dest li.is-ok .ic{color:var(--ok)}.mx-dest li.is-fail .ic{color:var(--fail)}.mx-dest li.is-warn .ic{color:var(--warn)}
.mx-dest span{display:block;opacity:.7;font-size:.8rem}

.mx-mxlist{list-style:none;display:grid;gap:8px}
.mx-mxlist li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 12px;border-radius:10px;background:var(--cream);font-size:.86rem}
.mx-mxlist code{font-size:.8rem;word-break:break-all}
.mx-pref{display:inline-grid;place-items:center;min-width:32px;height:26px;padding:0 6px;border-radius:7px;background:var(--black);color:var(--gold);font-family:var(--mono);font-size:.7rem}
.mx-tag-ok{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;padding:.25em .6em;border-radius:20px;background:var(--ok-bg);color:var(--ok)}
.mx-tag-ok .ic{width:12px;height:12px}

.mx-elig{list-style:none;display:grid;gap:6px;margin-top:8px;font-size:.88rem}
.mx-elig li{display:flex;gap:8px;align-items:flex-start}
.mx-elig .ic{width:16px;height:16px;margin-top:3px;color:var(--gold-dark)}
.mx-bimi-demo{margin-top:6px}
.mx-inbox{margin-top:6px;border:1px solid var(--line-light);border-radius:14px;overflow:hidden;background:#fff}
.mx-inbox-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line-light)}
.mx-inbox-row:last-child{border-bottom:0}
.mx-inbox-row b{display:block;font-size:.92rem}
.mx-inbox-row span{display:block;font-size:.84rem;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mx-inbox-row time{font-family:var(--mono);font-size:.7rem;opacity:.6}
.mx-inbox-row.is-brand{background:rgba(182,143,64,.06)}
.mx-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--cream-2)}
.mx-avatar img{width:40px;height:40px;object-fit:cover}
.mx-avatar.is-letter{background:var(--teal);color:var(--black);font-weight:700}

.mx-allchecks{margin-top:0}
.mx-checks{list-style:none;display:grid;gap:6px;margin-top:10px}
.mx-checks li{display:flex;gap:10px;align-items:flex-start;padding:8px 12px;border-radius:9px;background:#fff;border:1px solid var(--line-light);font-size:.86rem}
.mx-checks li b{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark);margin-right:6px}
.mx-checks .ic{width:16px;height:16px;margin-top:3px}
.mx-checks li.is-ok .ic{color:var(--ok)}.mx-checks li.is-warn .ic{color:var(--warn)}.mx-checks li.is-fail .ic{color:var(--fail)}.mx-checks li.is-info .ic{color:var(--info)}

/* ==========================================================================
   5 · Asistente
   ========================================================================== */
.mx-gen-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:26px;align-items:start}
.mx-gen-out{position:sticky;top:86px;min-width:0}
.mx-step{margin:0 0 16px;padding:22px 24px 24px;background:#fff;border:1px solid var(--line-light);border-radius:16px;box-shadow:var(--mx-shadow);min-width:0}
.mx-step[hidden]{display:none}
.mx-step legend{float:left;width:100%;display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:0;font-family:var(--serif);font-size:1.12rem;font-weight:700}
.mx-step legend b{display:inline-grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:var(--black);color:var(--gold);font-family:var(--mono);font-size:.74rem;font-weight:400}
.mx-step > *:not(legend){clear:both}
.mx-field{display:grid;gap:6px;font-size:.88rem}
.mx-field > span{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dark)}
.mx-field input,.mx-field select{
  width:100%;font:inherit;font-size:.95rem;padding:.72em .9em;border:1px solid var(--line-light);border-radius:10px;background:var(--cream);color:var(--black);
}
.mx-field input:focus,.mx-field select:focus{outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(182,143,64,.15)}
.mx-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.mx-field-grid[hidden],.mx-field[hidden]{display:none}
.mx-region{margin-top:12px}
.mx-inline{grid-template-columns:auto minmax(0,200px);align-items:center;margin-top:10px}
.mx-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mx-choice,.mx-tile{position:relative;display:block}
.mx-choice input,.mx-tile input{position:absolute;opacity:0;width:0;height:0}
.mx-choice > span{display:grid;grid-template-columns:26px minmax(0,1fr);gap:2px 10px;height:100%;padding:14px;border:1px solid var(--line-light);border-radius:12px;background:var(--cream);cursor:pointer;transition:.2s ease}
.mx-choice .ic{grid-row:span 2;width:24px;height:24px;color:var(--gold-dark)}
.mx-choice b{font-family:var(--serif);font-size:.98rem}
.mx-choice small{font-size:.8rem;line-height:1.4;opacity:.72}
.mx-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:8px}
.mx-tiles-sm{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.mx-tile > span{display:flex;align-items:center;gap:9px;height:100%;min-height:50px;padding:9px 10px;border:1px solid var(--line-light);border-radius:11px;background:var(--cream);cursor:pointer;font-size:.86rem;line-height:1.25;transition:.2s ease}
.mx-tile b{font-family:var(--sans);font-weight:700}
.mx-tile .mx-mono{min-width:30px;height:28px;background:#fff;color:var(--gold-dark);box-shadow:inset 0 0 0 1px rgba(182,143,64,.4)}
.mx-choice > span:hover,.mx-tile > span:hover{border-color:rgba(182,143,64,.55);background:#fff}
.mx-choice input:checked + span,.mx-tile input:checked + span{background:var(--black);color:var(--cream);border-color:var(--black);box-shadow:0 0 0 3px rgba(182,143,64,.32)}
.mx-choice input:checked + span .ic{color:var(--gold)}
.mx-tile input:checked + span .mx-mono{background:var(--gold);color:var(--black);box-shadow:none}
.mx-choice input:focus-visible + span,.mx-tile input:focus-visible + span{outline:2px solid var(--gold);outline-offset:3px}
.mx-group-lab{margin:16px 0 8px;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark)}
.mx-step .mx-group-lab:first-of-type{margin-top:0}
.mx-check{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:.9rem;line-height:1.45;cursor:pointer}
.mx-check input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--gold-dark)}

.mx-gen-card{
  position:relative;overflow:hidden;padding:24px 24px 26px;background:#fff;border:1px solid rgba(182,143,64,.34);border-radius:18px;
  box-shadow:0 0 0 1px rgba(26,28,27,.04),0 0 0 7px rgba(182,143,64,.09),var(--mx-shadow);
}
.mx-gen-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.mx-gen-head .eyebrow{margin-bottom:.3rem}
.mx-gen-head h3{font-size:1.5rem;word-break:break-all}
.mx-tok{font-family:var(--mono);font-size:.86em;padding:.04em .34em;border-radius:4px;background:rgba(26,28,27,.06);white-space:nowrap}
.mx-sum .mx-tok,.mx-verdict .mx-tok,.mx-rp-sum .mx-tok{background:rgba(245,242,236,.1);color:var(--cream)}
.mx-reclist{list-style:none;display:grid;gap:10px;margin:0 0 14px}
.mx-rl{padding:12px 14px;border-radius:12px;background:var(--cream);border:1px solid transparent}
.mx-rl.is-placeholder{background:#fff;border:1px dashed rgba(182,143,64,.55)}
.mx-rl-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:8px}
.mx-rl-host{font-family:var(--mono);font-size:.82rem;font-weight:600;word-break:break-all}
.mx-rl-fqdn{font-family:var(--mono);font-size:.72rem;opacity:.5;word-break:break-all}
.mx-rl-head .mx-copy{margin-left:auto}
.mx-rl-panel{margin-left:auto;font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark)}
.mx-rl .mx-value{background:#fff}
.mx-rl.is-placeholder .mx-value{background:var(--cream);font-style:italic}
.mx-rl small{display:block;margin-top:6px;font-size:.78rem;opacity:.7}
.mx-recs{margin:14px 0 12px}
.mx-recs td{font-size:.84rem}
.mx-recs .mx-value{padding:6px 8px;font-size:.72rem}
.mx-recs small{display:block;margin-top:5px;font-size:.74rem;opacity:.66}
.mx-recs tr.is-placeholder .mx-value{background:transparent;border:1px dashed rgba(182,143,64,.5);font-style:italic}
.mx-proto-tag{display:inline-block;padding:.28em .55em;border-radius:5px;background:var(--cream-2);font-family:var(--mono);font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.mx-proto-tag.is-spf{background:rgba(182,143,64,.18);color:var(--gold-dark)}
.mx-proto-tag.is-dkim{background:rgba(154,188,190,.3);color:var(--info)}
.mx-proto-tag.is-dmarc{background:var(--black);color:var(--gold)}
.mx-proto-tag.is-bimi{background:rgba(77,79,56,.16);color:#3f4a2e}
.mx-gen-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0}
.mx-gen-actions .btn{padding:.72em 1.15em;font-size:.72rem}
.mx-gen-actions .mx-copy{min-height:42px;padding:.72em 1.15em;font-size:.68rem}
.mx-sub{margin:22px 0 10px;font-family:var(--serif);font-size:1.18rem}
.mx-stages{list-style:none;display:grid;gap:14px}
.mx-stage{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px}
.mx-stage-n{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--black);color:var(--gold);font-family:var(--mono);font-size:.78rem}
.mx-stage.is-none .mx-stage-n{background:var(--cream-2);color:var(--black)}
.mx-stage.is-reject .mx-stage-n{background:var(--ok);color:#fff}
.mx-stage-when{margin-bottom:6px;font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark)}
.mx-stage p:last-child{margin-top:6px;font-size:.86rem;opacity:.78}
.mx-stage-rec{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--black)}
.mx-stage-rec code,.mx-stage-rec pre{flex:1;min-width:0;color:var(--cream);font-family:var(--mono);font-size:.76rem;line-height:1.55;word-break:break-all;white-space:pre-wrap;margin:0}
.mx-stage-rec .mx-copy{background:transparent;color:var(--gold);border-color:rgba(182,143,64,.4)}
.mx-stage-rec.is-block{align-items:flex-start}
.mx-guide{margin-top:8px;padding:10px 14px;border:1px solid var(--line-light);border-radius:12px;background:var(--cream)}
.mx-guide summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-weight:700;font-size:.95rem}
.mx-guide summary::-webkit-details-marker{display:none}
.mx-guide summary small{margin-left:auto;font-family:var(--mono);font-size:.58rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;opacity:.6}
.mx-guide summary .mx-mono{min-width:28px;height:26px}
.mx-guide[open]{background:#fff}
.mx-guide .mx-steps{margin-top:12px}
.mx-notes{list-style:none;display:grid;gap:8px;margin:12px 0 4px}
.mx-notes li{display:flex;gap:8px;align-items:flex-start;font-size:.87rem;line-height:1.5}
.mx-notes .ic{width:16px;height:16px;margin-top:3px;color:var(--gold-dark)}

/* ==========================================================================
   6 · Cabeceras
   ========================================================================== */
.mx-hd-input textarea{
  display:block;width:100%;min-height:220px;padding:16px 18px;resize:vertical;
  font-family:var(--mono);font-size:.8rem;line-height:1.55;color:var(--black);
  background:#fff;border:1px solid var(--line-light);border-radius:14px;box-shadow:var(--mx-shadow);
}
.mx-hd-input textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(182,143,64,.14),var(--mx-shadow)}
.mx-hd-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:14px 0 4px}
.mx-select-inline{display:flex;align-items:center;gap:8px;font-size:.88rem}
.mx-select-inline select{font:inherit;font-size:.9rem;padding:.62em .8em;border:1px solid var(--line-light);border-radius:10px;background:#fff;max-width:100%}
.mx-howto{list-style:none;display:grid;gap:8px;margin-top:10px;font-size:.9rem}
.mx-howto li{padding:10px 14px;border-radius:10px;background:#fff;border:1px solid var(--line-light)}
.mx-howto b{display:block;font-family:var(--serif);margin-bottom:2px}
#hdResults{margin-top:24px}

.mx-verdict{
  position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center;
  padding:28px 30px;border-radius:20px;background:var(--black);color:var(--cream);box-shadow:0 40px 80px -50px rgba(0,0,0,.85);
}
.mx-verdict::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px 320px at 100% 0%,var(--glow,rgba(182,143,64,.22)),transparent 65%)}
.mx-verdict > *{position:relative;z-index:1}
.mx-verdict .eyebrow{margin-bottom:.35rem}
.mx-verdict h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:.4rem;outline:none}
.mx-verdict p{color:rgba(245,242,236,.82);max-width:72ch}
.mx-verdict-ic{display:grid;place-items:center;width:66px;height:66px;border-radius:50%}
.mx-verdict-ic .ic{width:32px;height:32px}
.mx-verdict.is-ok{--glow:rgba(143,209,168,.2)}.mx-verdict.is-ok .mx-verdict-ic{background:rgba(143,209,168,.14);color:var(--ok-dark);box-shadow:0 0 0 1px rgba(143,209,168,.4)}
.mx-verdict.is-warn .mx-verdict-ic{background:rgba(182,143,64,.16);color:var(--warn-dark);box-shadow:0 0 0 1px rgba(182,143,64,.5)}
.mx-verdict.is-fail{--glow:rgba(224,107,85,.22)}.mx-verdict.is-fail .mx-verdict-ic{background:rgba(224,107,85,.15);color:var(--fail-dark);box-shadow:0 0 0 1px rgba(240,160,140,.45)}
.mx-verdict.is-info{--glow:rgba(154,188,190,.18)}.mx-verdict.is-info .mx-verdict-ic{background:rgba(154,188,190,.14);color:var(--info-dark);box-shadow:0 0 0 1px rgba(154,188,190,.4)}

.mx-align{display:grid;grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr) 112px minmax(0,1fr);gap:6px;align-items:center;margin:16px 0 12px}
.mx-id{min-width:0;padding:16px;border-radius:14px;background:var(--cream);text-align:center}
.mx-id.is-ok{box-shadow:0 0 0 1px var(--ok-line)}.mx-id.is-fail{box-shadow:0 0 0 1px var(--fail-line)}.mx-id.is-warn{box-shadow:0 0 0 1px var(--warn-line)}
.mx-id-lab{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark)}
.mx-id b{display:block;margin:5px 0 2px;font-family:var(--serif);font-size:1.06rem;word-break:break-all}
.mx-id small{display:block;font-family:var(--mono);font-size:.62rem;opacity:.6;word-break:break-all}
.mx-id-res{display:inline-flex;align-items:center;gap:5px;margin-top:9px;font-family:var(--mono);font-size:.7rem}
.mx-id.is-ok .mx-id-res{color:var(--ok)}.mx-id.is-fail .mx-id-res{color:var(--fail)}.mx-id.is-warn .mx-id-res{color:var(--warn)}.mx-id.is-info .mx-id-res{color:var(--info)}
.mx-id-res .ic{width:14px;height:14px}
.mx-link-line{position:relative;text-align:center}
.mx-link-line::before{content:"";position:absolute;left:4px;right:4px;top:50%;border-top:2px dashed currentColor;opacity:.45}
.mx-link-line span{position:relative;display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;background:#fff;border:1px solid currentColor;font-family:var(--mono);font-size:.6rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.mx-link-line .ic{width:12px;height:12px}
.mx-link-line.is-ok{color:var(--ok)}.mx-link-line.is-fail{color:var(--fail)}

.mx-hops{list-style:none;margin-top:10px}
.mx-hop{display:grid;grid-template-columns:34px minmax(0,1fr) 150px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line-light)}
.mx-hop:last-child{border-bottom:0}
.mx-hop-n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--black);color:var(--gold);font-family:var(--mono);font-size:.72rem}
.mx-hop-route{font-size:.9rem;word-break:break-all}
.mx-hop-route code{font-size:.74rem;background:var(--cream);padding:.1em .4em;border-radius:4px}
.mx-hop-route small{font-family:var(--mono);font-size:.6rem;opacity:.6}
.mx-hop-route .ic{width:15px;height:15px;color:var(--gold-dark);margin:0 2px}
.mx-hop-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
.mx-hop-meta span{display:inline-flex;align-items:center;gap:4px;padding:.2em .6em;border-radius:20px;background:var(--cream);font-family:var(--mono);font-size:.6rem}
.mx-hop-meta .ic{width:12px;height:12px}
.mx-hop-meta .is-tls{background:var(--ok-bg);color:var(--ok)}
.mx-hop-meta .is-notls{background:var(--warn-bg);color:var(--warn)}
.mx-hop-delay{display:flex;align-items:center;gap:8px}
.mx-hop-delay i{height:6px;border-radius:6px;background:linear-gradient(90deg,var(--gold-dark),var(--gold))}
.mx-hop-delay span{font-family:var(--mono);font-size:.68rem;white-space:nowrap}

.mx-dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:7px 14px;font-size:.88rem;margin:0}
.mx-dl dt{padding-top:2px;font-family:var(--mono);font-size:.68rem;color:var(--gold-dark)}
.mx-dl dd{margin:0;min-width:0;word-break:break-word}
.mx-dl dd small{display:block;margin-top:2px;font-size:.78rem;opacity:.65}
.mx-dl dd code{font-size:.76rem;word-break:break-all}
.mx-raw{margin-top:10px;padding:14px 16px;border-radius:12px;background:#fff;border:1px solid var(--line-light)}
.mx-raw dd code{font-size:.7rem}
.mx-sigs .mx-more{margin-top:6px}
.mx-sigs .mx-dl{margin-top:8px}
.mx-arc{display:grid;gap:8px}
.mx-arc-i{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--cream);font-size:.86rem}
.mx-arc-n{padding:.25em .6em;border-radius:6px;background:var(--black);color:var(--gold);font-family:var(--mono);font-size:.64rem}
.mx-arc-i small{font-family:var(--mono);font-size:.64rem;opacity:.7}

/* ==========================================================================
   7 · Informes DMARC
   ========================================================================== */
.mx-drop{
  display:grid;place-items:center;gap:6px;padding:46px 20px;text-align:center;cursor:pointer;
  background:#fff;border:1.5px dashed rgba(182,143,64,.6);border-radius:18px;transition:.2s ease;
}
.mx-drop svg{width:42px;height:42px;color:var(--gold-dark)}
.mx-drop b{font-family:var(--serif);font-size:1.3rem}
.mx-drop span{font-size:.88rem;opacity:.7}
.mx-drop:hover,.mx-drop.is-over,.mx-drop:focus-visible{outline:none;border-color:var(--gold);background:rgba(182,143,64,.06);box-shadow:0 0 0 6px rgba(182,143,64,.1)}
#rpResults{margin-top:18px}
.mx-rp-sum{position:relative;overflow:hidden;padding:28px 30px;border-radius:20px;background:var(--black);color:var(--cream)}
.mx-rp-sum::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px 320px at 100% 0%,rgba(182,143,64,.2),transparent 65%)}
.mx-rp-sum > *{position:relative;z-index:1}
.mx-tiles-stat{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.mx-tiles-stat div{min-width:0;padding:12px 14px;border-radius:12px;background:rgba(245,242,236,.05);border:1px solid rgba(182,143,64,.24)}
.mx-tiles-stat span{display:block;font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.mx-tiles-stat b{display:block;margin-top:4px;font-family:var(--serif);font-size:1.3rem;line-height:1.2}
.mx-stack{display:flex;height:14px;margin:22px 0 12px;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.08)}
.mx-stack i{display:block;height:100%}
.mx-stack .is-ok{background:var(--ok-dark)}.mx-stack .is-warn{background:var(--gold)}.mx-stack .is-info{background:var(--teal)}.mx-stack .is-fail{background:#ef7d63}
.mx-legend{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.84rem;color:rgba(245,242,236,.82)}
.mx-legend li{display:flex;align-items:center;gap:7px}
.mx-legend i{width:11px;height:11px;border-radius:3px;flex:none}
.mx-legend .is-ok i{background:var(--ok-dark)}.mx-legend .is-warn i{background:var(--gold)}.mx-legend .is-info i{background:var(--teal)}.mx-legend .is-fail i{background:#ef7d63}
.mx-legend b{color:var(--cream);font-family:var(--mono);font-size:.76rem;font-weight:400}
.mx-rp-sum .mx-small{margin-top:14px;color:rgba(245,242,236,.7);opacity:1}
.mx-rp-sum code{background:rgba(245,242,236,.08);padding:.1em .4em;border-radius:4px;font-size:.78rem}
.mx-ptr{display:block;font-family:var(--mono);font-size:.62rem;opacity:.65;word-break:break-all}
.mx-ptr:empty{display:none}
.mx-table td small{display:block;font-size:.76rem;opacity:.75;word-break:break-all}
.mx-reports{list-style:none;display:grid;gap:6px;margin-top:10px;font-size:.84rem}
.mx-reports li{padding:8px 12px;border-radius:9px;background:#fff;border:1px solid var(--line-light)}

/* ==========================================================================
   8 · Secciones de contenido de la herramienta
   ========================================================================== */
.mx-how .sec-head a{color:var(--gold);border-bottom:1px solid rgba(182,143,64,.5)}
.mx-proto-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.mx-proto{position:relative;overflow:hidden;padding:26px 24px;border:1px solid rgba(182,143,64,.34);border-radius:16px;background:rgba(26,28,27,.45)}
.mx-proto::after{content:"";position:absolute;top:0;right:0;width:180px;height:180px;pointer-events:none;background:radial-gradient(circle at 100% 0%,rgba(182,143,64,.17),transparent 68%)}
.mx-proto > *{position:relative;z-index:1}
.mx-proto-ic{display:grid;place-items:center;width:46px;height:46px;margin-bottom:16px;border-radius:13px;background:rgba(182,143,64,.14);color:var(--gold)}
.mx-proto-ic svg{width:25px;height:25px}
.mx-proto h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:1.35rem;color:var(--cream)}
.mx-proto h3 small{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.mx-proto p{margin:.6rem 0 1rem;font-size:.94rem;color:rgba(245,242,236,.78)}
.mx-proto strong{color:var(--cream)}
.mx-proto .read-more{color:var(--gold)}
.mx-proto .read-more:hover .arr{transform:translateX(4px)}

.mx-diff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.mx-diff-grid > div{position:relative;overflow:hidden;padding:26px 24px;background:#fff;border:1px solid var(--line-light);border-radius:16px}
.mx-diff-grid > div::after{content:"";position:absolute;top:0;right:0;width:160px;height:160px;pointer-events:none;background:radial-gradient(circle at 100% 0%,rgba(182,143,64,.13),transparent 68%)}
.mx-diff-grid svg{position:relative;width:32px;height:32px;margin-bottom:14px;color:var(--gold-dark)}
.mx-diff-grid h3{position:relative;font-size:1.16rem;margin-bottom:.45rem}
.mx-diff-grid p{position:relative;font-size:.93rem;opacity:.8}

.mx-ref{background:#fff;color:var(--black)}
.mx-ref .mx-table thead th{background:var(--cream)}
.mx-ref .mx-table code{white-space:nowrap;word-break:normal}
.mx-faq .faq summary code{font-size:.86em;padding:.05em .35em;border-radius:5px;background:rgba(182,143,64,.16);color:var(--gold)}
.mx-req .mx-table td{min-width:180px}

.mx-faq .faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mx-faq .faq details{background:rgba(255,255,255,.045);color:var(--cream);border:1px solid rgba(245,242,236,.14);border-radius:13px;transition:border-color .22s ease,background .22s ease}
.mx-faq .faq details:hover,.mx-faq .faq details[open]{background:rgba(255,255,255,.075);border-color:rgba(182,143,64,.58)}
.mx-faq .faq summary{
  position:relative;display:flex;align-items:center;min-height:64px;padding:17px 56px 17px 20px;cursor:pointer;list-style:none;
  font-family:var(--serif);font-size:1.03rem;font-weight:700;line-height:1.35;color:var(--cream);
}
.mx-faq .faq summary::-webkit-details-marker{display:none}
.mx-faq .faq summary::after{
  content:"+";position:absolute;right:18px;top:50%;display:grid;place-items:center;width:28px;height:28px;transform:translateY(-50%);
  border:1px solid rgba(182,143,64,.46);border-radius:50%;font-family:var(--mono);font-size:1rem;font-weight:400;color:var(--gold);transition:transform .22s ease,background .22s ease;
}
.mx-faq .faq details[open] summary::after{content:"−";background:rgba(182,143,64,.12)}
.mx-faq .faq summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:11px}
.mx-faq .faq details p{margin:0;padding:0 20px 20px;font-size:.94rem;line-height:1.62;color:rgba(245,242,236,.8)}
.mx-privacy{margin-top:32px;color:var(--black)}
.mx-privacy code{font-size:.8rem}
.mx-privacy a{color:var(--gold-dark);border-bottom:1px solid rgba(182,143,64,.5)}
.mx-source{margin-top:18px;background:rgba(255,255,255,.055);color:var(--cream);border-color:rgba(182,143,64,.34)}
.mx-source .src-label,.mx-source p > b:first-child{color:var(--gold)}
.mx-source a{color:var(--cream);border-bottom:1px solid rgba(182,143,64,.45)}
.mx-source a:hover{color:var(--gold)}
.mx-source .src-foot{border-top-color:rgba(245,242,236,.14)}
.mx-cta{
  position:relative;overflow:hidden;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:22px;
  margin-top:28px;padding:30px 32px;border:1px solid rgba(182,143,64,.34);border-radius:18px;background:rgba(182,143,64,.06);
}
.mx-cta::after{content:"";position:absolute;top:0;right:0;width:260px;height:260px;pointer-events:none;background:radial-gradient(circle at 100% 0%,rgba(182,143,64,.2),transparent 68%)}
.mx-cta > *{position:relative;z-index:1}
.mx-cta h3{font-size:1.5rem;color:var(--cream);margin-bottom:.35rem}
.mx-cta p{max-width:62ch;color:rgba(245,242,236,.78)}
.mx-cta-actions{display:flex;flex-wrap:wrap;gap:12px}

/* ==========================================================================
   9 · Adaptación a pantallas pequeñas
   ========================================================================== */
@media (max-width:1080px){
  .mx-checklist{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mx-gen-grid{grid-template-columns:1fr}
  .mx-gen-out{position:static}
  .mx-tiles-stat{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:960px){
  .mx-hero-grid{grid-template-columns:1fr;gap:26px}
  .mx-flow{max-width:560px}
  .mx-cards,.mx-cards-hd,.mx-proto-grid,.mx-diff-grid{grid-template-columns:1fr}
  .mx-proto-grid,.mx-diff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mx-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mx-faq .faq{grid-template-columns:1fr}
  .mx-align{grid-template-columns:1fr;gap:0}
  .mx-link-line{height:44px;display:grid;place-items:center}
  .mx-link-line::before{left:50%;right:auto;top:0;bottom:0;border-top:0;border-left:2px dashed currentColor}
}
@media (max-width:700px){
  .mx-sum{grid-template-columns:1fr;justify-items:start;padding:28px 22px}
  .mx-score{width:138px;height:138px}
  .mx-score strong{font-size:2.8rem}
  .mx-parts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mx-block,.mx-card{padding:22px 18px}
  .mx-anat li{grid-template-columns:1fr;gap:4px}
  .mx-facts,#card-transport .mx-facts{grid-template-columns:1fr}
  .mx-proto-grid,.mx-diff-grid{grid-template-columns:1fr}
  .mx-choices{grid-template-columns:1fr}
  .mx-field-grid{grid-template-columns:1fr}
  .mx-hop{grid-template-columns:30px minmax(0,1fr)}
  .mx-hop-delay{grid-column:2}
  .mx-verdict{grid-template-columns:1fr;padding:24px 20px}
  .mx-tiles-stat{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mx-rp-sum{padding:24px 18px}
  .mx-cta{padding:24px 20px}
}
@media (max-width:700px){
  .mx-recv table,.mx-recv tbody,.mx-recv tr,.mx-recv th,.mx-recv td{display:block;min-width:0;width:100%}
  .mx-recv table{min-width:0}
  .mx-recv thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .mx-recv tr{padding:14px 16px;border-bottom:1px solid var(--line-light)}
  .mx-recv tr:last-child{border-bottom:0}
  .mx-recv tbody th{padding:0 0 8px;border:0;font-size:1.05rem}
  .mx-recv td{padding:6px 0;border:0;min-width:0}
  .mx-recv td::before{content:attr(data-label);display:block;margin-bottom:2px;font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dark)}
}
@media (max-width:560px){
  .mx-flow{display:none}
  .mx-search{flex-wrap:wrap;border-radius:18px;padding:8px}
  .mx-search-ic{display:none}
  .mx-search input{flex:1 1 100%;padding:.75em .7em}
  .mx-search .btn{flex:1 1 100%;justify-content:center}
  .mx-tabs{margin-top:-30px;gap:6px;padding:6px}
  .mx-tabs [role="tab"]{padding:11px 10px;gap:8px}
  .mx-tabs [role="tab"] svg{width:22px;height:22px}
  .mx-tabs small{display:none}
  .mx-checklist{grid-template-columns:1fr}
  .mx-tiles,.mx-tiles-sm{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mx-hero .hero-meta .chip:nth-child(n+4){display:none}
}

/* Impresión: solo el resultado */
@media print{
  .nav,.mx-hero,.mx-tabs,.mx-dx-opts,.mx-how,.mx-diff,.mx-ref,.mx-req,.mx-faq,footer,.mx-sum-actions,.mx-copy{display:none!important}
  .mx-workspace{padding:0;background:#fff}
  .mx-sum,.mx-verdict,.mx-rp-sum{background:#fff!important;color:#000!important;box-shadow:none;border:1px solid #bbb}
  .mx-sum-copy p,.mx-verdict p{color:#222!important}
  .mx-block,.mx-card{box-shadow:none;break-inside:avoid}
}

/* ==========================================================================
   10 · Guía de seguridad del correo: diagramas y simulador
   Van dentro de .post-body, así que anulan sus viñetas y contadores.
   ========================================================================== */
.post-body [class^="mg-"] ol,.post-body [class^="mg-"] ul{margin:0;padding:0;list-style:none}
.post-body [class^="mg-"] li{margin:0;padding:0}
.post-body [class^="mg-"] li::before{content:none;display:none}
.post-body [class^="mg-"] code{border:0}
.post-body figure[class^="mg-"]{margin:2rem 0 2.4rem}
.post-body figure[class^="mg-"] > figcaption{
  display:flex;align-items:center;gap:.65em;margin-bottom:16px;
  font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);
}
.post-body figure[class^="mg-"] > figcaption::before{content:"";width:10px;height:10px;flex:none;background:var(--gold);clip-path:polygon(50% 12%,88% 82%,12% 82%)}
.mg-page .article-map.mg-map{grid-template-columns:repeat(2,minmax(0,1fr))}
.mg-page .article-map.mg-map a{padding:12px 14px;font-size:.95rem;align-items:baseline}
.mg-page .article-map.mg-map a:hover{border-color:rgba(182,143,64,.55);background:#fff}

/* Viaje del correo */
.post-body .mg-journey{position:relative;overflow:hidden;padding:26px 26px 18px;border-radius:18px;background:var(--black);color:var(--cream)}
.post-body .mg-journey::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px 320px at 100% 0%,rgba(182,143,64,.2),transparent 65%)}
.post-body .mg-journey > *{position:relative}
.post-body .mg-journey > figcaption{color:var(--gold)}
.post-body .mg-journey .mg-st{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:16px;align-items:start;padding:8px 0}
.mg-st-ic{grid-row:span 4;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#232624;border:1px solid rgba(182,143,64,.55);color:var(--cream)}
.mg-st-ic svg{width:26px;height:26px}
.mg-st.is-check .mg-st-ic,.mg-st.is-end .mg-st-ic{border-color:var(--gold);box-shadow:0 0 0 5px rgba(182,143,64,.12)}
.mg-st > b{font-family:var(--serif);font-size:1.18rem;line-height:1.3;color:var(--cream)}
.mg-st-name{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.post-body .mg-st p{margin:.35rem 0 0;font-size:.93rem;line-height:1.58;color:rgba(245,242,236,.78)}
.mg-badge{justify-self:start;display:inline-flex;align-items:center;gap:6px;margin-top:9px;padding:.32em .75em;border-radius:20px;background:rgba(182,143,64,.16);color:var(--gold);font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase}
.mg-badge svg{width:13px;height:13px}
.post-body .mg-journey .mg-link{margin-left:25px;padding:8px 0 8px 40px;border-left:2px dashed rgba(182,143,64,.5);font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;color:rgba(245,242,236,.62)}
.post-body .mg-journey .mg-link.is-inner{border-left-style:dotted;color:rgba(245,242,236,.4)}
.mg-link em{display:flex;align-items:center;gap:6px;margin-top:5px;font-style:normal;color:var(--teal)}
.mg-link em svg{width:14px;height:14px}

/* Conversación SMTP */
.post-body .mg-smtp{padding:22px 22px 18px;border-radius:16px;background:#141615;color:var(--cream);box-shadow:0 30px 60px -40px rgba(0,0,0,.8)}
.post-body .mg-smtp > figcaption{color:var(--gold)}
.post-body .mg-smtp ol{display:grid;gap:7px;font-family:var(--mono)}
.post-body .mg-smtp li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:2px 10px;align-items:start}
.mg-who{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;font-family:var(--mono);font-size:.62rem;font-weight:600}
.mg-smtp .is-s .mg-who{background:rgba(154,188,190,.2);color:var(--teal)}
.mg-smtp .is-c .mg-who{background:rgba(182,143,64,.2);color:var(--gold)}
.post-body .mg-smtp code{padding:0;background:none;color:var(--cream);font-size:.8rem;line-height:1.7;word-break:break-all}
.mg-smtp .is-s code{color:var(--teal)}
.mg-smtp em{grid-column:2;margin-bottom:4px;font-family:var(--sans);font-size:.84rem;font-style:normal;line-height:1.45;color:rgba(245,242,236,.58)}
.post-body .mg-smtp .is-key code{color:#e8c784}
.mg-smtp .is-key em{color:var(--gold)}

/* Sobre y carta */
.mg-env-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.mg-env-card{position:relative;overflow:hidden;padding:22px 20px 18px;border-radius:16px;border:1px solid var(--line-light);box-shadow:var(--mx-shadow)}
.mg-env-card.is-envelope{background:linear-gradient(160deg,#f4ead6,#eadbbd)}
.mg-env-card.is-envelope::before{content:"";position:absolute;left:0;right:0;top:0;height:54px;background:rgba(122,101,58,.12);clip-path:polygon(0 0,100% 0,50% 100%)}
.mg-env-card.is-letter{background:#fff;background-image:repeating-linear-gradient(180deg,transparent 0 27px,rgba(26,28,27,.05) 27px 28px)}
.mg-env-card > *{position:relative}
.mg-env-tag{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dark)}
.mg-env-tag svg{width:16px;height:16px}
.mg-env-card dl{display:grid;gap:2px;margin:0 0 12px}
.mg-env-card dt{font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--olive)}
.mg-env-card dd{margin:0 0 8px}
.post-body .mg-env-card dd code{font-size:.78rem;word-break:break-all;background:rgba(255,255,255,.65)}
.post-body .mg-env-check{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:.9rem;line-height:1.5}
.mg-env-check svg{width:18px;height:18px;flex:none;margin-top:3px;color:var(--gold-dark)}
.post-body .mg-env-verdict{display:flex;gap:12px;align-items:flex-start;margin:14px 0 0;padding:16px 18px;border-radius:14px;background:var(--black);color:var(--cream);font-size:.93rem;line-height:1.55}
.mg-env-verdict svg{width:22px;height:22px;flex:none;margin-top:2px;color:var(--gold)}
.post-body .mg-env-verdict code{background:rgba(245,242,236,.1);color:var(--cream)}

/* Anatomía de un registro */
.post-body .mg-anat pre{margin:0 0 14px;padding:16px 18px;border-radius:12px;background:var(--black);color:var(--cream);font-family:var(--mono);font-size:.84rem;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}
.post-body .mg-anat pre code{padding:0;background:none;color:inherit;font-size:inherit}
.post-body .mg-anat li{margin-bottom:10px;font-size:.95rem;line-height:1.55}
.post-body .mg-anat li > span{display:block}
.post-body .mg-anat li code.tk{display:inline-block;margin-bottom:3px;font-size:.76rem;background:var(--cream-2);color:var(--black);padding:.3em .55em}
.mg-anat pre .tk-v{color:var(--teal)}
.mg-anat pre .tk-inc{background:rgba(182,143,64,.2);color:#e8c784}
.mg-anat pre .tk-ip{background:rgba(154,188,190,.17);color:#c4dfe0}
.mg-anat pre .tk-mech{background:rgba(198,200,155,.15);color:#dcdeb6}
.mg-anat pre .tk-all{font-weight:600;background:rgba(245,242,236,.1)}
.mg-anat pre .tk-qsoft{color:#9fdcb4}
.mg-anat pre .tk-p-reject{color:#9fdcb4;background:rgba(143,209,168,.14)}
.mg-anat pre .tk-p-quarantine{color:#e8c784;background:rgba(182,143,64,.2)}
.post-body .mg-anat li .tk-inc{background:rgba(182,143,64,.17)}
.post-body .mg-anat li .tk-ip{background:rgba(154,188,190,.28)}
.post-body .mg-anat li .tk-v{background:var(--black);color:var(--teal)}

/* Firmar y verificar */
.mg-lanes{display:grid;grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);gap:12px;align-items:stretch}
.post-body .mg-lanes > figcaption{grid-column:1/-1}
.mg-lane{padding:18px 18px 16px;border-radius:16px;background:#fff;border:1px solid var(--line-light);box-shadow:var(--mx-shadow)}
.post-body .mg-lane-lab{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark)}
.mg-lane-lab svg{width:18px;height:18px}
.post-body .mg-lane ol{display:grid;gap:10px;counter-reset:lane}
.post-body .mg-lane li{position:relative;padding-left:34px;font-size:.92rem;line-height:1.5;counter-increment:lane}
.post-body .mg-lane li::before{content:counter(lane);display:grid;place-items:center;position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:var(--black);color:var(--gold);font-family:var(--mono);font-size:.66rem}
.mg-lane-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;font-family:var(--mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark)}
.mg-lane-mid svg{width:34px;height:34px;padding:7px;border-radius:10px;background:var(--black);color:var(--gold)}

/* Alineación */
.mg-alignx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mg-ax{padding:16px;border-radius:14px;background:#fff;border:1px solid var(--line-light)}
.mg-ax.is-ok{box-shadow:0 0 0 1px var(--ok-line)}
.mg-ax.is-fail{box-shadow:0 0 0 1px var(--fail-line)}
.post-body .mg-ax-lab{margin:0 0 10px;font-family:var(--serif);font-weight:700;font-size:1rem;line-height:1.3}
.mg-ax dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;margin:0 0 10px;font-size:.84rem}
.mg-ax dt{font-family:var(--mono);font-size:.62rem;padding-top:3px;color:var(--gold-dark)}
.mg-ax dd{margin:0}
.post-body .mg-ax dd code{font-size:.74rem}
.post-body .mg-ax-res{display:flex;gap:6px;align-items:flex-start;margin:0;font-size:.86rem;font-weight:700}
.mg-ax-res svg{width:18px;height:18px;flex:none;margin-top:2px}
.mg-ax.is-ok .mg-ax-res{color:var(--ok)}
.mg-ax.is-fail .mg-ax-res{color:var(--fail)}

/* Recorrido DNS */
.post-body .mg-walk ol{display:grid;gap:8px}
.post-body .mg-walk li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;align-items:center;padding:10px 14px;border-radius:10px;background:#fff;border:1px solid var(--line-light);font-size:.88rem}
.post-body .mg-walk li code{font-size:.8rem;background:none}
.mg-walk li span{font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(26,28,27,.55)}
.post-body .mg-walk li.is-found{background:var(--black);color:var(--cream);border-color:var(--black)}
.post-body .mg-walk li.is-found code{color:var(--gold)}
.mg-walk li.is-found span{color:var(--ok-dark)}

/* Cadena ARC */
.post-body .mg-chain ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;counter-reset:none}
.post-body .mg-chain li{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:14px;background:#fff;border:1px solid var(--line-light)}
.post-body .mg-chain li:not(:last-child)::after{content:"→";display:grid;place-items:center;position:absolute;right:-17px;top:28px;width:22px;height:22px;border-radius:50%;background:var(--gold);color:var(--black);font-size:.8rem;z-index:1}
.mg-chain-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--black);color:var(--gold)}
.mg-chain-ic svg{width:22px;height:22px}
.mg-chain li b{font-family:var(--mono);font-size:.82rem}
.mg-chain li small{font-size:.84rem;line-height:1.5;opacity:.78}

/* Bandeja con BIMI */
.mg-inbox-list{border:1px solid var(--line-light);border-radius:16px;overflow:hidden;background:#fff;box-shadow:var(--mx-shadow)}
.mg-inbox-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line-light)}
.mg-inbox-row:last-child{border-bottom:0}
.mg-inbox-row b{display:flex;align-items:center;gap:6px;font-size:.96rem}
.mg-inbox-row div > span{display:block;font-size:.88rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mg-inbox-row time{font-family:var(--mono);font-size:.7rem;opacity:.6}
.mg-inbox-row.is-brand{background:rgba(182,143,64,.06)}
.mg-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--teal);color:var(--black);font-weight:700}
.mg-avatar.is-logo{background:var(--black);color:var(--gold)}
.mg-avatar.is-logo svg{width:22px;height:22px}
.mg-verified{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#1a73e8;color:#fff}
.mg-verified svg{width:11px;height:11px}
.post-body .mg-inbox > p{margin:12px 0 0;font-size:.9rem;opacity:.8}

/* Código y cronograma */
.post-body .mg-code pre{margin:0;padding:18px 20px;border-radius:14px;background:var(--black);color:var(--cream);font-family:var(--mono);font-size:.8rem;line-height:1.8;overflow-x:auto}
.post-body .mg-code pre code{padding:0;background:none;color:inherit;font-size:inherit;white-space:pre}
.post-body .mg-timeline ol{position:relative;display:grid;gap:0}
.post-body .mg-timeline ol::before{content:"";position:absolute;left:9px;top:10px;bottom:10px;border-left:2px dashed rgba(182,143,64,.45)}
.post-body .mg-timeline li{position:relative;display:grid;grid-template-columns:130px minmax(0,1fr);gap:4px 18px;padding:10px 0 14px 36px}
.post-body .mg-timeline li::after{content:"";position:absolute;left:2px;top:15px;width:16px;height:16px;border-radius:50%;background:var(--cream);border:3px solid var(--gold)}
.post-body .mg-timeline li:last-child::after{background:var(--gold)}
.mg-tl-when{grid-row:span 2;font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark);padding-top:4px}
.mg-timeline li b{font-family:var(--serif);font-size:1.08rem}
.post-body .mg-timeline li p{margin:.2rem 0 0;font-size:.93rem;line-height:1.55}

/* Glosario */
.post-body .mg-glossary{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:0;margin:1.2rem 0 2rem;border:1px solid var(--line-light);border-radius:14px;overflow:hidden;background:#fff}
.mg-glossary dt,.mg-glossary dd{padding:12px 16px;border-bottom:1px solid var(--line-light)}
.mg-glossary dt{font-family:var(--serif);font-weight:700;background:var(--cream-2);scroll-margin-top:110px}
.mg-glossary dd{margin:0;font-size:.95rem;line-height:1.6}
.mg-glossary dt:nth-last-of-type(1),.mg-glossary dd:last-of-type{border-bottom:0}

/* Simulador */
.post-body .mg-sim{position:relative;overflow:hidden;padding:22px 22px 20px;border-radius:18px;background:var(--black);color:var(--cream)}
.post-body .mg-sim::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px 320px at 100% 0%,rgba(182,143,64,.2),transparent 65%)}
.post-body .mg-sim > *{position:relative}
.post-body .mg-sim > figcaption{color:var(--gold)}
.mg-sim-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.mg-sim-tabs button{min-height:36px;padding:.55em .95em;border:1px solid rgba(245,242,236,.28);border-radius:30px;background:transparent;color:var(--cream);cursor:pointer;font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;transition:.2s ease}
.mg-sim-tabs button:hover{border-color:var(--gold);color:var(--gold)}
.mg-sim-tabs button[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--black)}
.mg-sim-tabs button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.mg-sim-stage{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:22px 0 10px}
.mg-sim-stage::before{content:"";position:absolute;left:12%;right:12%;top:50px;border-top:2px dashed rgba(182,143,64,.4)}
.mg-sim-node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;transition:opacity .3s ease}
.mg-sim-ic{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#232624;border:1px solid rgba(182,143,64,.5);color:var(--cream);transition:box-shadow .3s ease,border-color .3s ease,color .3s ease}
.mg-sim-ic svg{width:26px;height:26px}
.mg-sim-node.is-active .mg-sim-ic{border-color:var(--gold);box-shadow:0 0 0 7px rgba(182,143,64,.18)}
.mg-sim-node b{font-size:.84rem;line-height:1.3}
.mg-sim-node small{font-family:var(--mono);font-size:.6rem;opacity:.6}
.mg-sim-node.is-off{opacity:.22}
.mg-sim-checks{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:2px}
.mg-sim-checks span{padding:.25em .5em;border-radius:5px;background:rgba(245,242,236,.08);color:rgba(245,242,236,.5);font-family:var(--mono);font-size:.56rem;transition:.3s ease}
.mg-sim-checks .is-pass{background:rgba(143,209,168,.2);color:#9fdcb4}
.mg-sim-checks .is-fail{background:rgba(224,107,85,.22);color:#ffab98}
.mg-sim-checks .is-none{opacity:.3}
.mg-sim-node.is-out.is-inbox .mg-sim-ic{border-color:var(--ok-dark);color:var(--ok-dark)}
.mg-sim-node.is-out.is-spam .mg-sim-ic{border-color:var(--gold);color:var(--gold)}
.mg-sim-node.is-out.is-reject .mg-sim-ic{border-color:#ef7d63;color:#ef7d63}
.mg-sim-env{position:absolute;left:0;top:33px;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--cream);color:var(--black);box-shadow:0 10px 20px -8px rgba(0,0,0,.6);transition:transform .9s cubic-bezier(.45,0,.2,1),background .3s ease,opacity .3s ease;z-index:2}
.mg-sim-env svg{width:20px;height:20px}
.mg-sim-env.is-bad{background:#ef7d63}
.mg-sim-env.is-gone{opacity:0}
.post-body .mg-sim-log{display:grid;gap:7px;min-height:170px;margin-top:8px}
.post-body .mg-sim-log li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;font-size:.9rem;line-height:1.5;color:rgba(245,242,236,.84);animation:mgIn .35s ease both}
.mg-sim-log li > i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(182,143,64,.2);color:var(--gold);font-family:var(--mono);font-size:.6rem;font-style:normal}
.mg-sim-log li.is-pass > i{background:rgba(143,209,168,.2);color:#9fdcb4}
.mg-sim-log li.is-fail > i{background:rgba(224,107,85,.22);color:#ffab98}
.post-body .mg-sim-log code{background:rgba(245,242,236,.1);color:var(--cream)}
.mg-sim-actions{margin-top:10px}
.mg-sim-actions .btn{color:var(--cream);border-color:rgba(245,242,236,.3)}
@keyframes mgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.mg-sim-env{transition:none}.post-body .mg-sim-log li{animation:none}}

@media (max-width:700px){
  .mg-env-grid,.mg-alignx-grid{grid-template-columns:1fr}
  .mg-lanes{grid-template-columns:1fr}
  .mg-lane-mid{flex-direction:row}
  .post-body .mg-chain ol{grid-template-columns:1fr}
  .post-body .mg-chain li:not(:last-child)::after{content:"↓";right:auto;left:22px;top:auto;bottom:-17px}
  .post-body .mg-timeline li{grid-template-columns:1fr}
  .mg-tl-when{grid-row:auto}
  .post-body .mg-glossary{grid-template-columns:1fr}
  .mg-glossary dt{border-bottom:0;padding-bottom:4px}
  .mg-page .article-map.mg-map{grid-template-columns:1fr}
  .mg-sim-stage{gap:4px}
  .mg-sim-ic{width:44px;height:44px}
  .mg-sim-ic svg{width:20px;height:20px}
  .mg-sim-stage::before{top:44px}
  .mg-sim-env{top:27px;width:28px;height:28px}
  .mg-sim-node b{font-size:.7rem}
  .mg-sim-node small{display:none}
}
.mg-page .post-body th code{white-space:nowrap}
