@charset "UTF-8";.login-mask[data-v-c27bc754]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0f172a73;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-dialog[data-v-c27bc754]{width:840px;max-width:92vw;max-height:92vh;display:flex;border-radius:var(--radius-2xl);overflow:hidden;background:#fff;box-shadow:0 32px 80px #0f172a47;position:relative}.close-btn[data-v-c27bc754]{position:absolute;top:16px;right:16px;z-index:10;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:none;background:var(--color-bg-soft);color:var(--color-text-muted);border-radius:50%;cursor:pointer;transition:all var(--transition-fast)}.close-btn[data-v-c27bc754]:hover{background:var(--color-primary-50);color:var(--color-primary);transform:rotate(90deg)}.login-banner[data-v-c27bc754]{width:340px;flex-shrink:0;position:relative;overflow:hidden;background:var(--gradient-brand)}.login-banner .banner-img[data-v-c27bc754]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.login-banner .banner-overlay[data-v-c27bc754]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#ff4d4f14,#d9363e8c);display:flex;flex-direction:column;justify-content:flex-end;padding:36px 32px;color:#fff}.login-banner .banner-overlay .brand-logo[data-v-c27bc754]{margin-bottom:18px}.login-banner .banner-overlay .brand-logo svg[data-v-c27bc754]{filter:drop-shadow(0 6px 16px rgba(15,23,42,.2))}.login-banner .banner-overlay h3[data-v-c27bc754]{font-size:24px;font-weight:800;letter-spacing:var(--tracking-title);margin:0 0 8px}.login-banner .banner-overlay .banner-slogan[data-v-c27bc754]{font-size:14px;opacity:.9;margin:0 0 24px}.login-banner .banner-overlay .banner-points[data-v-c27bc754]{display:flex;flex-direction:column;gap:10px}.login-banner .banner-overlay .banner-points li[data-v-c27bc754]{display:flex;align-items:center;gap:8px;font-size:13px;opacity:.92}.login-banner .banner-overlay .banner-points li svg[data-v-c27bc754]{flex-shrink:0;width:20px;height:20px;padding:3px;background:#ffffff38;border-radius:50%}.login-body[data-v-c27bc754]{flex:1;padding:44px 40px 36px;display:flex;flex-direction:column;overflow-y:auto;position:relative}.login-toast[data-v-c27bc754]{position:absolute;top:14px;left:40px;right:40px;padding:10px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:500;text-align:center;z-index:5}.login-toast.info[data-v-c27bc754]{background:var(--color-bg-soft);color:var(--color-text-secondary);border:1px solid var(--color-border)}.login-toast.error[data-v-c27bc754]{background:#fef2f2;color:var(--color-danger);border:1px solid #fecaca}.login-toast.success[data-v-c27bc754]{background:#f0fdf4;color:var(--color-success);border:1px solid #bbf7d0}.toast-enter-active[data-v-c27bc754],.toast-leave-active[data-v-c27bc754]{transition:all .3s var(--ease-out-expo)}.toast-enter-from[data-v-c27bc754],.toast-leave-to[data-v-c27bc754]{opacity:0;transform:translateY(-8px)}.tabs[data-v-c27bc754]{position:relative;display:flex;background:var(--color-bg-soft);border-radius:var(--radius-full);padding:4px;margin-bottom:30px}.tabs .tab[data-v-c27bc754]{flex:1;position:relative;z-index:1;padding:9px 0;border:none;background:none;font-size:15px;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast)}.tabs .tab.active[data-v-c27bc754]{color:#fff}.tabs .tab-ink[data-v-c27bc754]{position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:calc(100% - 8px);background:var(--gradient-brand);border-radius:var(--radius-full);box-shadow:var(--shadow-brand);transition:transform .35s var(--ease-spring)}.form[data-v-c27bc754]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-c27bc754]{display:flex;flex-direction:column;gap:7px}.form-group label[data-v-c27bc754]{font-size:13px;color:var(--color-text-secondary);font-weight:600}.form-group input[data-v-c27bc754]{padding:12px 16px;background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:14px;transition:all var(--transition-fast);outline:none}.form-group input[data-v-c27bc754]:hover{border-color:var(--color-border-strong)}.form-group input[data-v-c27bc754]:focus{border-color:var(--color-primary);background:#fff;box-shadow:0 0 0 4px #ff4d4f1a}.form-group input[data-v-c27bc754]::placeholder{color:var(--color-text-faint)}.form-row[data-v-c27bc754]{display:flex;justify-content:space-between;align-items:center;font-size:13px}.form-row .checkbox[data-v-c27bc754]{display:flex;align-items:center;gap:6px;color:var(--color-text-muted);cursor:pointer}.form-row .checkbox input[data-v-c27bc754]{accent-color:var(--color-primary);cursor:pointer}.form-row .forgot[data-v-c27bc754]{color:var(--color-primary);cursor:pointer;font-weight:500}.form-row .forgot[data-v-c27bc754]:hover{text-decoration:underline}.submit-btn[data-v-c27bc754]{margin-top:6px;padding:13px;border:none;border-radius:var(--radius-md);background:var(--gradient-brand);color:#fff;font-size:15px;font-weight:700;letter-spacing:.06em;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-brand);position:relative;overflow:hidden}.submit-btn[data-v-c27bc754]:after{content:"";position:absolute;top:0;left:-80%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skew(-20deg);transition:left .6s var(--ease-out-expo)}.submit-btn[data-v-c27bc754]:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-brand-lg)}.submit-btn[data-v-c27bc754]:hover:not(:disabled):after{left:120%}.submit-btn[data-v-c27bc754]:active:not(:disabled){transform:translateY(0)}.submit-btn[data-v-c27bc754]:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.divider[data-v-c27bc754]{margin:26px 0 18px;text-align:center;position:relative}.divider[data-v-c27bc754]:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--color-border-light)}.divider span[data-v-c27bc754]{position:relative;background:#fff;padding:0 14px;font-size:12px;color:var(--color-text-faint)}.social[data-v-c27bc754]{display:flex;justify-content:center;gap:14px;margin-bottom:18px}.social .social-btn[data-v-c27bc754]{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);background:#fff;color:var(--color-text-muted);border-radius:50%;cursor:pointer;transition:all var(--transition-fast)}.social .social-btn[data-v-c27bc754]:hover{color:var(--color-primary);border-color:var(--color-primary-300);background:var(--color-primary-50);transform:translateY(-2px);box-shadow:0 6px 16px #ff4d4f24}.agreement[data-v-c27bc754]{text-align:center;font-size:12px;color:var(--color-text-faint);margin:0}.agreement a[data-v-c27bc754]{color:var(--color-primary);cursor:pointer}.fade-enter-active[data-v-c27bc754],.fade-leave-active[data-v-c27bc754]{transition:opacity .25s}.fade-enter-from[data-v-c27bc754],.fade-leave-to[data-v-c27bc754]{opacity:0}.pop-enter-active[data-v-c27bc754]{transition:all .4s var(--ease-spring)}.pop-enter-from[data-v-c27bc754]{opacity:0;transform:scale(.94) translateY(16px)}@media (max-width: 640px){.login-dialog[data-v-c27bc754]{flex-direction:column;width:92vw}.login-banner[data-v-c27bc754]{width:100%;height:150px}.login-banner .banner-overlay[data-v-c27bc754]{justify-content:center;align-items:center;text-align:center;padding:20px}.login-banner .banner-overlay .brand-logo[data-v-c27bc754]{margin-bottom:8px}.login-banner .banner-overlay .banner-points[data-v-c27bc754]{display:none}.login-banner .banner-overlay .banner-slogan[data-v-c27bc754]{margin:0}.login-body[data-v-c27bc754]{padding:32px 24px 28px}.login-toast[data-v-c27bc754]{left:24px;right:24px}}[data-v-9ab5f564]:root{--color-primary-50: #fff1f0;--color-primary-100: #ffe1de;--color-primary-200: #ffc7c2;--color-primary-300: #ffa39e;--color-primary-400: #ff7875;--color-primary: #ff4d4f;--color-primary-600: #f03e41;--color-primary-dark: #d9363e;--color-primary-800: #b52a32;--color-primary-900: #8c1f27;--color-accent-300: #ffc9a6;--color-accent-400: #ff9c6e;--color-accent: #ff7a45;--color-accent-600: #f2652b;--color-pink: #f43f5e;--color-pink-light: #fb7185;--gradient-brand: linear-gradient(135deg, #ff4d4f 0%, #ff7a45 100%);--gradient-brand-vivid: linear-gradient(120deg, #ff4d4f 0%, #ff7a45 50%, #ffa940 100%);--gradient-brand-soft: linear-gradient(135deg, rgba(255, 77, 79, .1) 0%, rgba(255, 122, 69, .1) 100%);--gradient-brand-glow: linear-gradient(135deg, rgba(255, 77, 79, .18) 0%, rgba(255, 122, 69, .18) 100%);--gradient-hero: radial-gradient(ellipse 80% 60% at 15% 0%, rgba(255, 77, 79, .14), transparent 55%), radial-gradient(ellipse 70% 55% at 90% 100%, rgba(255, 122, 69, .13), transparent 55%), radial-gradient(ellipse 50% 40% at 60% 40%, rgba(255, 169, 64, .07), transparent 60%);--gradient-mesh-dark: radial-gradient(ellipse 60% 50% at 20% 20%, rgba(255, 77, 79, .32), transparent 60%), radial-gradient(ellipse 55% 45% at 80% 70%, rgba(255, 122, 69, .28), transparent 60%);--color-text: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-faint: #94a3b8;--color-text-inverse: #f8fafc;--color-bg: #f8fafc;--color-bg-alt: #ffffff;--color-bg-soft: #fef7f4;--color-bg-warm: #fefbfa;--color-bg-dark: #1c1917;--color-bg-dark-2: #292524;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-border-strong: #cbd5e1;--color-success: #22c55e;--color-success-soft: rgba(34, 197, 94, .1);--color-warning: #f59e0b;--color-warning-soft: rgba(245, 158, 11, .1);--color-danger: #ef4444;--color-info: #3b82f6;--glass-bg: rgba(255, 255, 255, .72);--glass-bg-strong: rgba(255, 255, 255, .85);--glass-border: rgba(255, 255, 255, .6);--glass-border-soft: rgba(255, 255, 255, .4);--glass-shadow: 0 8px 32px rgba(15, 23, 42, .08);--glass-shadow-lg: 0 16px 48px rgba(15, 23, 42, .12);--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .06), 0 2px 4px -2px rgba(15, 23, 42, .05);--shadow-lg: 0 12px 24px -4px rgba(15, 23, 42, .09), 0 4px 8px -2px rgba(15, 23, 42, .04);--shadow-xl: 0 24px 48px -8px rgba(15, 23, 42, .14), 0 8px 16px -4px rgba(15, 23, 42, .06);--shadow-2xl: 0 32px 64px -12px rgba(15, 23, 42, .2);--shadow-brand: 0 8px 24px rgba(255, 77, 79, .3);--shadow-brand-lg: 0 16px 40px rgba(255, 77, 79, .36);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 28px;--radius-full: 9999px;--space-section: 112px;--space-section-sm: 72px;--container-max: 1200px;--container-wide: 1320px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--transition-fast: .2s var(--ease-out-expo);--transition-base: .35s var(--ease-out-expo);--transition-slow: .6s var(--ease-out-expo);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", sans-serif;--font-num: "Inter", "SF Pro Display", -apple-system, sans-serif;--tracking-display: -.035em;--tracking-title: -.02em;--tracking-tight: -.01em;--z-header: 1000;--z-dialog: 2000;--z-toast: 3000}.app-header[data-v-9ab5f564]{position:fixed;top:0;left:0;right:0;height:72px;z-index:var(--z-header);transition:all var(--transition-base);background:transparent}.app-header.scrolled[data-v-9ab5f564]{background:var(--glass-bg-strong);backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);box-shadow:var(--shadow-md);border-bottom:1px solid var(--color-border-light)}.header-inner[data-v-9ab5f564]{display:flex;align-items:center;justify-content:space-between;height:100%}.logo[data-v-9ab5f564]{display:flex;align-items:center;gap:10px;transition:transform var(--transition-fast);position:relative}.logo[data-v-9ab5f564]:hover{transform:scale(1.04)}.logo:hover .logo-icon svg[data-v-9ab5f564]{transform:rotate(-6deg)}.logo:hover .logo-tag[data-v-9ab5f564]{opacity:1;transform:translate(0)}.logo-icon[data-v-9ab5f564]{display:flex;filter:drop-shadow(0 4px 10px rgba(255,77,79,.35));transition:transform .5s var(--ease-spring)}.logo-icon svg[data-v-9ab5f564]{transition:transform .5s var(--ease-spring)}.logo-text[data-v-9ab5f564]{font-size:20px;font-weight:800;letter-spacing:var(--tracking-tight);background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.logo-tag[data-v-9ab5f564]{font-size:11px;color:var(--color-text-faint);font-weight:500;letter-spacing:.04em;opacity:.6;transform:translate(-4px);transition:all .4s var(--ease-out-expo);border-left:1px solid var(--color-border);padding-left:10px;margin-left:2px}.nav-links[data-v-9ab5f564]{display:flex;align-items:center;gap:4px}.nav-links .nav-link[data-v-9ab5f564]{position:relative;padding:9px 18px;font-size:15px;font-weight:500;color:var(--color-text-secondary);border-radius:var(--radius-full);transition:all var(--transition-fast)}.nav-links .nav-link[data-v-9ab5f564]:after{content:"";position:absolute;left:50%;bottom:3px;width:16px;height:3px;border-radius:2px;background:var(--gradient-brand);transform:translate(-50%) scaleX(0);transition:transform var(--transition-base)}.nav-links .nav-link[data-v-9ab5f564]:hover{color:var(--color-primary)}.nav-links .nav-link[data-v-9ab5f564]:hover:after{transform:translate(-50%) scaleX(1)}.nav-links .nav-link.router-link-active[data-v-9ab5f564]{color:var(--color-primary);font-weight:600;background:var(--gradient-brand-soft)}.nav-links .nav-link.router-link-active[data-v-9ab5f564]:after{transform:translate(-50%) scaleX(1)}.header-actions[data-v-9ab5f564]{display:flex;align-items:center;gap:12px}.login-btn[data-v-9ab5f564]{display:flex;align-items:center;gap:6px;padding:7px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-full);color:var(--color-text);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.login-btn[data-v-9ab5f564]:hover{background:var(--gradient-brand-soft);border-color:var(--color-primary);color:var(--color-primary)}.user-menu[data-v-9ab5f564]{position:relative}.user-btn[data-v-9ab5f564]{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-full);color:var(--color-text);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.user-btn svg[data-v-9ab5f564]{color:var(--color-text-muted);transition:transform .25s ease}.user-btn[data-v-9ab5f564]:hover{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 10%,transparent)}.user-avatar[data-v-9ab5f564]{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--gradient-brand);color:#fff;border-radius:50%;font-size:13px;font-weight:700}.user-name[data-v-9ab5f564]{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown[data-v-9ab5f564]{position:absolute;top:calc(100% + 10px);right:0;min-width:150px;padding:6px;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:0 16px 40px #0f172a29;z-index:50}.user-dropdown .dd-item[data-v-9ab5f564]{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border:none;background:none;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--color-text);cursor:pointer;text-decoration:none;transition:all var(--transition-fast)}.user-dropdown .dd-item svg[data-v-9ab5f564]{color:var(--color-text-muted)}.user-dropdown .dd-item[data-v-9ab5f564]:hover{background:var(--gradient-brand-soft);color:var(--color-primary)}.user-dropdown .dd-item:hover svg[data-v-9ab5f564]{color:var(--color-primary)}.user-dropdown .dd-item.dd-danger[data-v-9ab5f564]:hover{background:#fef2f2;color:#ef4444}.user-dropdown .dd-item.dd-danger:hover svg[data-v-9ab5f564]{color:#ef4444}.dropdown-enter-active[data-v-9ab5f564],.dropdown-leave-active[data-v-9ab5f564]{transition:all .2s var(--ease-out-expo)}.dropdown-enter-from[data-v-9ab5f564],.dropdown-leave-to[data-v-9ab5f564]{opacity:0;transform:translateY(-6px)}.btn-sm[data-v-9ab5f564]{padding:8px 20px;font-size:14px}.menu-toggle[data-v-9ab5f564]{display:none;width:40px;height:40px;position:relative}.menu-toggle span[data-v-9ab5f564],.menu-toggle span[data-v-9ab5f564]:before,.menu-toggle span[data-v-9ab5f564]:after{display:block;position:absolute;width:22px;height:2px;background:var(--color-text);border-radius:2px;transition:all var(--transition-base)}.menu-toggle span[data-v-9ab5f564]{top:50%;left:50%;transform:translate(-50%,-50%)}.menu-toggle span[data-v-9ab5f564]:before,.menu-toggle span[data-v-9ab5f564]:after{content:""}.menu-toggle span[data-v-9ab5f564]:before{top:-7px}.menu-toggle span[data-v-9ab5f564]:after{top:7px}.menu-toggle span.active[data-v-9ab5f564]{background:transparent}.menu-toggle span.active[data-v-9ab5f564]:before{top:0;transform:rotate(45deg)}.menu-toggle span.active[data-v-9ab5f564]:after{top:0;transform:rotate(-45deg)}@media (max-width: 768px){.menu-toggle[data-v-9ab5f564]{display:block}.login-btn span[data-v-9ab5f564],.user-name[data-v-9ab5f564]{display:none}.nav-links[data-v-9ab5f564]{position:fixed;top:72px;left:0;right:0;flex-direction:column;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:16px;gap:4px;transform:translateY(-120%);opacity:0;transition:all var(--transition-base);pointer-events:none}.nav-links.open[data-v-9ab5f564]{transform:translateY(0);opacity:1;pointer-events:auto}.nav-links .nav-link[data-v-9ab5f564]{width:100%;padding:14px 16px}.btn-sm[data-v-9ab5f564]{display:none}}[data-v-9a829192]:root{--color-primary-50: #fff1f0;--color-primary-100: #ffe1de;--color-primary-200: #ffc7c2;--color-primary-300: #ffa39e;--color-primary-400: #ff7875;--color-primary: #ff4d4f;--color-primary-600: #f03e41;--color-primary-dark: #d9363e;--color-primary-800: #b52a32;--color-primary-900: #8c1f27;--color-accent-300: #ffc9a6;--color-accent-400: #ff9c6e;--color-accent: #ff7a45;--color-accent-600: #f2652b;--color-pink: #f43f5e;--color-pink-light: #fb7185;--gradient-brand: linear-gradient(135deg, #ff4d4f 0%, #ff7a45 100%);--gradient-brand-vivid: linear-gradient(120deg, #ff4d4f 0%, #ff7a45 50%, #ffa940 100%);--gradient-brand-soft: linear-gradient(135deg, rgba(255, 77, 79, .1) 0%, rgba(255, 122, 69, .1) 100%);--gradient-brand-glow: linear-gradient(135deg, rgba(255, 77, 79, .18) 0%, rgba(255, 122, 69, .18) 100%);--gradient-hero: radial-gradient(ellipse 80% 60% at 15% 0%, rgba(255, 77, 79, .14), transparent 55%), radial-gradient(ellipse 70% 55% at 90% 100%, rgba(255, 122, 69, .13), transparent 55%), radial-gradient(ellipse 50% 40% at 60% 40%, rgba(255, 169, 64, .07), transparent 60%);--gradient-mesh-dark: radial-gradient(ellipse 60% 50% at 20% 20%, rgba(255, 77, 79, .32), transparent 60%), radial-gradient(ellipse 55% 45% at 80% 70%, rgba(255, 122, 69, .28), transparent 60%);--color-text: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-faint: #94a3b8;--color-text-inverse: #f8fafc;--color-bg: #f8fafc;--color-bg-alt: #ffffff;--color-bg-soft: #fef7f4;--color-bg-warm: #fefbfa;--color-bg-dark: #1c1917;--color-bg-dark-2: #292524;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-border-strong: #cbd5e1;--color-success: #22c55e;--color-success-soft: rgba(34, 197, 94, .1);--color-warning: #f59e0b;--color-warning-soft: rgba(245, 158, 11, .1);--color-danger: #ef4444;--color-info: #3b82f6;--glass-bg: rgba(255, 255, 255, .72);--glass-bg-strong: rgba(255, 255, 255, .85);--glass-border: rgba(255, 255, 255, .6);--glass-border-soft: rgba(255, 255, 255, .4);--glass-shadow: 0 8px 32px rgba(15, 23, 42, .08);--glass-shadow-lg: 0 16px 48px rgba(15, 23, 42, .12);--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .06), 0 2px 4px -2px rgba(15, 23, 42, .05);--shadow-lg: 0 12px 24px -4px rgba(15, 23, 42, .09), 0 4px 8px -2px rgba(15, 23, 42, .04);--shadow-xl: 0 24px 48px -8px rgba(15, 23, 42, .14), 0 8px 16px -4px rgba(15, 23, 42, .06);--shadow-2xl: 0 32px 64px -12px rgba(15, 23, 42, .2);--shadow-brand: 0 8px 24px rgba(255, 77, 79, .3);--shadow-brand-lg: 0 16px 40px rgba(255, 77, 79, .36);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 28px;--radius-full: 9999px;--space-section: 112px;--space-section-sm: 72px;--container-max: 1200px;--container-wide: 1320px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--transition-fast: .2s var(--ease-out-expo);--transition-base: .35s var(--ease-out-expo);--transition-slow: .6s var(--ease-out-expo);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", sans-serif;--font-num: "Inter", "SF Pro Display", -apple-system, sans-serif;--tracking-display: -.035em;--tracking-title: -.02em;--tracking-tight: -.01em;--z-header: 1000;--z-dialog: 2000;--z-toast: 3000}.app-footer[data-v-9a829192]{background:var(--color-bg-dark);color:#ffffffb3;padding:64px 0 32px;margin-top:auto}.footer-grid[data-v-9a829192]{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}.footer-brand .logo[data-v-9a829192]{display:flex;align-items:center;gap:10px;margin-bottom:16px}.footer-brand .logo-text[data-v-9a829192]{font-size:20px;font-weight:800;color:#fff}.footer-brand .brand-desc[data-v-9a829192]{font-size:14px;line-height:1.8;max-width:320px}.footer-col h4[data-v-9a829192]{color:#fff;font-size:15px;font-weight:700;margin-bottom:20px}.footer-col ul li[data-v-9a829192]{margin-bottom:12px}.footer-col ul li a[data-v-9a829192]{font-size:14px;color:#fff9;transition:color var(--transition-fast)}.footer-col ul li a[data-v-9a829192]:hover{color:var(--color-primary-light)}.footer-bottom[data-v-9a829192]{padding-top:32px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#ffffff80}.footer-bottom .footer-slogan[data-v-9a829192]{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:600}.footer-bottom .footer-version[data-v-9a829192]{display:inline-block;margin-left:8px;padding:1px 8px;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:11px;line-height:18px;color:#ffffffa6;font-variant-numeric:tabular-nums}@media (max-width: 768px){.footer-grid[data-v-9a829192]{grid-template-columns:1fr 1fr;gap:32px}.footer-brand[data-v-9a829192]{grid-column:1/-1}.footer-bottom[data-v-9a829192]{flex-direction:column;gap:12px;text-align:center}}[data-v-4d2985df]:root{--color-primary-50: #fff1f0;--color-primary-100: #ffe1de;--color-primary-200: #ffc7c2;--color-primary-300: #ffa39e;--color-primary-400: #ff7875;--color-primary: #ff4d4f;--color-primary-600: #f03e41;--color-primary-dark: #d9363e;--color-primary-800: #b52a32;--color-primary-900: #8c1f27;--color-accent-300: #ffc9a6;--color-accent-400: #ff9c6e;--color-accent: #ff7a45;--color-accent-600: #f2652b;--color-pink: #f43f5e;--color-pink-light: #fb7185;--gradient-brand: linear-gradient(135deg, #ff4d4f 0%, #ff7a45 100%);--gradient-brand-vivid: linear-gradient(120deg, #ff4d4f 0%, #ff7a45 50%, #ffa940 100%);--gradient-brand-soft: linear-gradient(135deg, rgba(255, 77, 79, .1) 0%, rgba(255, 122, 69, .1) 100%);--gradient-brand-glow: linear-gradient(135deg, rgba(255, 77, 79, .18) 0%, rgba(255, 122, 69, .18) 100%);--gradient-hero: radial-gradient(ellipse 80% 60% at 15% 0%, rgba(255, 77, 79, .14), transparent 55%), radial-gradient(ellipse 70% 55% at 90% 100%, rgba(255, 122, 69, .13), transparent 55%), radial-gradient(ellipse 50% 40% at 60% 40%, rgba(255, 169, 64, .07), transparent 60%);--gradient-mesh-dark: radial-gradient(ellipse 60% 50% at 20% 20%, rgba(255, 77, 79, .32), transparent 60%), radial-gradient(ellipse 55% 45% at 80% 70%, rgba(255, 122, 69, .28), transparent 60%);--color-text: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-faint: #94a3b8;--color-text-inverse: #f8fafc;--color-bg: #f8fafc;--color-bg-alt: #ffffff;--color-bg-soft: #fef7f4;--color-bg-warm: #fefbfa;--color-bg-dark: #1c1917;--color-bg-dark-2: #292524;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-border-strong: #cbd5e1;--color-success: #22c55e;--color-success-soft: rgba(34, 197, 94, .1);--color-warning: #f59e0b;--color-warning-soft: rgba(245, 158, 11, .1);--color-danger: #ef4444;--color-info: #3b82f6;--glass-bg: rgba(255, 255, 255, .72);--glass-bg-strong: rgba(255, 255, 255, .85);--glass-border: rgba(255, 255, 255, .6);--glass-border-soft: rgba(255, 255, 255, .4);--glass-shadow: 0 8px 32px rgba(15, 23, 42, .08);--glass-shadow-lg: 0 16px 48px rgba(15, 23, 42, .12);--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .06), 0 2px 4px -2px rgba(15, 23, 42, .05);--shadow-lg: 0 12px 24px -4px rgba(15, 23, 42, .09), 0 4px 8px -2px rgba(15, 23, 42, .04);--shadow-xl: 0 24px 48px -8px rgba(15, 23, 42, .14), 0 8px 16px -4px rgba(15, 23, 42, .06);--shadow-2xl: 0 32px 64px -12px rgba(15, 23, 42, .2);--shadow-brand: 0 8px 24px rgba(255, 77, 79, .3);--shadow-brand-lg: 0 16px 40px rgba(255, 77, 79, .36);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 28px;--radius-full: 9999px;--space-section: 112px;--space-section-sm: 72px;--container-max: 1200px;--container-wide: 1320px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--transition-fast: .2s var(--ease-out-expo);--transition-base: .35s var(--ease-out-expo);--transition-slow: .6s var(--ease-out-expo);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", sans-serif;--font-num: "Inter", "SF Pro Display", -apple-system, sans-serif;--tracking-display: -.035em;--tracking-title: -.02em;--tracking-tight: -.01em;--z-header: 1000;--z-dialog: 2000;--z-toast: 3000}.scroll-top[data-v-4d2985df]{position:fixed;right:32px;bottom:32px;width:52px;height:52px;border-radius:var(--radius-full);background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);z-index:900;transition:all var(--transition-base)}.scroll-top[data-v-4d2985df]:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.scroll-top:hover .arrow[data-v-4d2985df]{color:var(--color-primary);transform:translateY(-2px)}.scroll-top .progress-ring[data-v-4d2985df]{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(-90deg)}.scroll-top .progress-ring .ring-bg[data-v-4d2985df]{stroke:var(--color-border)}.scroll-top .progress-ring .ring-bar[data-v-4d2985df]{stroke:url(#scroll-g);stroke:var(--color-primary);transition:stroke-dashoffset .1s linear}.scroll-top .arrow[data-v-4d2985df]{display:flex;color:var(--color-text-secondary);transition:all var(--transition-fast)}.fade-enter-active[data-v-4d2985df],.fade-leave-active[data-v-4d2985df]{transition:all var(--transition-base)}.fade-enter-from[data-v-4d2985df],.fade-leave-to[data-v-4d2985df]{opacity:0;transform:translateY(16px)}@media (max-width: 768px){.scroll-top[data-v-4d2985df]{right:16px;bottom:16px;width:46px;height:46px}.scroll-top .progress-ring[data-v-4d2985df]{width:46px;height:46px}}#app-root{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding-top:72px}.page-enter-active{transition:opacity .45s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1)),transform .45s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1))}.page-leave-active{transition:opacity .25s ease,transform .25s ease}.page-enter-from{opacity:0;transform:translateY(20px) scale(.995)}.page-leave-to{opacity:0;transform:translateY(-8px)}@media (prefers-reduced-motion: reduce){.page-enter-active,.page-leave-active{transition:opacity .2s ease;transform:none}.page-enter-from,.page-leave-to{transform:none}}:root{--color-primary-50: #fff1f0;--color-primary-100: #ffe1de;--color-primary-200: #ffc7c2;--color-primary-300: #ffa39e;--color-primary-400: #ff7875;--color-primary: #ff4d4f;--color-primary-600: #f03e41;--color-primary-dark: #d9363e;--color-primary-800: #b52a32;--color-primary-900: #8c1f27;--color-accent-300: #ffc9a6;--color-accent-400: #ff9c6e;--color-accent: #ff7a45;--color-accent-600: #f2652b;--color-pink: #f43f5e;--color-pink-light: #fb7185;--gradient-brand: linear-gradient(135deg, #ff4d4f 0%, #ff7a45 100%);--gradient-brand-vivid: linear-gradient(120deg, #ff4d4f 0%, #ff7a45 50%, #ffa940 100%);--gradient-brand-soft: linear-gradient(135deg, rgba(255, 77, 79, .1) 0%, rgba(255, 122, 69, .1) 100%);--gradient-brand-glow: linear-gradient(135deg, rgba(255, 77, 79, .18) 0%, rgba(255, 122, 69, .18) 100%);--gradient-hero: radial-gradient(ellipse 80% 60% at 15% 0%, rgba(255, 77, 79, .14), transparent 55%), radial-gradient(ellipse 70% 55% at 90% 100%, rgba(255, 122, 69, .13), transparent 55%), radial-gradient(ellipse 50% 40% at 60% 40%, rgba(255, 169, 64, .07), transparent 60%);--gradient-mesh-dark: radial-gradient(ellipse 60% 50% at 20% 20%, rgba(255, 77, 79, .32), transparent 60%), radial-gradient(ellipse 55% 45% at 80% 70%, rgba(255, 122, 69, .28), transparent 60%);--color-text: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-faint: #94a3b8;--color-text-inverse: #f8fafc;--color-bg: #f8fafc;--color-bg-alt: #ffffff;--color-bg-soft: #fef7f4;--color-bg-warm: #fefbfa;--color-bg-dark: #1c1917;--color-bg-dark-2: #292524;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-border-strong: #cbd5e1;--color-success: #22c55e;--color-success-soft: rgba(34, 197, 94, .1);--color-warning: #f59e0b;--color-warning-soft: rgba(245, 158, 11, .1);--color-danger: #ef4444;--color-info: #3b82f6;--glass-bg: rgba(255, 255, 255, .72);--glass-bg-strong: rgba(255, 255, 255, .85);--glass-border: rgba(255, 255, 255, .6);--glass-border-soft: rgba(255, 255, 255, .4);--glass-shadow: 0 8px 32px rgba(15, 23, 42, .08);--glass-shadow-lg: 0 16px 48px rgba(15, 23, 42, .12);--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .06), 0 2px 4px -2px rgba(15, 23, 42, .05);--shadow-lg: 0 12px 24px -4px rgba(15, 23, 42, .09), 0 4px 8px -2px rgba(15, 23, 42, .04);--shadow-xl: 0 24px 48px -8px rgba(15, 23, 42, .14), 0 8px 16px -4px rgba(15, 23, 42, .06);--shadow-2xl: 0 32px 64px -12px rgba(15, 23, 42, .2);--shadow-brand: 0 8px 24px rgba(255, 77, 79, .3);--shadow-brand-lg: 0 16px 40px rgba(255, 77, 79, .36);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 28px;--radius-full: 9999px;--space-section: 112px;--space-section-sm: 72px;--container-max: 1200px;--container-wide: 1320px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--transition-fast: .2s var(--ease-out-expo);--transition-base: .35s var(--ease-out-expo);--transition-slow: .6s var(--ease-out-expo);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", sans-serif;--font-num: "Inter", "SF Pro Display", -apple-system, sans-serif;--tracking-display: -.035em;--tracking-title: -.02em;--tracking-tight: -.01em;--z-header: 1000;--z-dialog: 2000;--z-toast: 3000}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px;scroll-padding-top:88px}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;font-feature-settings:"cv02","cv03","cv04","cv11"}::selection{background:#ff4d4f38;color:var(--color-text)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:4px}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none}ul{list-style:none}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 24px}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;border-radius:var(--radius-full);font-size:15px;font-weight:600;letter-spacing:.01em;transition:all var(--transition-base);white-space:nowrap;overflow:hidden}.btn--primary{background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-brand)}.btn--primary:after{content:"";position:absolute;top:0;left:-80%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skew(-20deg);transition:left .6s var(--ease-out-expo)}.btn--primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-brand-lg)}.btn--primary:hover:after{left:120%}.btn--primary:active{transform:translateY(0);box-shadow:var(--shadow-brand)}.btn--ghost{background:var(--glass-bg);color:var(--color-text);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn--ghost:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn--outline{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary-200)}.btn--outline:hover{background:var(--color-primary-50);border-color:var(--color-primary);transform:translateY(-2px)}.btn--lg{padding:16px 38px;font-size:16px}.btn--sm{padding:8px 20px;font-size:14px}.section{padding:var(--space-section) 0}.section--alt{background:var(--color-bg-alt)}.section--soft{background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-soft) 100%)}.section-head{text-align:center;max-width:720px;margin:0 auto 72px}.section-head__eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 18px;background:var(--gradient-brand-soft);border:1px solid rgba(255,77,79,.16);color:var(--color-primary);border-radius:var(--radius-full);font-size:13px;font-weight:600;letter-spacing:.08em;margin-bottom:20px}.section-head__title{font-size:clamp(30px,4.2vw,44px);font-weight:800;line-height:1.18;letter-spacing:var(--tracking-title);color:var(--color-text);margin-bottom:18px}.section-head__title span{background:var(--gradient-brand-vivid);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.section-head__subtitle{font-size:17px;color:var(--color-text-muted);line-height:1.75}.page-hero{position:relative;padding:96px 0 64px;text-align:center;background:var(--gradient-hero);overflow:hidden}.page-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,77,79,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,77,79,.05) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse at 50% 0%,#000 20%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 20%,transparent 72%);pointer-events:none}.page-hero .container{position:relative}.page-hero .page-title{font-size:clamp(32px,5vw,50px);font-weight:800;letter-spacing:var(--tracking-title);margin:18px 0 16px}.page-hero .page-subtitle{font-size:17px;color:var(--color-text-muted);line-height:1.75;max-width:620px;margin:0 auto}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff6;transform:translate(-50%,-50%);pointer-events:none;transition:width .5s ease,height .5s ease,opacity .5s ease;opacity:0}.btn:active:before{width:300px;height:300px;opacity:1;transition:0s}.fade-in-up{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.fade-in-up.visible{opacity:1;transform:translateY(0)}.reveal-item{opacity:0;transform:translateY(36px);transition:opacity .9s var(--ease-out-expo),transform .9s var(--ease-out-expo),filter .9s ease;filter:blur(6px);will-change:opacity,transform}.reveal-item.visible{opacity:1;transform:translateY(0);filter:blur(0)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes float-slow{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(3deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes orbit{0%{transform:rotate(0) translate(var(--orbit-r, 120px)) rotate(0)}to{transform:rotate(360deg) translate(var(--orbit-r, 120px)) rotate(-360deg)}}@keyframes pulse-ring{0%{box-shadow:0 0 #ff4d4f59}70%{box-shadow:0 0 0 10px #ff4d4f00}to{box-shadow:0 0 #ff4d4f00}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-soft)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full);border:2px solid var(--color-bg-soft)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-300)}.text-gradient{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.text-center{text-align:center}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
