/* ======================================================================
   邮件头解析器 · 独立设计（航空信封主题：靛蓝 + 邮戳红 + 虚线撕边）
   ====================================================================== */
.emh{
  --ink:#1f2233; --sub:#5d6178; --faint:#9a9eb5;
  --bg:#f6f5ef; --card:#fffef9; --card2:#f0eee3; --line:#dcd8c8; --line2:#e8e5d8;
  --pri:#4338ca; --pri-2:#6366f1; --pri-soft:#e7e6fb; --pri-ink:#3730a3;
  --stamp:#b91c1c; --stamp-soft:#fbe9e9;
  --ok:#15803d; --ok-soft:#e5f5e9;
  --warn:#b45309; --warn-soft:#fdf1dd;
  --r:14px;
  --shadow:0 1px 2px rgba(31,34,51,.06),0 12px 28px rgba(67,56,202,.08);
  color:var(--ink);
  font-family:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,sans-serif;
  font-size:15px; line-height:1.7;
  background:
    repeating-linear-gradient(45deg, transparent 0 26px, rgba(67,56,202,.025) 26px 52px),
    var(--bg);
  padding:0 16px 56px;
}
:root[data-theme="dark"] .emh{
  --ink:#e8e9f2; --sub:#a3a7bd; --faint:#6c7089;
  --bg:#12131d; --card:#1a1c29; --card2:#20222f; --line:#31344a; --line2:#282b3d;
  --pri:#818cf8; --pri-2:#a5b4fc; --pri-soft:rgba(129,140,248,.14); --pri-ink:#c7d2fe;
  --stamp:#f87171; --stamp-soft:rgba(248,113,113,.12);
  --ok:#4ade80; --ok-soft:rgba(74,222,128,.12);
  --warn:#fbbf24; --warn-soft:rgba(251,191,36,.12);
  --shadow:0 1px 2px rgba(0,0,0,.4),0 14px 32px rgba(0,0,0,.45);
}
.emh *{box-sizing:border-box;}
.emh b{font-weight:700;}
.emh-wrap{max-width:1120px;margin:0 auto;}
.emh code,.emh pre,.emh textarea{font-family:"JetBrains Mono",ui-monospace,Consolas,"Courier New",monospace;}

.emh-hero{margin-top:22px;border-radius:18px;box-shadow:var(--shadow);padding:26px 28px 22px;position:relative;
  background:linear-gradient(115deg,#312e81 0%,#4338ca 60%,#1e40af 100%);color:#eef0ff;overflow:hidden;}
:root[data-theme="dark"] .emh-hero{background:linear-gradient(115deg,#171636 0%,#27246b 60%,#152a5c 100%);}
.emh-hero::after{content:"✉";position:absolute;right:26px;top:18px;font-size:64px;opacity:.18;}
.emh-stamp{position:absolute;right:22px;bottom:16px;width:58px;height:66px;border:2px dashed rgba(255,255,255,.5);
  border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;color:rgba(255,255,255,.75);
  transform:rotate(-6deg);letter-spacing:.05em;text-align:center;line-height:1.4;}
.emh-hero h1{margin:0 0 8px;font-size:clamp(24px,3.6vw,31px);font-weight:900;line-height:1.3;}
.emh-hero p{margin:0;max-width:760px;color:#c9cdf5;font-size:15px;}
.emh-hero p em{font-style:normal;color:#fca5a5;font-weight:800;}

.emh-desk{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px;}
@media (max-width:960px){.emh-desk{grid-template-columns:1fr;}}
.emh-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px;}
.emh-card.dash{border-style:dashed;}
.emh-card h2{margin:0 0 4px;font-size:16px;font-weight:900;display:flex;align-items:center;gap:8px;}
.emh-card h2 i{font-style:normal;width:22px;height:22px;border-radius:7px;background:var(--pri);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;}
:root[data-theme="dark"] .emh-card h2 i{color:#171636;}
.emh-tip{font-size:12.5px;color:var(--sub);margin:0 0 10px;}
.emh-ta{width:100%;min-height:230px;resize:vertical;padding:12px;border-radius:10px;border:1px solid var(--line);
  background:var(--card2);color:var(--ink);font-size:12.5px;line-height:1.6;outline:none;}
.emh-ta:focus{border-color:var(--pri-2);box-shadow:0 0 0 3px var(--pri-soft);}
.emh-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.emh-btn{border:none;border-radius:10px;padding:9px 16px;font-size:13.5px;font-weight:800;cursor:pointer;transition:all .15s;}
.emh-btn-go{background:var(--pri);color:#fff;}
:root[data-theme="dark"] .emh-btn-go{color:#171636;}
.emh-btn-go:hover{background:var(--pri-2);}
.emh-btn-ghost{background:var(--card2);color:var(--pri-ink);border:1px solid var(--line);}
.emh-btn-ghost:hover{border-color:var(--pri-2);}
.emh-msg{margin-top:10px;font-size:13px;min-height:20px;font-weight:700;}
.emh-msg.err{color:var(--stamp);background:var(--stamp-soft);padding:7px 10px;border-radius:8px;}
.emh-msg.ok{color:var(--ok);background:var(--ok-soft);padding:7px 10px;border-radius:8px;}

.emh-auth{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.emh-chip{border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:800;border:1px solid var(--line);}
.emh-chip.pass{background:var(--ok-soft);color:var(--ok);}
.emh-chip.fail{background:var(--stamp-soft);color:var(--stamp);}
.emh-chip.na{background:var(--card2);color:var(--faint);}
.emh-chip.neu{background:var(--warn-soft);color:var(--warn);}

.emh-hops{list-style:none;margin:0;padding:0;}
.emh-hop{position:relative;padding:0 0 16px 26px;}
.emh-hop::before{content:"";position:absolute;left:7px;top:6px;bottom:-6px;width:2px;background:var(--line);}
.emh-hop:last-child::before{display:none;}
.emh-hop::after{content:"";position:absolute;left:2px;top:5px;width:12px;height:12px;border-radius:50%;
  background:var(--pri);border:2px solid var(--card);}
.emh-hop.bad::after{background:var(--stamp);}
.emh-hop .emh-h1{font-size:13.5px;font-weight:800;}
.emh-hop .emh-h2{font-size:12px;color:var(--sub);font-family:ui-monospace,Consolas,monospace;word-break:break-all;}
.emh-hop .emh-dt{font-size:11.5px;color:var(--warn);font-weight:700;}

.emh-sus{list-style:none;margin:0;padding:0;}
.emh-sus li{border:1px solid var(--line);border-left:4px solid var(--stamp);background:var(--stamp-soft);
  border-radius:8px;padding:7px 10px;font-size:13px;margin-bottom:8px;}
.emh-sus li.info{border-left-color:var(--warn);background:var(--warn-soft);}
.emh-sus li.good{border-left-color:var(--ok);background:var(--ok-soft);}

.emh-tbl{width:100%;border-collapse:collapse;font-size:12.5px;}
.emh-tbl th,.emh-tbl td{border:1px solid var(--line);padding:6px 9px;text-align:left;vertical-align:top;}
.emh-tbl th{background:var(--card2);font-weight:800;white-space:nowrap;}
.emh-tbl td:first-child{font-family:ui-monospace,Consolas,monospace;color:var(--pri-ink);white-space:nowrap;}

.emh-faq{margin-top:34px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow);}
.emh-faq h2{margin:0 0 12px;font-size:19px;font-weight:900;}
.emh-faq h3{margin:18px 0 6px;font-size:15.5px;font-weight:800;color:var(--pri-ink);}
.emh-faq p{margin:0;color:var(--sub);font-size:14px;}
.emh-faq p b{color:var(--ink);}
