.contact-float[data-v-687c2a61]{position:fixed;right:20px;bottom:100px;z-index:998;display:flex;flex-direction:column;gap:12px}@media (max-width:768px){.contact-float[data-v-687c2a61]{bottom:90px}}.contact-btn[data-v-687c2a61]{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px rgba(37,99,235,.25),0 2px 4px rgba(0,0,0,.1);position:relative;border:none;color:#fff;font-size:24px}.contact-btn i[data-v-687c2a61]{font-size:24px}.contact-btn.contact-qq[data-v-687c2a61]{background:linear-gradient(135deg,#12b7f5,#0ea5e9)}.contact-btn.contact-qq[data-v-687c2a61]:hover{background:linear-gradient(135deg,#0ea5e9,#0284c7);transform:translateY(-3px) scale(1.05);box-shadow:0 8px 20px rgba(14,165,233,.4),0 4px 8px rgba(0,0,0,.15)}.contact-btn.contact-wechat[data-v-687c2a61]{background:linear-gradient(135deg,#07c160,#06ad56)}.contact-btn.contact-wechat[data-v-687c2a61]:hover{background:linear-gradient(135deg,#06ad56,#059048);transform:translateY(-3px) scale(1.05);box-shadow:0 8px 20px rgba(6,173,86,.4),0 4px 8px rgba(0,0,0,.15)}.contact-btn.contact-email[data-v-687c2a61]{background:linear-gradient(135deg,#ff6b35,#f7931e)}.contact-btn.contact-email[data-v-687c2a61]:hover{background:linear-gradient(135deg,#f7931e,#e8850e);transform:translateY(-3px) scale(1.05);box-shadow:0 8px 20px rgba(247,147,30,.4),0 4px 8px rgba(0,0,0,.15)}.contact-btn.contact-phone[data-v-687c2a61]{background:linear-gradient(135deg,#ef4444,#dc2626)}.contact-btn.contact-phone[data-v-687c2a61]:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-3px) scale(1.05);box-shadow:0 8px 20px rgba(220,38,38,.4),0 4px 8px rgba(0,0,0,.15)}.contact-btn[data-v-687c2a61]:active{transform:translateY(-1px) scale(1.02)}.qr-code-popup[data-v-687c2a61]{position:absolute;right:70px;top:50%;transform:translateY(-50%);background:#fff;border-radius:12px;padding:20px;box-shadow:0 8px 24px rgba(0,0,0,.15),0 4px 8px rgba(0,0,0,.1);min-width:200px;animation:slideIn-data-v-687c2a61 .3s ease-out}.qr-code-popup[data-v-687c2a61]:after{content:"";position:absolute;right:-8px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:8px solid #fff}.qr-code-popup .qr-code-content[data-v-687c2a61]{text-align:center}.qr-code-popup .qr-code-content>p[data-v-687c2a61]:first-child{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:12px}.qr-code-popup .qr-code-content .qr-placeholder[data-v-687c2a61]{width:160px;height:160px;margin:0 auto 12px;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#64748b}.qr-code-popup .qr-code-content .qr-placeholder i[data-v-687c2a61]{font-size:48px;margin-bottom:8px;color:#94a3b8}.qr-code-popup .qr-code-content .qr-placeholder span[data-v-687c2a61]{font-size:12px}.qr-code-popup .qr-code-content .wechat-id[data-v-687c2a61]{font-size:12px;color:#64748b;margin:0}@keyframes slideIn-data-v-687c2a61{0%{opacity:0;transform:translateY(-50%) translateX(10px)}to{opacity:1;transform:translateY(-50%) translateX(0)}}@media (max-width:768px){.contact-float[data-v-687c2a61]{right:15px;bottom:80px;gap:10px}.contact-btn[data-v-687c2a61]{width:50px;height:50px;font-size:20px}.contact-btn i[data-v-687c2a61]{font-size:20px}.qr-code-popup[data-v-687c2a61]{right:65px;min-width:180px;padding:16px}.qr-code-popup .qr-code-content .qr-placeholder[data-v-687c2a61]{width:140px;height:140px}}#app{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0f172a;background-color:#f8fafc;min-height:100vh}*{box-sizing:border-box}*,body{margin:0;padding:0}body{background-color:#f8fafc;color:#0f172a;line-height:1.6}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 30px}.clearfix:after{content:"";display:table;clear:both}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}