/* PAYATE Open Port Checker — scoped under #pc. */
@font-face{font-family:"PoppinsFB";src:local("Segoe UI Semibold"),local("Segoe UI"),local("Roboto Medium"),local("Roboto"),local("Helvetica Neue"),local("Arial");size-adjust:107%;ascent-override:98%;descent-override:32.7%;line-gap-override:0%}
body{margin:0;background:#f4f7fb;color:#14233c;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
#pc{--acc:#4f46e5;--acc2:#3f38c4;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;max-width:820px;margin:0 auto;padding:22px 16px 40px}
#pc h1,#pc h2{font-family:Poppins,"PoppinsFB",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}

#pc .pc-hero{background:#fff;border:1px solid #e6ecf5;border-radius:16px;padding:24px;box-shadow:0 1px 2px rgba(15,27,45,.05);margin-bottom:16px}
#pc .pc-hero h1{margin:0 0 8px;font-size:25px;line-height:1.2;color:#0f1b2d;font-weight:700}
#pc .pc-hero p{margin:0;font-size:14px;line-height:1.7;color:#4a5b73;max-width:680px}

#pc .pc-card{background:#fff;border:1px solid #e6ecf5;border-radius:14px;padding:18px 18px 20px;box-shadow:0 1px 2px rgba(15,27,45,.05);margin-bottom:16px}
#pc label{display:block;font-size:12.5px;font-weight:600;color:#5a6b83;margin:0 0 6px}
#pc .pc-grid{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
#pc .pc-f{display:flex;flex-direction:column}
#pc .pc-f:first-child{flex:1;min-width:220px}
#pc .pc-port{width:150px}
#pc input[type=text]{box-sizing:border-box;width:100%;border:1px solid #d7deea;border-radius:10px;padding:12px 14px;font-size:15px;color:#14233c;background:#fbfcfe;font-family:var(--mono)}
#pc input:focus{outline:none;border-color:var(--acc);background:#fff;box-shadow:0 0 0 3px rgba(79,70,229,.14)}
#pc button{background:var(--acc);color:#fff;border:0;border-radius:10px;padding:12px 22px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}
#pc button:hover{background:var(--acc2)}
#pc .pc-err{margin-top:14px;background:#fdecec;border:1px solid #f4c7c7;color:#b42020;border-radius:10px;padding:12px 14px;font-size:13.5px}

#pc .pc-res{margin-top:18px}
#pc .pc-state{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:10px;font-size:15px;color:#14233c;border:1px solid #e6ecf5}
#pc .pc-dot{width:12px;height:12px;border-radius:50%;flex:0 0 auto}
#pc .pc-open{background:#eef7f2;border-color:#cfe9db}#pc .pc-open .pc-dot{background:#0f766e}#pc .pc-open strong{color:#0b6b43}
#pc .pc-closed{background:#fbf1ee;border-color:#f3d6cc}#pc .pc-closed .pc-dot{background:#c0392f}#pc .pc-closed strong{color:#9a330a}
#pc .pc-filtered{background:#fbf7ec;border-color:#f0e4c4}#pc .pc-filtered .pc-dot{background:#b45309}#pc .pc-filtered strong{color:#8a5a09}
#pc .pc-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px;font-size:12.5px;color:#5a6782;font-family:var(--mono)}

#pc .pc-info{background:#fff;border:1px solid #e6ecf5;border-radius:14px;padding:18px 22px;box-shadow:0 1px 2px rgba(15,27,45,.05);margin-bottom:16px}
#pc .pc-info h2{margin:0 0 10px;font-size:17px;color:#0f1b2d}
#pc .pc-info p{margin:0;font-size:13.5px;line-height:1.8;color:#4a5b73}

#pc .pc-faq{background:#fff;border:1px solid #e6ecf5;border-radius:16px;padding:20px 22px;box-shadow:0 1px 2px rgba(15,27,45,.05)}
#pc .pc-faq h2{margin:0 0 10px;font-size:19px;color:#0f1b2d}
#pc .pc-faq details{border-top:1px solid #eef2f8;padding:2px 0}
#pc .pc-faq details:first-of-type{border-top:0}
#pc .pc-faq summary{cursor:pointer;list-style:none;padding:12px 26px 12px 2px;position:relative;font-weight:600;font-size:14.5px;color:#14233c}
#pc .pc-faq summary::-webkit-details-marker{display:none}
#pc .pc-faq summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:18px;color:#5a6782}
#pc .pc-faq details[open] summary::after{content:"\2212"}
#pc .pc-faq details p{margin:0 2px 12px;font-size:13.5px;line-height:1.7;color:#4a5b73}
#pc .pc-faq a,#pc .pc-info a{color:var(--acc);text-decoration:none}

/* Shared More PAYATE tools related section */
.pyt-rel{max-width:820px;margin:16px auto;padding:20px 22px;background:#fff;border:1px solid #e6ecf5;border-radius:14px;box-shadow:0 1px 2px rgba(15,27,45,.05);font-family:Poppins,"PoppinsFB",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#14233c}
.pyt-rel h2{margin:0 0 12px;font-size:18px;color:#0f1b2d}
.pyt-rel .prg{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}
.pyt-rel a{display:block;text-decoration:none;border:1px solid #e6ecf5;border-radius:10px;padding:12px 14px;background:#fbfcfe;transition:border-color .15s,background .15s}
.pyt-rel a:hover{border-color:var(--acc);background:#f3f2fe}
.pyt-rel .prt{display:block;font-weight:600;font-size:14px;color:#14233c;margin-bottom:2px}
.pyt-rel .prd{display:block;font-size:12px;line-height:1.4;color:#5a6782}

/* dark mode */
:root[data-theme="dark"] body{background:#0b1120;color:#c7d2e0}
:root[data-theme="dark"] #pc .pc-hero,:root[data-theme="dark"] #pc .pc-card,:root[data-theme="dark"] #pc .pc-info,:root[data-theme="dark"] #pc .pc-faq,:root[data-theme="dark"] .pyt-rel{background:#141c2b;border-color:#273246}
:root[data-theme="dark"] #pc .pc-hero h1,:root[data-theme="dark"] #pc .pc-info h2,:root[data-theme="dark"] #pc .pc-faq h2,:root[data-theme="dark"] .pyt-rel h2,:root[data-theme="dark"] #pc .pc-state,:root[data-theme="dark"] .pyt-rel .prt{color:#e8edf5}
:root[data-theme="dark"] #pc .pc-hero p,:root[data-theme="dark"] #pc .pc-info p,:root[data-theme="dark"] #pc .pc-faq details p{color:#aab6c6}
:root[data-theme="dark"] #pc input[type=text]{background:#0f1724;border-color:#273246;color:#e8edf5}
:root[data-theme="dark"] #pc .pc-state{border-color:#273246}
:root[data-theme="dark"] #pc .pc-open{background:#10261d;border-color:#1f5641}:root[data-theme="dark"] #pc .pc-open strong{color:#5fd3a3}
:root[data-theme="dark"] #pc .pc-closed{background:#2a1813;border-color:#5a2d1f}:root[data-theme="dark"] #pc .pc-closed strong{color:#f0a58c}
:root[data-theme="dark"] #pc .pc-filtered{background:#241f10;border-color:#5a4a1f}:root[data-theme="dark"] #pc .pc-filtered strong{color:#e6c477}
:root[data-theme="dark"] .pyt-rel a{background:#0f1724;border-color:#273246}
:root[data-theme="dark"] #pc .pc-faq summary{color:#e8edf5}
:root[data-theme="dark"] #pc .pc-faq details,:root[data-theme="dark"] #pc .pc-faq details:first-of-type{border-color:#273246}
