@property --support-ring-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes support-rgb-marquee{to{--support-ring-angle:360deg}}
.support-launcher{position:fixed;right:24px;bottom:120px;z-index:43;display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;box-sizing:border-box;padding:11px 19px;border:2px solid transparent;border-radius:999px;background:#193b60;color:#fff;box-shadow:0 7px 22px #10294540;font-size:14px;font-weight:600;line-height:1.4;transition:background-color .16s ease,box-shadow .16s ease}
.support-launcher::before{content:"";position:absolute;inset:-2px;padding:3px;border-radius:inherit;background:conic-gradient(from var(--support-ring-angle),#ff497c,#ffbb39,#5cdb68,#25d9ee,#6575ff,#d55aff,#ff497c);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;animation:support-rgb-marquee 4s linear infinite}
.support-launcher svg{flex:0 0 24px;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.support-launcher:hover{background:#24517e;box-shadow:0 9px 26px #1029454d}
.support-launcher:active{background:#14314f}
.support-launcher:focus-visible,.support-footer:focus-visible,.support-dialog a:focus-visible,.support-close:focus-visible{outline:3px solid #87acd1;outline-offset:3px}
.support-launcher:focus-visible{outline:3px solid #b47c20;outline-offset:5px}
.support-footer{padding:0;background:transparent;color:inherit;font:inherit}
.support-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:24px;border:1px solid #e0e8f0;border-radius:20px;background:#fff;color:#193b60;box-shadow:0 24px 80px #10294540;overflow:auto;overscroll-behavior:contain;text-align:center}
.support-dialog::backdrop{background:#142b486b;backdrop-filter:blur(3px)}
.support-dialog header{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:16px;margin-bottom:8px}
.support-dialog h2{font:700 20px/1.4 "PingFang SC","Microsoft YaHei",sans-serif;margin:0;color:#193b60}
.support-close{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:10px;background:#f0f4f8;color:#5c728c;font-size:25px;line-height:1}
.support-dialog p{margin:8px 0 16px;font-size:13px;line-height:1.7;color:#677b92}
.support-qr{display:block;width:min(100%,300px);height:auto;margin:0 auto 16px;border-radius:12px}
.support-save{display:inline-flex;align-items:center;justify-content:center;min-height:44px;width:100%;border-radius:10px;background:#214b78;color:#fff;font-size:14px;font-weight:600;text-decoration:none}
.support-dialog .support-tip{margin:12px 0 0;font-size:12px}
@media(max-width:900px){.support-launcher{right:12px;bottom:calc(110px + env(safe-area-inset-bottom,0px));min-height:44px;padding:9px 14px;gap:8px;font-size:13px}.support-launcher svg{flex-basis:22px;width:22px;height:22px}.support-dialog{padding:20px}.support-qr{width:min(100%,280px)}}
@media(prefers-reduced-motion:reduce){.support-launcher{transition:none}.support-launcher::before{animation:none}}
@media print{.support-launcher,.support-dialog{display:none!important}}

body:has(.support-dialog[open]){overflow:hidden}

.support-launcher{width:max-content;white-space:nowrap;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}
.support-launcher.is-dragging{cursor:grabbing;box-shadow:0 10px 30px #10294555}

.support-dialog[data-contact-count="single"]{width:min(420px,calc(100vw - 32px))}
.support-dialog[data-contact-count="many"]{width:min(980px,calc(100vw - 32px))}
.support-contacts{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
.support-contacts>p{width:100%;margin:18px 0}
.support-contact{flex:1 1 260px;max-width:300px;min-width:0;display:flex;flex-direction:column}
.support-contact h3{margin:0 0 8px;font-size:15px;color:#193b60}
.support-contact .support-qr{width:100%;height:auto;aspect-ratio:820/1214;object-fit:contain;background:#fff;margin:0 0 12px}
.support-contact .support-save{margin-top:auto}
@media(max-width:600px){.support-dialog{padding:16px}.support-contacts{gap:12px}.support-contact h3{font-size:14px}.support-contact .support-save{font-size:12px}.support-dialog h2{font-size:18px}}
