.contact-rail{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:90;display:grid;gap:6px;width:132px;font-family:'Segoe UI',Arial,sans-serif}
.contact-rail>a,.contact-rail>button{display:flex;align-items:center;gap:9px;min-height:44px;padding:10px;background:#fff;color:#14243b;border:1px solid #ddd;border-radius:6px 0 0 6px;text-decoration:none;font:400 14px/1.3 'Segoe UI',Arial,sans-serif;cursor:pointer;box-shadow:0 2px 8px #14243b08;transition:background .2s,transform .2s}
.contact-rail svg{width:19px;height:19px;flex:none;fill:none;stroke:#3478ff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact-rail>a:hover,.contact-rail>button:hover{background:#f8f5ec;transform:translateX(-3px)}
.contact-rail>a:focus-visible,.contact-rail>button:focus-visible{outline:3px solid #3478ff;outline-offset:2px}
.wechat-dialog{margin:auto;border:0;border-radius:12px;padding:28px;width:min(420px,calc(100vw - 32px));max-height:90dvh;overflow:auto;background:white;color:#14243b;box-shadow:0 18px 70px #0004;text-align:center}
.wechat-dialog::backdrop{background:#0e253baa}.wechat-dialog h2{font-size:24px;margin:8px 0 12px}.wechat-dialog p{font-size:15px;line-height:1.6;margin:10px 0}.wechat-dialog img{display:block;width:100%;height:auto}.wechat-close{display:block;margin-left:auto;background:white;border:1px solid #ddd;border-radius:4px;padding:6px 12px;font:inherit;cursor:pointer}.wechat-dialog a{color:#2348b6;text-decoration:underline}
@media(max-width:1100px){.contact-rail{right:8px;width:44px}.contact-rail>a,.contact-rail>button{justify-content:center;padding:10px}.contact-rail span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}
@media(max-width:720px){.contact-rail{top:auto;bottom:max(12px,env(safe-area-inset-bottom));transform:none;display:flex;right:12px;width:auto;gap:4px}.contact-rail>a,.contact-rail>button{width:44px;border-radius:6px}body{padding-bottom:70px}}
.contact-rail>a,.contact-rail>button{position:relative}
.contact-rail .contact-tooltip{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);display:block;width:max-content;max-width:calc(100vw - 180px);height:auto;clip-path:none;overflow:visible;visibility:hidden;opacity:0;padding:14px 18px;background:#fff;color:#14243b;border:1px solid #e3e6eb;border-radius:8px;box-shadow:0 8px 28px #14243b24;text-align:left;pointer-events:none;transition:opacity .18s ease}
.contact-tooltip::after{content:'';position:absolute;left:100%;top:0;width:16px;height:100%}
.contact-tooltip strong{display:block;font-size:13px;color:#465362;margin-bottom:6px}
.contact-rail .contact-tooltip-value{position:static;display:block;width:auto;height:auto;clip-path:none;overflow:visible;white-space:nowrap;font-size:16px;font-weight:600}
.contact-rail .contact-tooltip-qr{width:260px;padding:14px;text-align:center}
.contact-tooltip-qr img{display:block;width:100%;height:auto}
@media(hover:hover) and (pointer:fine){.contact-rail>a:hover>.contact-tooltip,.contact-rail>button:hover>.contact-tooltip{visibility:visible;opacity:1;pointer-events:auto}}
.contact-rail>a:focus-visible>.contact-tooltip,.contact-rail>button:focus-visible>.contact-tooltip{visibility:visible;opacity:1;pointer-events:auto}
.contact-rail .tooltip-dismissed>.contact-tooltip{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
@media(max-width:1100px){.contact-rail .contact-tooltip{max-width:calc(100vw - 80px)}}
@media(max-width:720px){.contact-rail .contact-tooltip{position:fixed;right:0;top:auto;bottom:56px;transform:none;max-width:calc(100vw - 24px)}.contact-rail>a:hover,.contact-rail>button:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.contact-rail>a,.contact-rail>button,.contact-rail .contact-tooltip{transition:none}}
