/* Shared contact entry. The QR is an anchored preview, never a page overlay. */
.contact-methods{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.contact-socials{display:flex;align-items:center;gap:8px;margin-left:-12px}
.contact-methods .contact-email{display:inline-flex;align-items:center;min-height:24px;color:#425777;font-size:15px;line-height:1.5;text-underline-offset:4px}
.contact-methods .contact-email:hover{color:#245bd6;text-decoration:underline}
.contact-methods .contact-email:focus-visible,.wechat-trigger:focus-visible,.github-link:focus-visible{outline:2px solid #245bd6;outline-offset:4px;border-radius:4px}
.home-contact .contact-action{align-items:flex-start}
.wechat-contact{position:relative;display:inline-flex;flex:none}
.wechat-trigger,.github-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:8px;border:0;border-radius:0;background:transparent;color:#738091;cursor:pointer;transition:color .16s ease}
.wechat-trigger svg,.github-link svg{display:block;width:20px;height:20px;fill:currentColor;stroke:none}
.github-link:hover,.github-link:focus-visible{color:#181717}
.wechat-trigger:hover,.wechat-trigger:focus-visible,.wechat-trigger[aria-expanded="true"]{color:#07c160}
.wechat-popover{position:absolute;z-index:50;bottom:100%;right:0;width:280px;max-width:calc(100vw - 32px);padding-bottom:12px;transform:translateX(var(--wechat-shift,0px));isolation:isolate}
.wechat-popover[hidden]{display:none}
.wechat-popover.opens-below{top:100%;bottom:auto;padding-top:12px;padding-bottom:0}
.wechat-popover-card{padding:8px;background:#fff;border-radius:12px;box-shadow:0 10px 36px rgb(23 35 52 / .16)}
.wechat-popover img{display:block;width:100%;height:auto;max-height:calc(100dvh - 110px);object-fit:contain;border-radius:7px}
@media(max-width:640px){.contact-methods .contact-email{font-size:14px}.wechat-popover{width:260px}footer .contact-methods{justify-self:start}}
@media(prefers-reduced-motion:reduce){.wechat-trigger,.github-link{transition:none}}
