.auth-overlay[data-v-4e3adb5c]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-modal[data-v-4e3adb5c]{background:#fff;border-radius:16px;padding:36px 32px;width:400px;max-width:90vw;box-shadow:0 20px 60px #00000026;position:relative}.close-btn[data-v-4e3adb5c]{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;color:#999;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-btn[data-v-4e3adb5c]:hover{background:#f5f5f5;color:#333}.modal-title[data-v-4e3adb5c]{font-size:22px;font-weight:600;color:#1a1a1a;margin:0 0 24px;text-align:center}.step-desc[data-v-4e3adb5c]{font-size:14px;color:#666;text-align:center;margin:-16px 0 20px;line-height:1.5}.error-msg[data-v-4e3adb5c]{background:#fff2f0;border:1px solid #ffccc7;color:#ff4d4f;padding:10px 14px;border-radius:8px;font-size:14px;margin-bottom:16px}.success-msg[data-v-4e3adb5c]{background:#f6ffed;border:1px solid #b7eb8f;color:#52c41a;padding:10px 14px;border-radius:8px;font-size:14px;margin-bottom:16px}.form-group[data-v-4e3adb5c]{margin-bottom:18px}.form-group label[data-v-4e3adb5c]{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:6px}.form-group input[data-v-4e3adb5c]{width:100%;padding:10px 14px;border:1.5px solid #e0e0e0;border-radius:10px;font-size:15px;color:#333;outline:none;transition:border-color .2s;box-sizing:border-box}.form-group input[data-v-4e3adb5c]:focus{border-color:#165dff}.submit-btn[data-v-4e3adb5c]{width:100%;padding:12px;background:#165dff;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.submit-btn[data-v-4e3adb5c]:hover{background:#4080ff}.submit-btn[data-v-4e3adb5c]:disabled{background:#a0c4ff;cursor:not-allowed}.switch-links[data-v-4e3adb5c]{text-align:center;margin-top:20px}.switch-text[data-v-4e3adb5c]{font-size:14px;color:#888;margin:0}.switch-link[data-v-4e3adb5c]{color:#165dff;cursor:pointer;font-weight:500}.switch-link[data-v-4e3adb5c]:hover{text-decoration:underline}.forgot-link[data-v-4e3adb5c]{font-size:14px;color:#165dff;cursor:pointer;margin:12px 0 0;padding:8px 16px;border-radius:8px;background:#165dff0f;border:1px solid rgba(22,93,255,.15);transition:all .2s;display:inline-block;font-weight:500}.forgot-link[data-v-4e3adb5c]:hover{color:#0d47a1;background:#165dff1f;border-color:#165dff4d;text-decoration:none;transform:translateY(-1px)}.contact-overlay[data-v-7b0aef31]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:99999;padding:var(--space-4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.contact-modal[data-v-7b0aef31]{background:#fff;border-radius:var(--radius-xl);padding:0;width:480px;max-width:95vw;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #0000004d,0 0 0 1px #ffffff1a;animation:modalSlideIn-7b0aef31 .3s cubic-bezier(.34,1.56,.64,1)}@keyframes modalSlideIn-7b0aef31{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.contact-close-btn[data-v-7b0aef31]{position:absolute;top:16px;right:16px;width:36px;height:36px;background:#f3f4f6;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all var(--duration-fast);z-index:10}.contact-close-btn[data-v-7b0aef31]:hover{background:#e5e7eb;color:#374151;transform:rotate(90deg)}.contact-header[data-v-7b0aef31]{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-6) var(--space-5);background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-bottom:1px solid #BBF7D0}.contact-icon-wrapper[data-v-7b0aef31]{width:56px;height:56px;background:#fff;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #07c16026;flex-shrink:0}.contact-title-group[data-v-7b0aef31]{flex:1}.contact-title[data-v-7b0aef31]{font-size:var(--text-xl);font-weight:var(--weight-bold);color:#065f46;margin:0 0 var(--space-1);letter-spacing:-.01em}.contact-subtitle[data-v-7b0aef31]{font-size:var(--text-sm);color:#047857;margin:0;font-weight:var(--weight-medium)}.qrcode-section[data-v-7b0aef31]{padding:var(--space-6)}.qrcode-container[data-v-7b0aef31]{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--space-5)}.qrcode-frame[data-v-7b0aef31]{position:relative;width:280px;height:280px;background:#fff;border:2.5px solid #07C160;border-radius:var(--radius-xl);padding:16px;box-shadow:0 10px 30px #07c1601f,0 4px 12px #07c16014,inset 0 1px #fffc;display:flex;align-items:center;justify-content:center;overflow:hidden}.qrcode-image[data-v-7b0aef31]{width:100%;height:100%;object-fit:contain;display:block}.qrcode-placeholder[data-v-7b0aef31]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);text-align:center;padding:var(--space-5);width:100%;height:100%}.placeholder-icon[data-v-7b0aef31]{opacity:.25;color:#07c160}.placeholder-text[data-v-7b0aef31]{font-size:var(--text-sm);color:#9ca3af;margin:0;font-weight:var(--weight-medium)}.placeholder-sub[data-v-7b0aef31]{font-size:var(--text-xs);color:#d1d5db;margin:var(--space-1) 0 0;line-height:1.5}.contact-description[data-v-7b0aef31]{background:#f9fafb;border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid #E5E7EB}.desc-title[data-v-7b0aef31]{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-3)}.help-list[data-v-7b0aef31]{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2)}.help-list li[data-v-7b0aef31]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5}.list-icon[data-v-7b0aef31]{font-size:var(--text-base);flex-shrink:0}.contact-footer[data-v-7b0aef31]{padding:var(--space-5) var(--space-6);background:#f9fafb;border-top:1px solid #E5E7EB;display:flex;flex-direction:column;gap:var(--space-3)}.footer-info[data-v-7b0aef31]{display:flex;flex-direction:column;gap:var(--space-2)}.info-item[data-v-7b0aef31]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary)}.info-item svg[data-v-7b0aef31]{flex-shrink:0;color:var(--color-text-tertiary)}.contact-confirm-btn[data-v-7b0aef31]{width:100%;padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,#07c160,#059669);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:all var(--duration-fast);font-family:var(--font-sans);box-shadow:0 4px 12px #07c16040}.contact-confirm-btn[data-v-7b0aef31]:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 6px 16px #07c16059}.contact-confirm-btn[data-v-7b0aef31]:active{transform:translateY(0)}.contact-fade-enter-active[data-v-7b0aef31],.contact-fade-leave-active[data-v-7b0aef31]{transition:opacity .3s ease}.contact-fade-enter-from[data-v-7b0aef31],.contact-fade-leave-to[data-v-7b0aef31]{opacity:0}@media (max-width: 520px){.contact-modal[data-v-7b0aef31]{width:100%;max-height:100vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;margin-top:auto;animation:modalSlideUp-7b0aef31 .3s ease-out}@keyframes modalSlideUp-7b0aef31{0%{transform:translateY(100%)}to{transform:translateY(0)}}.qrcode-frame[data-v-7b0aef31]{width:240px;height:240px;padding:12px}.contact-header[data-v-7b0aef31]{padding:var(--space-5)}.qrcode-section[data-v-7b0aef31]{padding:var(--space-4)}.help-list[data-v-7b0aef31]{grid-template-columns:1fr}}@media (prefers-contrast: high){.contact-modal[data-v-7b0aef31]{border:2px solid black}.qrcode-frame[data-v-7b0aef31]{border-width:4px}}@media (prefers-reduced-motion: reduce){.contact-modal[data-v-7b0aef31],.contact-close-btn[data-v-7b0aef31]:hover{animation:none!important;transition:none!important}}.app-modal-overlay[data-v-ebe11f82]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000061;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:24px}.app-modal-card[data-v-ebe11f82]{min-width:340px;max-width:460px;width:100%;background:#fff;border-radius:18px;box-shadow:0 0 0 1px #0000000a,0 8px 24px #00000014,0 24px 80px #00000024;padding:32px 28px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;font-family:var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif);text-align:center}.app-modal-icon-wrap[data-v-ebe11f82]{margin-bottom:4px}.app-modal-icon[data-v-ebe11f82]{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-modal-icon-info[data-v-ebe11f82]{background:linear-gradient(135deg,#165dff1a,#165dff0a);color:#165dff}.app-modal-icon-warn[data-v-ebe11f82]{background:linear-gradient(135deg,#ff7d001f,#ff7d000a);color:#ff7d00}.app-modal-title[data-v-ebe11f82]{font-size:17px;font-weight:650;color:#1d2129;line-height:1.5;letter-spacing:-.01em}.app-modal-body[data-v-ebe11f82]{font-size:14px;color:#4e5969;line-height:1.75;word-break:break-word;white-space:pre-wrap;max-height:50vh;overflow-y:auto;width:100%}.app-modal-actions[data-v-ebe11f82]{display:flex;justify-content:center;gap:12px;padding-top:12px;width:100%}.app-modal-btn[data-v-ebe11f82]{flex:1;max-width:180px;padding:9px 24px;border-radius:10px;font-size:14px;font-weight:550;cursor:pointer;border:none;transition:all .2s cubic-bezier(.16,1,.3,1);font-family:inherit;outline:none;letter-spacing:.01em}.app-modal-btn[data-v-ebe11f82]:focus-visible{box-shadow:0 0 0 3px #165dff2e}.app-modal-btn-ok[data-v-ebe11f82]{background:linear-gradient(135deg,#165dff,#4080ff);color:#fff;box-shadow:0 2px 8px #165dff4d}.app-modal-btn-ok[data-v-ebe11f82]:hover{background:linear-gradient(135deg,#4080ff,#5a94ff);box-shadow:0 4px 14px #165dff61;transform:translateY(-1px)}.app-modal-btn-ok[data-v-ebe11f82]:active{background:linear-gradient(135deg,#0e42d2,#165dff);box-shadow:0 1px 4px #165dff40;transform:translateY(0)}.app-modal-btn-ok-danger[data-v-ebe11f82]{background:linear-gradient(135deg,#ff7d00,#ff9a2e);box-shadow:0 2px 8px #ff7d004d}.app-modal-btn-ok-danger[data-v-ebe11f82]:hover{background:linear-gradient(135deg,#ff9a2e,#ffb366);box-shadow:0 4px 14px #ff7d0061;transform:translateY(-1px)}.app-modal-btn-ok-danger[data-v-ebe11f82]:active{background:linear-gradient(135deg,#e56b00,#ff7d00);box-shadow:0 1px 4px #ff7d0040;transform:translateY(0)}.app-modal-btn-cancel[data-v-ebe11f82]{background:#f7f8fa;color:#4e5969;border:1px solid #e5e6eb}.app-modal-btn-cancel[data-v-ebe11f82]:hover{background:#f2f3f5;border-color:#c9cdd4;color:#1d2129}.app-modal-btn-cancel[data-v-ebe11f82]:active{background:#e5e6eb;border-color:#c9cdd4}.app-modal-fade-enter-active[data-v-ebe11f82]{transition:opacity .25s ease}.app-modal-fade-leave-active[data-v-ebe11f82]{transition:opacity .18s ease}.app-modal-fade-enter-active .app-modal-card[data-v-ebe11f82]{transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .3s ease}.app-modal-fade-leave-active .app-modal-card[data-v-ebe11f82]{transition:transform .2s cubic-bezier(.4,0,1,1),opacity .18s ease}.app-modal-fade-enter-from[data-v-ebe11f82],.app-modal-fade-leave-to[data-v-ebe11f82]{opacity:0}.app-modal-fade-enter-from .app-modal-card[data-v-ebe11f82]{transform:scale(.92) translateY(16px);opacity:0}.app-modal-fade-leave-to .app-modal-card[data-v-ebe11f82]{transform:scale(.97) translateY(6px);opacity:0}@media (max-width: 480px){.app-modal-overlay[data-v-ebe11f82]{padding:16px}.app-modal-card[data-v-ebe11f82]{min-width:unset;max-width:unset;padding:24px 20px 20px;border-radius:14px}.app-modal-icon[data-v-ebe11f82]{width:42px;height:42px}.app-modal-title[data-v-ebe11f82]{font-size:16px}.app-modal-body[data-v-ebe11f82]{font-size:13px}.app-modal-btn[data-v-ebe11f82]{padding:8px 18px;font-size:13px;border-radius:8px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--color-bg);min-height:100vh;color:var(--color-text-primary)}#app{width:100%;height:100vh}.app-layout[data-v-e051fa9b]{display:flex;height:100vh;width:100%;background:var(--color-bg);overflow:hidden}.sidebar[data-v-e051fa9b]{width:264px;background:linear-gradient(180deg,#1e293b,#0f172a);color:#e2e8f0;display:flex;flex-direction:column;flex-shrink:0;transition:width var(--duration-normal) var(--ease-out);box-shadow:4px 0 24px #0000001a}.sidebar-collapsed[data-v-e051fa9b]{width:70px}.sidebar-header[data-v-e051fa9b]{padding:var(--space-4);border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;min-height:70px}.logo[data-v-e051fa9b]{display:flex;align-items:center;gap:var(--space-3);overflow:hidden}.logo-icon[data-v-e051fa9b]{font-size:26px;flex-shrink:0}.logo-text[data-v-e051fa9b]{font-size:var(--text-lg);font-weight:var(--weight-bold);background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap;opacity:1;transition:opacity var(--duration-fast) var(--ease-out)}.sidebar-collapsed .logo-text[data-v-e051fa9b]{opacity:0;width:0}.sidebar-toggle[data-v-e051fa9b]{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#94a3b8;width:31px;height:31px;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast) var(--ease-out);flex-shrink:0}.sidebar-toggle[data-v-e051fa9b]:hover{background:#ffffff1f;color:#e2e8f0;border-color:#fff3}.sidebar-nav[data-v-e051fa9b]{flex:1;padding:var(--space-3);overflow-y:auto;display:flex;flex-direction:column;gap:4px}.nav-item[data-v-e051fa9b]{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:13px 18px;border-radius:var(--radius-md);border:none;background:transparent;color:#94a3b8;font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);font-family:var(--font-sans);text-align:left;white-space:nowrap}.nav-item[data-v-e051fa9b]:hover{background:#ffffff0f;color:#e2e8f0}.nav-item-active[data-v-e051fa9b]{background:#6366f126;color:#818cf8}.nav-item-active[data-v-e051fa9b]:hover{background:#6366f133;color:#a5b4fc}.nav-icon[data-v-e051fa9b]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0}.nav-icon[data-v-e051fa9b] svg{width:22px;height:22px}.nav-label[data-v-e051fa9b]{opacity:1;transition:opacity var(--duration-fast) var(--ease-out);overflow:hidden}.sidebar-collapsed .nav-label[data-v-e051fa9b]{opacity:0;width:0}.sidebar-collapsed .nav-item[data-v-e051fa9b]{justify-content:center;padding:11px}.sidebar-footer[data-v-e051fa9b]{padding:0 var(--space-3) var(--space-3);border-top:1px solid rgba(255,255,255,.08);margin-top:auto}.footer-divider[data-v-e051fa9b]{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);margin:0 var(--space-1)}.footer-user-card[data-v-e051fa9b]{display:flex;align-items:center;gap:11px;padding:11px 13px;margin-top:11px;background:#ffffff0a;border-radius:11px;border:1px solid rgba(255,255,255,.06);transition:background .2s;cursor:pointer}.footer-user-card[data-v-e051fa9b]:hover{background:#ffffff12}.footer-avatar[data-v-e051fa9b]{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex-shrink:0;box-shadow:0 2px 8px #6366f14d}.footer-user-info[data-v-e051fa9b]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.footer-user-name[data-v-e051fa9b]{font-size:14px;font-weight:600;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.footer-user-email[data-v-e051fa9b]{font-size:12px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footer-points-card[data-v-e051fa9b]{display:flex;align-items:center;gap:9px;padding:9px 13px;margin-top:9px;background:linear-gradient(135deg,#f59e0b1f,#f59e0b0f);border-radius:9px;border:1px solid rgba(245,158,11,.2)}.footer-points-icon[data-v-e051fa9b]{display:flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:9px;background:#f59e0b33;color:#f59e0b;flex-shrink:0}.footer-points-value[data-v-e051fa9b]{font-size:20px;font-weight:700;color:#fbbf24;line-height:1}.footer-points-label[data-v-e051fa9b]{font-size:12px;color:#94a3b8;margin-left:2px}.footer-btn-logout[data-v-e051fa9b]{display:flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:7px;border:none;background:#ffffff0f;color:#64748b;cursor:pointer;transition:all .2s;flex-shrink:0}.footer-btn-logout[data-v-e051fa9b]:hover{background:#ef444433;color:#ef4444}.footer-btn-login[data-v-e051fa9b]{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:11px;margin-top:11px;background:#6366f11f;color:#818cf8;border:1px solid rgba(99,102,241,.2);border-radius:9px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:var(--font-sans)}.footer-btn-login[data-v-e051fa9b]:hover{background:#6366f133;color:#a5b4fc;border-color:#6366f166}.main-content[data-v-e051fa9b]{flex:1;display:flex;flex-direction:column;overflow-y:auto;background:var(--color-bg);position:relative;padding:0}.wechat-qr-card[data-v-e051fa9b]{position:absolute;top:clamp(1rem,2.5vw,2rem);left:clamp(1rem,2.5vw,2rem);display:flex;align-items:center;gap:clamp(.75rem,2vw,1.25rem);padding:clamp(.75rem,1.5vw,1rem) clamp(1rem,2vw,1.5rem) clamp(.75rem,1.5vw,1rem) clamp(.75rem,1.5vw,1rem);background:linear-gradient(135deg,#f8f4ff,#fdf2f8);border:1px solid #e8dfff;border-radius:clamp(.75rem,1.5vw,1rem);cursor:pointer;transition:all .2s ease;box-shadow:0 clamp(.125rem,.3vw,.25rem) clamp(.75rem,1.5vw,1.5rem) #00000014;z-index:10}.wechat-qr-card[data-v-e051fa9b]:hover{border-color:#c4a8ff;box-shadow:0 clamp(.375rem,.8vw,.75rem) clamp(1.5rem,3vw,3rem) #a064ff2e;transform:translateY(-.125rem)}.wechat-qr-img[data-v-e051fa9b]{width:clamp(3.75rem,8vw,6.5rem);height:clamp(3.75rem,8vw,6.5rem);border-radius:clamp(.5rem,1vw,.75rem);object-fit:cover;flex-shrink:0;border:2px solid #fff;box-shadow:0 clamp(.125rem,.3vw,.25rem) clamp(.5rem,1vw,1rem) #0000001a}.wechat-qr-text[data-v-e051fa9b]{display:flex;flex-direction:column;gap:clamp(.25rem,.6vw,.5rem);line-height:1.4}.wechat-qr-title[data-v-e051fa9b]{font-size:clamp(.875rem,1.8vw,1.25rem);font-weight:700;color:#6b3fa0}.wechat-qr-subtitle[data-v-e051fa9b]{font-size:clamp(.75rem,1.5vw,1rem);color:#b07dd9;font-weight:600}.wechat-qr-tip[data-v-e051fa9b]{display:inline-flex;align-items:center;gap:clamp(.125rem,.3vw,.25rem);margin-top:clamp(.125rem,.3vw,.25rem);padding:clamp(.125rem,.3vw,.25rem) clamp(.375rem,.8vw,.5rem);font-size:clamp(.625rem,1.2vw,.8125rem);font-weight:700;color:#d4380d;background:linear-gradient(90deg,#fff1f0,#fff7e6);border:1px solid #ffccc7;border-radius:clamp(.25rem,.5vw,.375rem);line-height:1.2;white-space:nowrap}.wechat-qr-close[data-v-e051fa9b]{position:absolute;top:-.5rem;right:-.5rem;width:1.5rem;height:1.5rem;border-radius:50%;border:1px solid #e8dfff;background:#fff;color:#999;font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 .125rem .5rem #0000001a;transition:all .2s ease;z-index:11}.wechat-qr-close[data-v-e051fa9b]:hover{background:#fee2e2;color:#ef4444;border-color:#fecaca;transform:scale(1.1)}.qr-modal-overlay[data-v-e051fa9b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000c7;display:flex;align-items:center;justify-content:center;z-index:100000;padding:20px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.qr-modal-content[data-v-e051fa9b]{display:flex;flex-direction:column;align-items:center;gap:16px;max-width:90vw;max-height:90vh;position:relative}.qr-modal-image[data-v-e051fa9b]{width:min(80vw,360px);height:min(80vw,360px);max-height:70vh;object-fit:contain;border-radius:16px;background:#fff;padding:12px;box-shadow:0 16px 48px #0006;-webkit-user-drag:auto;-webkit-user-select:none;user-select:none;-webkit-touch-callout:default}.qr-modal-tip[data-v-e051fa9b]{color:#ffffffd9;font-size:14px;margin:0;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.3)}.qr-modal-close[data-v-e051fa9b]{position:fixed;top:20px;right:20px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#0006;color:#fff;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:100001}.qr-modal-close[data-v-e051fa9b]:hover{background:#fff3;transform:scale(1.08)}.qr-zoom-enter-active[data-v-e051fa9b]{transition:opacity .25s ease}.qr-zoom-leave-active[data-v-e051fa9b]{transition:opacity .2s ease}.qr-zoom-enter-from[data-v-e051fa9b],.qr-zoom-leave-to[data-v-e051fa9b]{opacity:0}.qr-zoom-enter-active .qr-modal-image[data-v-e051fa9b]{animation:qrZoomIn-e051fa9b .3s cubic-bezier(.34,1.56,.64,1)}@keyframes qrZoomIn-e051fa9b{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.context-menu[data-v-e051fa9b]{position:fixed;z-index:99999;min-width:176px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000026;padding:4.4px;overflow:hidden}.context-menu-item[data-v-e051fa9b]{display:flex;align-items:center;gap:9px;padding:9px 13px;font-size:14px;color:var(--color-text-primary);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--duration-fast) var(--ease-out);-webkit-user-select:none;user-select:none}.context-menu-item[data-v-e051fa9b]:hover{background:var(--color-bg-hover)}.context-menu-item svg[data-v-e051fa9b]{flex-shrink:0;color:var(--color-text-tertiary)}.mobile-menu-btn[data-v-e051fa9b]{display:none;position:fixed;top:12px;left:12px;z-index:900;width:40px;height:40px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-primary);cursor:pointer;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:all var(--duration-fast) var(--ease-out)}.mobile-menu-btn[data-v-e051fa9b]:hover{background:var(--color-bg-elevated);box-shadow:var(--shadow-md)}.mobile-menu-btn[data-v-e051fa9b]:active{transform:scale(.95)}.mobile-overlay[data-v-e051fa9b]{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:overlayFadeIn-e051fa9b .2s ease-out}@keyframes overlayFadeIn-e051fa9b{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.mobile-menu-btn[data-v-e051fa9b]{display:flex}.mobile-overlay[data-v-e051fa9b]{display:block}.sidebar[data-v-e051fa9b]{position:fixed;left:0;top:0;bottom:0;z-index:1000;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:none}.sidebar.mobile-open[data-v-e051fa9b]{transform:translate(0);box-shadow:8px 0 32px #0003}.sidebar-collapsed[data-v-e051fa9b]{width:264px}.main-content[data-v-e051fa9b]{width:100%;padding-top:0}.wechat-qr-card[data-v-e051fa9b]{top:60px;left:12px}}.footer-btn-contact[data-v-e051fa9b]{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;margin-top:var(--space-3);padding:10px 13px;background:linear-gradient(135deg,#07c16014,#0596690a);border:1.5px solid rgba(7,193,96,.2);border-radius:9px;color:#059669;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:var(--font-sans)}.footer-btn-contact[data-v-e051fa9b]:hover{background:linear-gradient(135deg,#07c16026,#05966914);border-color:#07c160;color:#047857;transform:translateY(-1px);box-shadow:0 4px 12px #07c16033}.footer-btn-contact svg[data-v-e051fa9b]{flex-shrink:0}:root{--color-primary: #0EA5E9;--color-primary-hover: #0284C7;--color-primary-light: rgba(14, 165, 233, .08);--color-primary-glow: rgba(14, 165, 233, .2);--color-secondary: #38BDF8;--color-secondary-light: rgba(56, 189, 248, .08);--color-cta: #F97316;--color-cta-hover: #EA580C;--color-cta-light: rgba(249, 115, 22, .1);--color-bg: #F0F9FF;--color-bg-card: #FFFFFF;--color-bg-elevated: #F8FAFC;--color-bg-hover: rgba(14, 165, 233, .04);--color-text-primary: #0F172A;--color-text-secondary: #475569;--color-text-tertiary: #64748B;--color-text-inverse: #FFFFFF;--color-border: rgba(14, 165, 233, .1);--color-border-hover: rgba(14, 165, 233, .2);--color-success: #22C55E;--color-success-light: rgba(34, 197, 94, .08);--color-error: #EF4444;--color-error-light: rgba(239, 68, 68, .08);--color-warning: #F59E0B;--color-warning-light: rgba(245, 158, 11, .08);--space-1: 4.4px;--space-2: 9px;--space-3: 13px;--space-4: 18px;--space-5: 22px;--space-6: 26px;--space-8: 35px;--space-10: 44px;--space-12: 53px;--space-16: 70px;--radius-sm: 7px;--radius-md: 11px;--radius-lg: 18px;--radius-xl: 22px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(14, 165, 233, .06), 0 1px 2px rgba(14, 165, 233, .04);--shadow-md: 0 4px 13px rgba(14, 165, 233, .08), 0 2px 5px rgba(14, 165, 233, .04);--shadow-lg: 0 11px 33px rgba(14, 165, 233, .1), 0 4px 9px rgba(14, 165, 233, .04);--shadow-xl: 0 22px 55px rgba(14, 165, 233, .12), 0 4px 9px rgba(14, 165, 233, .04);--shadow-cta: 0 4px 18px rgba(249, 115, 22, .25);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", "Consolas", monospace;--text-xs: .79em;--text-sm: .9em;--text-base: 1.01em;--text-lg: 1.16em;--text-xl: 1.32em;--text-2xl: 1.54em;--text-3xl: 1.98em;--line-height-tight: 1.25;--line-height-normal: 1.6;--line-height-relaxed: 1.75;--line-height-loose: 2;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .02em;--letter-spacing-wider: .05em;--paragraph-spacing: 1.5em;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--ease-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--max-width: 572px;--header-height: 66px;--footer-height: 88px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text-primary);min-height:100vh;line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal);font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}p,li,td,th,span,div{line-height:inherit}h1,h2,h3,h4,h5,h6{line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}article,.content-body,.markdown-content,pre,code{line-height:var(--line-height-relaxed)}p+p,ul+p,ol+p,table+p{margin-top:var(--paragraph-spacing)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 768px){:root{--space-1: 3px;--space-2: 6px;--space-3: 10px;--space-4: 14px;--space-5: 18px;--space-6: 22px;--space-8: 28px;--space-10: 36px;--text-xs: .75em;--text-sm: .85em;--text-base: .95em;--text-lg: 1.1em;--text-xl: 1.25em;--text-2xl: 1.4em;--text-3xl: 1.7em;--max-width: 100%;--header-height: 56px;--footer-height: 72px}body{overflow-x:hidden}.app-layout,.main-content,[class*=page],[class*=card],[class*=container]{max-width:100vw;overflow-x:hidden}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}pre{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;word-break:break-all}img{max-width:100%;height:auto}input,textarea,select,button{font-size:16px!important}button,.btn,[role=button],.nav-item,.pagination-btn,.footer-btn-login,.footer-btn-contact,.input-mode-tab{min-height:44px}a{padding:4px 0}}pre,code,kbd,samp{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--line-height-relaxed)}pre{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);overflow-x:auto;box-shadow:inset 0 1px 2px #0000000a}code{background:#0ea5e914;color:var(--color-primary);padding:2px 6px;border-radius:var(--radius-sm);font-weight:var(--weight-medium)}pre code{background:transparent;color:inherit;padding:0;border-radius:0;font-weight:400}blockquote{margin:var(--paragraph-spacing) 0;padding:var(--space-4) var(--space-5);border-left:4px solid var(--color-primary);background:var(--color-primary-light);border-radius:0 var(--radius-md) var(--radius-md) 0;font-style:italic;color:var(--color-text-secondary)}ul,ol{margin:var(--paragraph-spacing) 0;padding-left:1.5em}li{margin-bottom:.5em;line-height:var(--line-height-relaxed)}li>ul,li>ol{margin-top:.5em;margin-bottom:0}table{width:100%;border-collapse:collapse;margin:var(--paragraph-spacing) 0}th,td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border)}th{font-weight:var(--weight-semibold);color:var(--color-text-primary);background:var(--color-bg-elevated)}tr:hover{background:var(--color-bg-hover)}a{color:var(--color-primary);text-decoration:none;transition:all var(--duration-fast)}a:hover{color:var(--color-primary-hover);text-decoration:underline;text-underline-offset:2px}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:#0ea5e933;color:var(--color-text-primary)}@media (hover: hover) and (pointer: fine){::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full);transition:background var(--duration-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}}.markdown-body{font-family:"Microsoft YaHei",var(--font-sans);font-size:16px;line-height:1.6;color:var(--color-text-primary);max-width:100%;word-wrap:break-word;overflow-wrap:break-word;scroll-behavior:smooth}.markdown-body :is(h1,h2,h3,h4,h5,h6)[id]{scroll-margin-top:12px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:var(--weight-bold);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);margin-top:1.6em;margin-bottom:.5em;position:relative}.markdown-body h1,.markdown-body h2,.markdown-body h3{padding-left:0}.markdown-body h1{font-size:var(--text-3xl);padding-bottom:.3em;border-bottom:1px solid var(--color-border)}.markdown-body h2{font-size:var(--text-2xl);padding-bottom:.25em;border-bottom:1px solid var(--color-border)}.markdown-body h3{font-size:var(--text-xl)}.markdown-body h4{font-size:var(--text-lg)}.markdown-body h5{font-size:var(--text-base)}.markdown-body h6{font-size:var(--text-sm);color:var(--color-text-tertiary)}.markdown-body p{margin:0 0 .8em;line-height:inherit}.markdown-body ul,.markdown-body ol{margin:.6em 0;padding-left:1.8em}.markdown-body li{margin-bottom:.35em;line-height:1.55}.markdown-body li::marker{color:var(--color-primary)}.markdown-body li>ul,.markdown-body li>ol{margin-top:.3em;margin-bottom:0}.markdown-body input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:1em;height:1em;margin:0 .4em 0 0;vertical-align:middle;border:1.5px solid var(--color-text-tertiary);border-radius:3px;background:var(--color-bg-card);cursor:default;flex-shrink:0;position:relative;top:-1px}.markdown-body input[type=checkbox]:checked{background:var(--color-primary);border-color:var(--color-primary)}.markdown-body input[type=checkbox]:checked:after{content:"";position:absolute;left:3px;top:0;width:5px;height:9px;border:solid var(--color-text-inverse);border-width:0 2px 2px 0;transform:rotate(45deg)}.markdown-body blockquote{margin:.8em 0;padding:var(--space-3) var(--space-5);border-left:4px solid var(--color-primary);background:var(--color-primary-light);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-text-secondary);font-style:normal}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body code:not(pre code){font-family:var(--font-mono);font-size:.88em;background:#0ea5e914;color:var(--color-primary);padding:2px 7px;border-radius:var(--radius-sm);font-weight:var(--weight-medium);word-break:break-all}.markdown-body pre.md-code{margin:.9em 0;border-radius:var(--radius-md);overflow:hidden;background:#1e1e2e;border:1px solid rgba(255,255,255,.06);box-shadow:0 2px 8px #00000026}.markdown-body pre.md-code code{display:block;padding:var(--space-4);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.65;color:#cdd6f4;background:transparent;overflow-x:auto;-moz-tab-size:2;tab-size:2}.markdown-body pre.md-code code .hljs{background:transparent;padding:0;color:inherit}.markdown-body table{width:100%;border-collapse:collapse;margin:.9em 0;font-size:var(--text-sm)}.markdown-body th,.markdown-body td{padding:var(--space-2) var(--space-3);text-align:left;border:1px solid var(--color-border);line-height:1.6}.markdown-body th{font-weight:var(--weight-semibold);color:var(--color-text-primary);background:var(--color-bg-elevated)}.markdown-body td{color:var(--color-text-secondary)}.markdown-body tr:nth-child(2n) td{background:#0ea5e905}.markdown-body tr:hover td{background:var(--color-bg-hover)}.markdown-body img{display:block;max-width:100%;height:auto;border-radius:var(--radius-lg);margin:var(--space-4) auto;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-fast) var(--ease-out)}.markdown-body img:hover{box-shadow:var(--shadow-md)}.markdown-body a{color:var(--color-primary);text-decoration:none;font-weight:var(--weight-medium);transition:all var(--duration-fast) var(--ease-out)}.markdown-body a:hover{color:var(--color-primary-hover);text-decoration:underline;text-underline-offset:2px}.markdown-body hr{margin:1.5em 0;border:none;border-top:1px solid var(--color-border)}.markdown-body strong{font-weight:var(--weight-bold);color:var(--color-text-primary)}.markdown-body em{font-style:italic}.markdown-body del{text-decoration:line-through;color:var(--color-text-tertiary)}.markdown-body--compact{font-size:.9em;line-height:1.55}.markdown-body--compact h1{font-size:var(--text-xl)}.markdown-body--compact h2{font-size:var(--text-lg)}.markdown-body--compact h3{font-size:var(--text-base)}.markdown-body--compact h4,.markdown-body--compact h5,.markdown-body--compact h6{font-size:var(--text-sm)}.markdown-body--compact h1,.markdown-body--compact h2,.markdown-body--compact h3,.markdown-body--compact h4,.markdown-body--compact h5,.markdown-body--compact h6{margin-top:1em;margin-bottom:.3em}.markdown-body--compact p{margin:0 0 .4em}.markdown-body--compact ul,.markdown-body--compact ol{margin:.3em 0;padding-left:1.5em}.markdown-body--compact li{margin-bottom:.15em}.markdown-body--compact blockquote{margin:.4em 0;padding:var(--space-2) var(--space-3)}.markdown-body--compact pre.md-code{margin:.5em 0}.markdown-body--compact pre.md-code code{padding:var(--space-3);font-size:var(--text-xs)}.markdown-body--compact table{font-size:var(--text-xs)}.markdown-body--compact th,.markdown-body--compact td{padding:var(--space-1) var(--space-2)}.markdown-body--compact img{margin:var(--space-2) auto}.markdown-body--compact hr{margin:.8em 0}.corr-hl-orig{background:#ef44441f;text-decoration:line-through;text-decoration-color:var(--color-error);color:var(--color-error);padding:0 3px;border-radius:3px;font-weight:var(--weight-medium)}.corr-hl-corr{background:#22c55e1f;color:#16a34a;padding:0 3px;border-radius:3px;font-weight:var(--weight-medium)}.corr-hl{cursor:help;transition:opacity var(--duration-fast) var(--ease-out)}.corr-hl:hover{opacity:.85}@media (max-width: 768px){.markdown-body{font-size:15px;line-height:1.55}.markdown-body h1{font-size:var(--text-2xl)}.markdown-body h2{font-size:var(--text-xl)}.markdown-body h3{font-size:var(--text-lg)}.markdown-body blockquote{padding:var(--space-2) var(--space-3)}.markdown-body pre.md-code code{padding:var(--space-3);font-size:var(--text-xs)}.markdown-body table{font-size:var(--text-xs)}.markdown-body th,.markdown-body td{padding:var(--space-1) var(--space-2)}.markdown-body--compact{font-size:.85em;line-height:1.5}}@media (max-width: 480px){.markdown-body{font-size:14px;line-height:1.5}.markdown-body ul,.markdown-body ol{padding-left:1.3em}}
