/* SUNGHANG WeCom hover dock. Deliberately scoped: no brand/channel overrides. */
html.wx-hover-ready #wecomWidget{display:none!important}
body>aside#wxHoverDock.wx-hover-dock{position:fixed;right:24px;bottom:24px;z-index:80;width:158px;font-family:inherit;color:#173c45;isolation:isolate;animation:none!important;transform:none!important;translate:none!important}
.wx-hover-dock,.wx-hover-dock *{box-sizing:border-box}
.wx-hover-dock [hidden]{display:none!important}
.wx-dock-actions{display:flex;flex-direction:column;align-items:stretch;gap:7px}
.wx-trigger{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:50px;padding:12px 14px;overflow:hidden;border:1px solid #ffffff55;border-radius:999px;background:linear-gradient(115deg,#155446,#174d71);color:#fff;box-shadow:0 8px 26px #123b4a30,inset 0 1px 0 #ffffff24;font-family:inherit;font-weight:700;font-size:13px;line-height:1.4;cursor:pointer;white-space:normal;text-align:center}
.wx-trigger [data-wx-text=add]{position:relative;z-index:1;min-width:0;overflow-wrap:anywhere}
.wx-trigger-icon{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;color:#fff}
.wx-trigger-icon svg{display:block;width:25px;height:25px}
.wx-trigger-spark{position:absolute;right:7px;top:5px;width:31px;height:31px;border:1px solid #c1f9dc66;border-radius:50%;opacity:.45;pointer-events:none}
.wx-trigger::after{content:"";position:absolute;inset:-80% auto -80% -90%;width:35%;background:linear-gradient(90deg,transparent,#ffffff30,transparent);transform:rotate(24deg);pointer-events:none}
.wx-contact-link{display:block;align-self:center;max-width:100%;padding:7px 13px;border:1px solid #d4e3e4;border-radius:999px;background:#fffffff2;color:#244e60;box-shadow:0 3px 12px #14344b0d;font-size:11px;font-weight:650;line-height:1.4;text-decoration:none;text-align:center;overflow-wrap:anywhere}
.wx-hover-card{position:absolute;right:0;bottom:calc(100% + 14px);width:280px;max-width:calc(100vw - 24px);max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);overflow:auto;overscroll-behavior:contain;padding:23px 20px 17px;border:1px solid #dce8e7;border-radius:22px;background:#fff;color:#163d49;box-shadow:0 22px 70px #12344c26,0 4px 16px #12344c0c;text-align:center;transform:none;opacity:1}
.wx-hover-dock::before{content:"";position:absolute;right:0;bottom:100%;width:100%;height:16px;pointer-events:none}
.wx-hover-dock.is-open::before{pointer-events:auto}
.wx-panel-close{position:absolute;right:10px;top:9px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #e4eceb;border-radius:50%;background:#f5f8f7;color:#49646a;font:20px/1 system-ui;cursor:pointer}
.wx-panel-brand{margin:0 18px 10px;color:#416c70;font-size:9px;font-weight:750;line-height:1.5;letter-spacing:.17em}
.wx-hover-card h3{margin:0 0 7px;color:#163d49;font-size:21px;font-weight:750;line-height:1.35;letter-spacing:-.025em;overflow-wrap:anywhere}
.wx-panel-help{margin:0 0 15px;color:#64777c;font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.wx-qr-frame{display:flex;align-items:center;justify-content:center;width:218px;max-width:100%;margin:0 auto;padding:8px;border:1px solid #e1eae7;border-radius:12px;background:#fff;box-shadow:0 4px 16px #163d4906}
.wx-hover-card .wx-qr-image{display:block;width:200px;height:auto;max-width:100%;aspect-ratio:1;object-fit:contain;object-position:center;padding:0;margin:0;border:0;border-radius:0;background:#fff;filter:none!important;transform:none!important;translate:none!important;animation:none!important;transition:none!important;opacity:1!important}
.wx-panel-note{margin:12px 0 7px;color:#657a79;font-size:11px;line-height:1.65;overflow-wrap:anywhere}
.wx-original{display:inline-block;max-width:100%;padding:4px;color:#215d63;font-size:11px;line-height:1.5;text-decoration:underline;text-decoration-color:#aecac8;text-underline-offset:3px;overflow-wrap:anywhere}
.wx-hover-dock :focus-visible{outline:3px solid #377bb8;outline-offset:4px}
.wx-trigger:focus-visible,.wx-hover-dock.is-open .wx-trigger{border-color:#9ed8c1;box-shadow:0 9px 28px #123b4a30,0 0 0 4px #348c6c15}
html.motion-enabled .wx-trigger{transition:box-shadow .25s,border-color .25s,background .25s}
html.motion-enabled .wx-hover-dock:not(.is-open):not(:hover):not(:focus-within) .wx-trigger{animation:wx-button-float 4.8s ease-in-out infinite}
html.motion-enabled .wx-hover-card:not([hidden]){animation:wx-card-enter .23s ease-out both}
html.motion-enabled .wx-contact-link,html.motion-enabled .sc-dialog .sc-contact-card,html.motion-enabled .sc-dialog .sc-webmail{transition:box-shadow .22s,border-color .22s,background-color .22s,translate .22s}
.sc-dialog .sc-copy-address{background-image:linear-gradient(110deg,transparent 25%,#ffffff18 48%,transparent 70%);background-size:250% 100%;background-position:100% 0}
@media(hover:hover){
.wx-trigger:hover{border-color:#c5f1df;box-shadow:0 10px 30px #164f5440,0 0 0 4px #348c6c12}
html.motion-enabled .wx-trigger:hover::after{animation:wx-button-sheen .8s ease-out both}
.wx-contact-link:hover{color:#143e51;background:#f3faf7;border-color:#a6c9bd}
.wx-panel-close:hover{background:#e8f1ed;color:#174e43}
.wx-original:hover{color:#123e48;text-decoration-color:currentColor}
html.motion-enabled .sc-dialog a.sc-contact-card:hover,html.motion-enabled .sc-dialog .sc-webmail:hover{translate:0 -2px;box-shadow:0 8px 20px #143b4b12}
html.motion-enabled .sc-dialog .sc-copy-address:hover{animation:wx-copy-sheen .8s ease-out both}
}
html.motion-enabled .sc-dialog a.sc-contact-card:focus-visible,html.motion-enabled .sc-dialog .sc-webmail:focus-visible{translate:0 -2px;box-shadow:0 8px 20px #143b4b12}
@keyframes wx-button-float{0%,100%{box-shadow:0 8px 26px #123b4a30}50%{box-shadow:0 12px 28px #123b4a3d}}
@keyframes wx-card-enter{from{opacity:0}to{opacity:1}}
@keyframes wx-button-sheen{from{left:-90%}to{left:150%}}
@keyframes wx-copy-sheen{from{background-position:100% 0}to{background-position:0 0}}
@media(max-width:600px){
body>aside#wxHoverDock.wx-hover-dock{right:12px;bottom:16px;width:144px}
.wx-trigger{min-height:48px;padding:10px 11px;gap:7px;font-size:12px}
.wx-contact-link{padding:6px 11px;font-size:10px}
.wx-hover-card{position:fixed;right:12px;bottom:126px;width:280px;max-width:calc(100vw - 24px);max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);padding:22px 20px 16px}
}
/* Manual and automatic motion preferences always win, without hiding content. */
html.motion-off .wx-hover-dock,html.motion-off .wx-hover-dock *,html.motion-off .wx-hover-dock *::before,html.motion-off .wx-hover-dock *::after,
html.motion-suspended .wx-hover-dock,html.motion-suspended .wx-hover-dock *,html.motion-suspended .wx-hover-dock *::before,html.motion-suspended .wx-hover-dock *::after{animation:none!important;transition:none!important;translate:none!important}
html.motion-off .sc-dialog .sc-contact-card,html.motion-off .sc-dialog .sc-webmail,html.motion-off .sc-dialog .sc-copy-address,
html.motion-suspended .sc-dialog .sc-contact-card,html.motion-suspended .sc-dialog .sc-webmail,html.motion-suspended .sc-dialog .sc-copy-address{animation:none!important;transition:none!important;translate:none!important}
@media(prefers-reduced-motion:reduce){
html .wx-hover-dock,html .wx-hover-dock *,html .wx-hover-dock *::before,html .wx-hover-dock *::after,
html .sc-dialog .sc-contact-card,html .sc-dialog .sc-webmail,html .sc-dialog .sc-copy-address{animation:none!important;transition:none!important;translate:none!important}
}

html.motion-enabled .wx-hover-dock:not(.is-open):not(:hover):not(:focus-within) .wx-trigger-icon{animation:wx-icon-float 4.8s ease-in-out infinite}@keyframes wx-icon-float{0%,100%{translate:0 0}50%{translate:0 -2px}}
