/* ============================================================
   PowerMTA.in — Design System v46
   Concept: "Signal" — the visual language of mail routing and
   DNS diagnostics (dig / traceroute / Received: headers), not a
   generic blog. Cool paper ground, one electric-indigo signal
   colour, three-role type system (grotesk display, serif body,
   mono for anything that is literally data).
   ============================================================ */

:root{
  --ink:#0e1420;
  --ink-soft:#242c3d;
  --paper:#f6f7fa;
  --surface:#ffffff;
  --muted:#5b6472;
  --faint:#8a92a0;
  --line:#e3e7ed;
  --line-soft:#edf0f4;

  --signal:#4c3ae3;
  --signal-deep:#2a1b99;
  --signal-soft:#eeebfb;
  --signal-ink:#1c1140;

  --ok:#16a34a;
  --ok-soft:#e9f8ee;
  --warn:#d97706;
  --warn-soft:#fdf3e3;
  --err:#dc2626;
  --err-soft:#fdeaea;

  --display:'Space Grotesk',system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --body:'Source Serif 4',Georgia,'Times New Roman',serif;
  --mono:'JetBrains Mono','SF Mono',Consolas,monospace;

  --shadow:0 18px 50px rgba(14,20,32,.09);
  --shadow-sm:0 6px 20px rgba(14,20,32,.06);
  --radius:14px;
  --radius-lg:20px;
  --max:1240px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--body);line-height:1.7;overflow-x:hidden;
  font-size:16.5px;
}
::selection{background:var(--signal);color:#fff}
a{color:var(--signal-deep)}
a:hover{color:var(--signal)}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
:focus-visible{outline:2.5px solid var(--signal);outline-offset:2px;border-radius:4px}

h1,h2,h3,h4,h5,h6,.v45-brand strong,.v45-nav a,.v45-cta,button,.gen-btn,.btn-primary,.v37-btn,
.tab-btn,.v45-footer h3,.card-title,.tool-title{
  font-family:var(--display);letter-spacing:-.02em;font-weight:600;
}
h1{font-weight:700}
p{margin:0 0 1.1em}
code,pre,kbd,.mono,.output-code,.pm-console,.eyebrow,.page-tag,.hero-tag,.article-tag,.cat,
.v31-dot,.meta-dot,small.v45-brand-tag{
  font-family:var(--mono);
}

.v45-wrap{width:min(var(--max),calc(100% - 32px));margin:auto}

/* ---------- Header ---------- */
.v45-head{
  position:sticky;top:0;z-index:1000;background:rgba(246,247,250,.92);
  border-bottom:1px solid var(--line);backdrop-filter:blur(14px) saturate(160%);
}
.v45-head-inner{min-height:72px;display:flex;align-items:center;gap:26px}
.v45-brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:max-content}
.v45-mark{
  display:grid;place-items:center;width:40px;height:40px;border-radius:10px;
  background:var(--ink);color:var(--signal-soft);font-family:var(--mono);font-weight:700;
  font-size:15px;
}
.v45-brand strong{display:block;font-size:19px;line-height:1.05;letter-spacing:-.03em;color:var(--ink)}
.v45-brand small{
  display:block;margin-top:4px;font-family:var(--mono);font-size:9px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;color:var(--faint)
}
.v45-nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.v45-nav a{
  padding:8px 12px;border-radius:8px;text-decoration:none;color:var(--muted);
  font-size:13px;font-weight:600;white-space:nowrap;
}
.v45-nav a:hover,.v45-nav a.active{background:var(--signal-soft);color:var(--signal-deep)}
.v45-nav .v45-cta{background:var(--signal);color:#fff;box-shadow:0 8px 18px rgba(76,58,227,.28)}
.v45-nav .v45-cta:hover{background:var(--signal-deep);color:#fff}
.v45-menu{
  display:none;margin-left:auto;border:1px solid var(--line);background:var(--surface);
  border-radius:8px;padding:8px 12px;font-weight:600;font-family:var(--display);color:var(--ink);
}

.v45-trend{background:var(--ink);color:#c7cde0;border-bottom:1px solid #1c2334}
.v45-trend-inner{
  min-height:34px;display:flex;align-items:center;gap:22px;overflow:auto;
  white-space:nowrap;scrollbar-width:none;
}
.v45-trend-inner::-webkit-scrollbar{display:none}
.v45-trend strong{
  color:#a397ff;font-family:var(--mono);font-size:9px;letter-spacing:.14em;font-weight:600;
}
.v45-trend a{font-size:11px;text-decoration:none;color:#c7cde0}
.v45-trend a:hover{color:#a397ff}

/* ---------- Universal content frame ---------- */
main{position:relative}
.page,.content,.main-content,.container,.pm-page,.tool-page,.page-wrap{
  width:min(1100px,calc(100% - 32px));margin-left:auto;margin-right:auto;
}
.v45-breadcrumb{
  width:min(1100px,calc(100% - 32px));margin:16px auto 0;font-size:12px;
  color:var(--faint);font-family:var(--mono);
}
.v45-breadcrumb a{color:var(--muted);text-decoration:none}
.v45-breadcrumb a:hover{color:var(--signal)}
.v45-surface{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}

/* ---------- Diagnostic console — signature element ---------- */
.pm-console{
  background:var(--ink);border-radius:14px;padding:22px 24px;color:#c7cde0;
  font-family:var(--mono);font-size:13px;line-height:1.85;box-shadow:0 30px 70px rgba(10,14,25,.35);
  border:1px solid #232c42;
}
.pm-console .pm-c-dim{color:#7580a0}
.pm-console .pm-c-prompt{color:#a397ff}
.pm-console .pm-c-ok{color:#5ee0a3}
.pm-console .pm-c-key{color:#e8ecf7}

/* ---------- Homepage (v37- system) ---------- */
.v37-leadgrid{
  width:min(var(--max),calc(100% - 32px));margin:32px auto 0;
  display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:18px;
}
.v37-lead{
  background:radial-gradient(circle at 85% 0%,#1b1140,var(--ink) 60%);color:#fff;
  border-radius:var(--radius-lg);padding:44px;min-height:430px;display:flex;align-items:center;
  position:relative;overflow:hidden;box-shadow:0 30px 80px rgba(14,20,32,.25);
}
.v37-lead:after{
  content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-220px;bottom:-220px;
  background:rgba(76,58,227,.28);filter:blur(10px);
}
.v37-lead h1{
  font-family:var(--display);font-size:clamp(38px,4.6vw,60px);line-height:1.02;letter-spacing:-.04em;
  margin:16px 0;color:#fff;max-width:900px;font-weight:700;
}
.v37-lead p{max-width:720px;color:#b9c0d6;font-family:var(--body);font-size:16px}
.v37-kicker{
  color:#a397ff;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;
}
.v37-btn{
  display:inline-block;background:var(--signal);color:#fff;text-decoration:none;font-weight:600;
  font-family:var(--display);padding:12px 18px;border-radius:9px;box-shadow:0 10px 24px rgba(76,58,227,.35);
}
.v37-btn:hover{background:var(--signal-deep)}
.v37-side{display:flex;flex-direction:column;gap:10px}
.v37-story{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:17px;
  box-shadow:var(--shadow-sm);transition:.16s;
}
.v37-story:hover,.v37-card:hover,.v37-tool:hover,.v37-cat:hover{
  transform:translateY(-2px);box-shadow:var(--shadow);border-color:#d7dceb;
}
.v37-story h2,.v37-story h3{font-size:15px;line-height:1.35;margin:6px 0;font-family:var(--display)}
.v37-story p,.v37-card p{font-family:var(--body);font-size:13px;color:var(--muted)}
.v37-section{width:min(var(--max),calc(100% - 32px));margin:48px auto}
.v37-section-head{
  display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);
  padding-bottom:12px;margin-bottom:16px;
}
.v37-section-head h2{margin:0;font-size:27px;letter-spacing:-.03em;font-family:var(--display)}
.v37-section-head p{margin:4px 0 0;color:var(--muted);font-family:var(--body);font-size:13px}
.v37-section-head a{font-family:var(--display);font-weight:600;font-size:13px;text-decoration:none}
.v37-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.v37-card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;
  min-height:195px;box-shadow:var(--shadow-sm);transition:.16s;display:flex;flex-direction:column;
}
.v37-card .cat{
  color:var(--signal-deep);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
}
.v37-card h3{font-size:17px;line-height:1.32;margin:8px 0;font-family:var(--display);font-weight:600}
.v37-card .read{color:var(--signal-deep);font-size:12px;font-weight:600;text-decoration:none;margin-top:auto;font-family:var(--display)}
.v37-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v37-cat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.v37-cat h3{font-family:var(--display);font-size:14px}
.v37-mini a{font-size:13px;font-family:var(--body)}
.v37-tools{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.v37-tool{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:15px}
.v37-tool a{text-decoration:none;font-size:12.5px;font-weight:600;font-family:var(--display);color:var(--ink)}
.v37-tool span{color:var(--faint);font-family:var(--mono);font-size:10px}
.v37-ad{
  min-height:80px;border:1px dashed #cdd3e0;border-radius:10px;background:#fafbfd;color:var(--faint);
  display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:9px;
  letter-spacing:.12em;text-transform:uppercase;margin:24px auto;width:min(var(--max),calc(100% - 32px));
}

/* ---------- Article, tools, legal, static pages ---------- */
.article,.pm-article-shell,.article-shell,.pm-blog-shell,.tool-container,.generator-container,
.checker-container,.calculator-container,.v38-tool-shell{
  width:min(1080px,calc(100% - 32px));margin:24px auto 55px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);
  padding:clamp(26px,4.5vw,54px);
}
.article h1,.pm-article-shell h1,.article-shell h1,.pm-blog-shell h1,.tool-container h1,
.generator-container h1,.checker-container h1,.calculator-container h1{
  font-family:var(--display)!important;font-size:clamp(34px,4.6vw,54px)!important;line-height:1.05!important;
  letter-spacing:-.03em!important;color:var(--ink)!important;font-weight:700!important;
}
.article h2,.pm-article-shell h2,.article-shell h2,.pm-blog-shell h2{
  font-family:var(--display);font-size:27px;line-height:1.22;letter-spacing:-.02em;margin-top:44px;
  font-weight:600;
}
.article p,.pm-article-shell p,.article-shell p,.pm-blog-shell p{
  font-family:var(--body);font-size:17px;line-height:1.85;color:#2b3242;
}
.article li,.pm-article-shell li,.article-shell li{line-height:1.8;font-family:var(--body)}
.article-content{max-width:830px}
.article-intro{font-family:var(--body);font-size:18px;line-height:1.8;color:var(--ink-soft)}
.pm-editorial-meta,.v31-editorial-meta{
  display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;color:var(--faint);font-family:var(--mono);
  font-size:11px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:18px 0;
}
.v32-author-box{
  background:var(--signal-soft);border:1px solid #ded8f8;border-radius:13px;padding:15px 17px;margin:20px 0;
}
.v37-toc,.v38-toc,.pm-toc,.toc,.table-of-contents{
  background:#f8f8fc;border:1px solid #dfe1f0;border-left:4px solid var(--signal);border-radius:12px;
  padding:20px;margin:26px 0;font-family:var(--body);
}
.v37-toc a,.v38-toc a,.pm-toc a,.toc a,.table-of-contents a{color:var(--signal-deep);text-decoration:none}
.v31-sources,.sources,.editorial-note{
  background:#f8f8fc;border:1px solid #dfe1f0;border-radius:12px;padding:18px;margin:26px 0;font-family:var(--body);
}
.v37-related,.pm-related{margin:42px 0;padding-top:26px;border-top:1px solid var(--line)}
.v37-related-grid,.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v37-related-grid a,.related-card a{display:block;text-decoration:none}
.v37-related-grid a{
  background:#fbfbfd;border:1px solid var(--line);border-radius:11px;padding:15px;font-size:12.5px;
  font-weight:600;font-family:var(--display);color:var(--ink);
}
.pm-info-box{background:var(--signal-soft)!important;border:1px solid #ded8f8!important;border-radius:12px!important}
.pm-ad-slot{
  border:1px dashed #cdd3e0!important;background:#fafbfd!important;color:var(--faint)!important;
  border-radius:10px!important;font-family:var(--mono)!important;
}
.page-hero,.hero{
  width:min(1080px,calc(100% - 32px));margin:28px auto;padding:40px;border-radius:var(--radius-lg);
  background:radial-gradient(circle at 90% 0%,#1b1140,var(--ink) 65%);color:#fff;box-shadow:var(--shadow);
}
.page-hero h1,.hero h1{color:#fff!important;font-family:var(--display)!important}
.page-hero p,.hero p{color:#b9c0d6;font-family:var(--body)}
.page-tag,.hero-tag{color:#a397ff!important;font-family:var(--mono)!important;letter-spacing:.1em;text-transform:uppercase}
.tool-panel,.output-box,.info-card,.tool-card{border-color:var(--line)!important;border-radius:12px!important}
.gen-btn,.btn-primary{
  background:var(--signal)!important;color:#fff!important;border:0!important;border-radius:9px!important;
  font-weight:600!important;font-family:var(--display)!important;
}
.gen-btn:hover,.btn-primary:hover{background:var(--signal-deep)!important}
.copy-btn{border-color:var(--line)!important;border-radius:8px!important;font-family:var(--display)!important}
.output-code,.output-box code,pre{font-family:var(--mono)!important}

/* Remove legacy shells at the source/layout level */
.pm-site-header,.pm-site-footer,.v36-footer,.trust-bar{display:none!important}
body>footer:not(.v45-footer):not(.v37-footer){display:none!important}
body>header:not(.v45-head){display:none!important}
body>nav:not(.v45-nav){display:none!important}
.pm-mobile,.pm-theme{display:none!important}
.pm-site-header + *{margin-top:0}

/* ---------- Footer ---------- */
.v45-footer{margin-top:0;background:var(--ink);color:#aab1c6;border-top:1px solid #1c2334}
.v45-footer-grid{display:grid;grid-template-columns:1.55fr repeat(3,1fr);gap:30px;padding:50px 0 34px}
.v45-footer h3{font-family:var(--display);font-size:12px;color:#fff;margin:0 0 12px;font-weight:600}
.v45-footer p,.v45-footer a{font-family:var(--body);font-size:12px;line-height:1.8;color:#98a0b6;text-decoration:none}
.v45-footer a:hover{color:#a397ff}
.v45-footer-logo{font-family:var(--display)!important;font-size:19px!important;font-weight:700;color:#fff!important;letter-spacing:-.02em}
.v45-footer-bottom{
  border-top:1px solid #1c2334;padding:17px 0 22px;display:flex;justify-content:space-between;gap:18px;
  flex-wrap:wrap;font-family:var(--mono);font-size:10px;color:#7580a0;
}
.v45-footer-bottom a{font-family:var(--mono);font-size:10px;color:#98a0b6}

@media(max-width:980px){
  .v45-nav{overflow:auto}
  .v37-leadgrid{grid-template-columns:1fr}
  .v37-tools{grid-template-columns:repeat(3,minmax(0,1fr))}
  .v45-head-inner{gap:16px}
}
@media(max-width:700px){
  .v45-wrap{width:min(100% - 22px,var(--max))}
  .v45-head-inner{min-height:64px}
  .v45-brand small{font-size:8px}
  .v45-menu{display:block}
  .v45-nav{
    display:none;position:absolute;left:11px;right:11px;top:63px;background:var(--surface);
    border:1px solid var(--line);border-radius:12px;padding:7px;box-shadow:var(--shadow);
    flex-direction:column;align-items:stretch;
  }
  .v45-nav.open{display:flex}
  .v45-nav a{padding:11px}
  .v45-trend-inner{min-height:32px;gap:17px}
  .v37-leadgrid,.v37-section,.v37-ad{width:min(100% - 22px,var(--max))}
  .v37-lead{min-height:380px;padding:28px 23px}
  .v37-lead h1{font-size:40px}
  .v37-grid,.v37-cats,.v37-tools,.v37-related-grid,.related-grid{grid-template-columns:1fr}
  .v37-section-head{align-items:flex-start;flex-direction:column}
  .article,.pm-article-shell,.article-shell,.pm-blog-shell,.tool-container,.generator-container,
  .checker-container,.calculator-container,.v38-tool-shell{
    width:min(100% - 22px,1080px);padding:24px 18px;border-radius:14px;
  }
  .article h1,.pm-article-shell h1,.article-shell h1,.pm-blog-shell h1{font-size:34px!important}
  .v45-footer-grid{grid-template-columns:1fr 1fr}
  .page,.content,.main-content,.container,.pm-page,.tool-page,.page-wrap{width:min(100% - 22px,1100px)}
}
@media(max-width:450px){
  .v45-footer-grid{grid-template-columns:1fr}
  .v45-brand strong{font-size:18px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* ============================================================
   PowerMTA.in — Design Polish v47
   Goals: stronger visual hierarchy, premium SaaS/editorial feel,
   clearer interaction states, better mobile UX, and consistent
   components across legacy pages.
   ============================================================ */

:root{
  --pm-bg:#f4f6fb;
  --pm-surface:#ffffff;
  --pm-surface-2:#fafbff;
  --pm-border:#e1e6f0;
  --pm-border-strong:#d5dbea;
  --pm-accent:#5b4cf0;
  --pm-accent-2:#7c6ff6;
  --pm-navy:#0b1020;
  --pm-text:#111827;
  --pm-muted:#667085;
  --pm-shadow:0 20px 55px rgba(15,23,42,.08);
  --pm-shadow-hover:0 26px 70px rgba(15,23,42,.14);
}

/* ---------- Global polish ---------- */
html{background:var(--pm-bg)}
body{
  background:
    radial-gradient(900px 420px at 50% -160px,rgba(91,76,240,.10),transparent 70%),
    var(--pm-bg);
  color:var(--pm-text);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.34;
  background-image:linear-gradient(rgba(91,76,240,.028) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(91,76,240,.028) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom,black,transparent 72%);
}
a{transition:color .16s ease,opacity .16s ease}
button,.gen-btn,.btn-primary,.v37-btn,.copy-btn{transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
button:active,.gen-btn:active,.btn-primary:active,.v37-btn:active,.copy-btn:active{transform:translateY(1px)}

/* ---------- Header: premium command-bar feel ---------- */
.v45-head{
  background:rgba(248,249,253,.82);
  border-bottom:1px solid rgba(214,220,233,.86);
  box-shadow:0 1px 0 rgba(255,255,255,.9);
}
.v45-head-inner{min-height:76px}
.v45-brand{gap:12px}
.v45-mark{
  width:42px;height:42px;border-radius:12px;
  background:linear-gradient(145deg,#11182a,#252d45);
  box-shadow:0 8px 22px rgba(11,16,32,.18),inset 0 1px 0 rgba(255,255,255,.08);
  position:relative;
}
.v45-mark:after{
  content:"";
  position:absolute;
  width:7px;height:7px;border-radius:50%;
  right:6px;top:6px;background:#7c6ff6;
  box-shadow:0 0 16px rgba(124,111,246,.9);
}
.v45-brand strong{font-size:20px}
.v45-nav{gap:4px}
.v45-nav a{
  padding:9px 13px;
  border:1px solid transparent;
  border-radius:10px;
}
.v45-nav a:hover{
  background:#fff;
  border-color:var(--pm-border);
  box-shadow:0 5px 16px rgba(15,23,42,.05);
}
.v45-nav a.active{
  background:rgba(91,76,240,.09);
  border-color:rgba(91,76,240,.10);
}
.v45-nav .v45-cta{
  padding:10px 15px;
  background:linear-gradient(135deg,var(--pm-accent),#4938d5);
  box-shadow:0 10px 24px rgba(91,76,240,.25);
}
.v45-nav .v45-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(91,76,240,.32);
}
.v45-trend{
  background:linear-gradient(90deg,#0b1020,#111936 55%,#0d1328);
}
.v45-trend-inner{min-height:36px}
.v45-trend a{transition:color .15s ease}
.v45-trend a:hover{color:#fff}

/* ---------- Homepage hero ---------- */
.v37-leadgrid{margin-top:38px;gap:20px}
.v37-lead{
  min-height:470px;
  padding:clamp(32px,5vw,56px);
  background:
    radial-gradient(500px 320px at 88% 8%,rgba(124,111,246,.28),transparent 65%),
    radial-gradient(420px 260px at 12% 100%,rgba(91,76,240,.20),transparent 70%),
    linear-gradient(145deg,#080d1b,#121a31 72%,#17133b);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 32px 90px rgba(8,13,27,.24);
}
.v37-lead:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.035) 50%,transparent 50.2%),
    linear-gradient(0deg,transparent 49.8%,rgba(255,255,255,.025) 50%,transparent 50.2%);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,transparent 5%,black 55%,transparent 100%);
  pointer-events:none;
}
.v37-lead h1{
  max-width:840px;
  text-shadow:0 2px 24px rgba(0,0,0,.22);
}
.v37-lead p{color:#c7cee0;max-width:680px}
.v37-btn{
  margin-top:3px;
  padding:13px 19px;
  background:linear-gradient(135deg,#6a5af4,#4c3ae3);
  border:1px solid rgba(255,255,255,.10);
}
.v37-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(76,58,227,.42);
}
.v37-side{gap:12px}
.v37-story{
  padding:19px;
  border-radius:16px;
  background:rgba(255,255,255,.94);
}
.v37-story:hover,.v37-card:hover,.v37-tool:hover,.v37-cat:hover{
  transform:translateY(-4px);
}
.v37-story-num{
  color:var(--pm-accent);
  font-family:var(--mono);
  font-weight:700;
}
.v37-section{margin-top:58px}
.v37-section-head{border-bottom-color:var(--pm-border-strong)}
.v37-section-head h2{font-size:30px}
.v37-card{
  min-height:215px;
  padding:22px;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(15,23,42,.055);
}
.v37-card:hover{box-shadow:var(--pm-shadow-hover)}
.v37-tool{
  min-height:92px;
  padding:17px;
  transition:.16s;
}
.v37-tool:hover{box-shadow:var(--pm-shadow)}
.v37-ad{
  background:rgba(255,255,255,.62);
  border-style:dashed;
}

/* ---------- Universal cards / shells ---------- */
.v45-surface,
.article,.pm-article-shell,.article-shell,.pm-blog-shell,.tool-container,
.generator-container,.checker-container,.calculator-container,.v38-tool-shell{
  border-color:var(--pm-border);
  box-shadow:var(--pm-shadow);
}
.article,.pm-article-shell,.article-shell,.pm-blog-shell,.tool-container,
.generator-container,.checker-container,.calculator-container,.v38-tool-shell{
  position:relative;
  overflow:hidden;
}
.article:before,.pm-article-shell:before,.article-shell:before,.pm-blog-shell:before,
.tool-container:before,.generator-container:before,.checker-container:before,
.calculator-container:before,.v38-tool-shell:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,var(--pm-accent),#9a91ff,transparent 78%);
  opacity:.9;
}

/* Generic legacy cards used by several pages */
.card,.tool-card,.info-card,.tool-panel,.output-box{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.card:hover,.tool-card:hover,.info-card:hover{
  transform:translateY(-3px);
  border-color:var(--pm-border-strong)!important;
  box-shadow:var(--pm-shadow-hover);
}
.grid{gap:18px}
.card{
  border-color:var(--pm-border)!important;
  box-shadow:0 10px 30px rgba(15,23,42,.055)!important;
}

/* ---------- Reading experience ---------- */
.article h2,.pm-article-shell h2,.article-shell h2,.pm-blog-shell h2{
  position:relative;
  padding-left:14px;
}
.article h2:before,.pm-article-shell h2:before,.article-shell h2:before,.pm-blog-shell h2:before{
  content:"";
  position:absolute;
  left:0;top:.18em;bottom:.18em;
  width:3px;border-radius:4px;
  background:var(--pm-accent);
}
.article blockquote,.pm-article-shell blockquote,.article-shell blockquote,.pm-blog-shell blockquote{
  margin:28px 0;
  padding:18px 22px;
  border-left:4px solid var(--pm-accent);
  background:linear-gradient(90deg,rgba(91,76,240,.07),rgba(91,76,240,.015));
  border-radius:0 12px 12px 0;
  color:#343b4b;
}
.article table,.pm-article-shell table,.article-shell table,.pm-blog-shell table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid var(--pm-border);
  border-radius:12px;
  background:#fff;
}
.article th,.pm-article-shell th,.article-shell th,.pm-blog-shell th{
  background:#f7f8fc;
  font-family:var(--display);
  font-size:12px;
  text-align:left;
}
.article th,.article td,.pm-article-shell th,.pm-article-shell td,
.article-shell th,.article-shell td,.pm-blog-shell th,.pm-blog-shell td{
  padding:11px 13px;
  border-bottom:1px solid var(--pm-border);
}
.article tr:last-child td,.pm-article-shell tr:last-child td,
.article-shell tr:last-child td,.pm-blog-shell tr:last-child td{border-bottom:0}

/* ---------- Code / diagnostics ---------- */
pre{
  border:1px solid #222c42!important;
  border-radius:13px!important;
  box-shadow:0 16px 38px rgba(8,13,27,.18);
  overflow:auto;
}
.pm-console{
  border-radius:15px;
  box-shadow:0 24px 60px rgba(8,13,27,.28);
}
code:not(pre code){
  padding:.15em .38em;
  border-radius:5px;
  background:#f0f1f8;
  color:#3d348f;
  border:1px solid #e2e3ee;
}

/* ---------- Hero pages ---------- */
.page-hero,.hero{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(500px 260px at 88% 0%,rgba(124,111,246,.30),transparent 68%),
    linear-gradient(145deg,#080d1b,#121a31 75%);
}
.page-hero:after,.hero:after{
  content:"";
  position:absolute;
  width:360px;height:360px;
  right:-170px;bottom:-190px;
  border-radius:50%;
  background:rgba(91,76,240,.20);
  filter:blur(8px);
  pointer-events:none;
}

/* ---------- Forms / tools ---------- */
input,select,textarea{
  border-color:var(--pm-border-strong)!important;
  border-radius:10px!important;
  background:#fff!important;
  transition:border-color .15s ease,box-shadow .15s ease;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(91,76,240,.65)!important;
  box-shadow:0 0 0 4px rgba(91,76,240,.10)!important;
  outline:0;
}
.gen-btn,.btn-primary{
  background:linear-gradient(135deg,var(--pm-accent),#4938d5)!important;
  box-shadow:0 10px 22px rgba(91,76,240,.20);
}
.gen-btn:hover,.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 15px 30px rgba(91,76,240,.28);
}

/* ---------- Footer ---------- */
.v45-footer{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(600px 260px at 80% 0%,rgba(91,76,240,.13),transparent 70%),
    #080d19;
}
.v45-footer:before{
  content:"";
  position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,#6a5af4,transparent);
}
.v45-footer-grid{padding-top:58px}
.v45-footer-logo{letter-spacing:-.03em!important}

/* ---------- Mobile ---------- */
@media(max-width:700px){
  .v45-head-inner{min-height:66px}
  .v45-nav{
    top:65px;
    border-color:var(--pm-border-strong);
  }
  .v37-leadgrid{margin-top:20px}
  .v37-lead{
    min-height:420px;
    border-radius:17px;
    padding:30px 23px;
  }
  .v37-lead h1{font-size:clamp(34px,10vw,44px)}
  .v37-section{margin-top:42px}
  .v37-section-head h2{font-size:25px}
  .article,.pm-article-shell,.article-shell,.pm-blog-shell,.tool-container,
  .generator-container,.checker-container,.calculator-container,.v38-tool-shell{
    margin-top:18px;
    box-shadow:0 12px 35px rgba(15,23,42,.07);
  }
  .article p,.pm-article-shell p,.article-shell p,.pm-blog-shell p{font-size:16px}
  .article table,.pm-article-shell table,.article-shell table,.pm-blog-shell table{
    display:block;overflow-x:auto;white-space:nowrap;
  }
}

/* ---------- Motion accessibility ---------- */
@media(prefers-reduced-motion:reduce){
  .v37-story,.v37-card,.v37-tool,.v37-cat,.card,.tool-card,.info-card,
  .gen-btn,.btn-primary,.v37-btn{transition:none!important}
}

.pm-scroll-progress{position:fixed;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,#5b4cf0,#9a91ff);transform-origin:left center;transform:scaleX(0);z-index:2000;pointer-events:none}

/* ---------- Advertising system v48 ---------- */
.pm-ad-slot{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:90px;
  margin:22px auto;
  padding:10px;
  border:1px solid #e5e8f0;
  border-radius:14px;
  background:rgba(255,255,255,.70);
  overflow:hidden;
}
.pm-ad-slot:before{
  content:"ADVERTISEMENT";
  position:absolute;
  left:10px;
  top:5px;
  font:600 8px/1 var(--mono,monospace);
  letter-spacing:.08em;
  color:#98a0b3;
  pointer-events:none;
}
.pm-ad-frame{
  display:flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
  overflow:hidden;
  margin-top:4px;
}
.pm-ad-slot--leaderboard{min-height:112px}
.pm-ad-slot--mobile{display:none}
.pm-ad-slot--rail{
  width:180px;
  min-height:320px;
  margin:18px auto;
  padding:8px;
}
.pm-ad-slot--rail-tall{min-height:620px}
.pm-ad-slot--box{min-height:272px}
.pm-ad-slot--banner{min-height:82px}
.pm-ad-slot--wide{min-height:112px}

@media(max-width:900px){
  .pm-ad-slot--rail,.pm-ad-slot--rail-tall{display:none}
  .pm-ad-slot--mobile{display:flex}
}
@media(max-width:700px){
  .pm-ad-slot{
    margin:16px auto;
    border-radius:11px;
    padding:7px;
  }
  .pm-ad-slot--leaderboard,.pm-ad-slot--wide{min-height:74px}
  .pm-ad-slot--box{min-height:270px}
}

/* Advertising reliability polish v49 */
.pm-ad-slot[data-ad]{contain:layout paint;min-height:0}
.pm-ad-slot[data-ad] .pm-ad-frame{position:relative;z-index:2}
.pm-ad-slot[data-ad].pm-ad-loaded{min-height:var(--pm-ad-height,90px)}

/* v50 Adsterra slots */
.pm-ad-slot{
  box-sizing:border-box;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:90px;
  margin:24px auto;
  padding:12px;
  border:1px solid #e1e6f0;
  border-radius:14px;
  background:rgba(255,255,255,.78);
  overflow:hidden;
}
.pm-ad-slot:before{
  content:"ADVERTISEMENT";
  position:absolute;
  top:5px;
  left:10px;
  z-index:1;
  font:600 8px/1 var(--mono,monospace);
  letter-spacing:.08em;
  color:#9aa3b5;
}
.pm-ad-frame{
  flex:0 0 auto;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:3px;
  max-width:100%;
}
.pm-ad-slot--wide{min-height:112px}
.pm-ad-slot--banner{min-height:82px}
.pm-ad-slot--box{min-height:272px}
.pm-ad-slot--rail{width:180px;min-height:320px}
.pm-ad-slot--rail-tall{width:180px;min-height:620px}
.pm-ad-slot--mobile{display:none}
@media(max-width:900px){
  .pm-ad-slot--rail,.pm-ad-slot--rail-tall{display:none}
  .pm-ad-slot--mobile{display:flex}
}
@media(max-width:700px){
  .pm-ad-slot{margin:16px auto;padding:7px;border-radius:11px}
  .pm-ad-slot--wide{min-height:74px}
  .pm-ad-slot--box{min-height:272px}
}
