.theme-toggle[data-v-23495d21]{--toggle-pad: 6px;--thumb-size: 30px;position:relative;width:84px;height:38px;margin-right:20px;padding:var(--toggle-pad);border-radius:999px;background:#ebeaf2;cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box}.theme-toggle.is-dark-mode[data-v-23495d21]{background:#2a3140}.thumb[data-v-23495d21]{position:absolute;top:50%;left:var(--toggle-pad);width:var(--thumb-size);height:var(--thumb-size);border-radius:50%;background:var(--brand-gradient);box-shadow:0 2px 8px #103ce759;transform:translateY(-50%);transition:left .25s ease;pointer-events:none;z-index:0}.thumb.dark[data-v-23495d21]{left:calc(100% - var(--toggle-pad) - var(--thumb-size))}.option[data-v-23495d21]{position:absolute;top:50%;z-index:1;display:flex;align-items:center;justify-content:center;width:var(--thumb-size);height:var(--thumb-size);margin:0;padding:0;border:none;background:transparent;line-height:0;transform:translateY(-50%)}.option-light[data-v-23495d21]{left:var(--toggle-pad)}.option-dark[data-v-23495d21]{left:calc(100% - var(--toggle-pad) - var(--thumb-size))}.icon[data-v-23495d21]{width:16px;height:16px;display:block;margin:0;opacity:.55;transition:filter .2s ease,opacity .2s ease;filter:none}.option-dark .icon[data-v-23495d21]{transform:translate(1.5px,-1px)}.option.active .icon[data-v-23495d21]{opacity:1;filter:brightness(0) invert(1)}.theme-toggle.is-dark-mode .icon[data-v-23495d21]{opacity:.75;filter:brightness(0) invert(.88)}.theme-toggle.is-dark-mode .option.active .icon[data-v-23495d21]{opacity:1;filter:brightness(0) invert(1)}.lang-btn[data-v-617d5d91]{width:36px;height:36px;padding:0}.lang-btn img[data-v-617d5d91]{width:20px;height:20px}html[data-theme=dark] .lang-btn img[data-v-617d5d91]{filter:invert(.9)}.header[data-v-f1cf257f]{position:sticky;top:0;z-index:100;height:var(--header-h);background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.header-bar[data-v-f1cf257f]{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.header-bar.is-full[data-v-f1cf257f]{width:100%;padding:0 24px}.header-left[data-v-f1cf257f]{display:flex;align-items:center;gap:28px}.header-right[data-v-f1cf257f]{display:flex;align-items:center;gap:18px}.brand[data-v-f1cf257f]{display:inline-flex;align-items:center;gap:10px}.brand-logo[data-v-f1cf257f]{width:32px;height:32px;object-fit:contain;flex-shrink:0}.brand-text[data-v-f1cf257f]{font-weight:700;letter-spacing:.02em;white-space:nowrap}.nav[data-v-f1cf257f]{display:flex;align-items:center;gap:18px}.nav-link[data-v-f1cf257f]{padding:8px 16px;border-radius:8px;color:var(--text-secondary);font-size:14px;transition:background .2s ease,color .2s ease}.nav-link[data-v-f1cf257f]:hover,.nav-link.active[data-v-f1cf257f]{color:var(--primary);background:var(--primary-soft)}.auth-actions[data-v-f1cf257f]{display:inline-flex;align-items:stretch;height:36px;border:none;border-radius:999px;overflow:hidden;background:transparent}.auth-actions .btn-login[data-v-f1cf257f],.auth-actions .btn-register[data-v-f1cf257f]{height:100%;min-width:76px;padding:0 18px;border:none;border-radius:0;box-shadow:none;font-size:14px;font-weight:500}.auth-actions .btn[data-v-f1cf257f]:active{transform:none}.auth-actions .btn-register[data-v-f1cf257f]{width:auto;color:#fff;background:var(--brand-gradient);border:none}.auth-actions .btn-register[data-v-f1cf257f]:hover{filter:brightness(1.05)}.auth-actions .btn-login[data-v-f1cf257f]{color:var(--primary);background:transparent;border:1px solid color-mix(in srgb,var(--primary) 45%,var(--border));border-right:none;border-radius:999px 0 0 999px}.auth-actions .btn-login[data-v-f1cf257f]:hover{filter:none;background:var(--primary-soft)}.user-menu[data-v-f1cf257f]{position:relative}.user-trigger[data-v-f1cf257f]{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 10px 0 4px;border:none;border-radius:999px;background:var(--bg-muted);color:var(--text)}.avatar[data-v-f1cf257f]{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:13px;font-weight:700}.user-name[data-v-f1cf257f]{font-size:14px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron[data-v-f1cf257f]{color:var(--text-muted)}.user-dropdown[data-v-f1cf257f]{position:absolute;top:calc(100% - 2px);right:0;min-width:150px;padding:8px;border-radius:12px;background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow);z-index:20}.user-menu[data-v-f1cf257f]:after{content:"";position:absolute;left:0;right:0;top:100%;height:10px}.menu-item[data-v-f1cf257f]{width:100%;height:36px;padding:0 10px;border:none;border-radius:8px;background:transparent;color:var(--text);display:flex;align-items:center;gap:8px;font-size:14px;text-align:left}.menu-item[data-v-f1cf257f]:hover{background:var(--bg-muted)}.menu-toggle[data-v-f1cf257f],.mobile-panel[data-v-f1cf257f]{display:none}@media (max-width: 900px){.nav[data-v-f1cf257f],.header-right[data-v-f1cf257f]{display:none}.menu-toggle[data-v-f1cf257f]{display:inline-flex}.mobile-panel[data-v-f1cf257f]{display:flex;flex-direction:column;gap:8px;padding:12px 16px 16px;background:var(--bg-elevated);border-bottom:1px solid var(--border)}.mobile-link[data-v-f1cf257f]{padding:10px 12px;border-radius:8px;color:var(--text-secondary)}.mobile-link[data-v-f1cf257f]:hover{background:var(--primary-soft);color:var(--primary)}.mobile-actions[data-v-f1cf257f],.mobile-auth[data-v-f1cf257f]{display:flex;gap:10px;align-items:center;margin-top:4px}}.announce[data-v-80743449]{--announce-pad-y: 10px;--announce-line-h: calc(var(--announce-h) - var(--announce-pad-y) * 2);position:sticky;top:var(--header-h);z-index:90;height:var(--announce-h);background:var(--brand-gradient);color:#fff}.announce-inner[data-v-80743449]{height:100%;display:flex;align-items:center;gap:12px;padding:var(--announce-pad-y) 0;box-sizing:border-box}.announce-inner.is-full[data-v-80743449]{width:100%;padding:var(--announce-pad-y) 24px;justify-content:flex-start}.announce-icon[data-v-80743449]{flex-shrink:0;width:var(--announce-line-h);height:var(--announce-line-h);object-fit:contain;display:block}.announce-viewport[data-v-80743449]{flex:1;min-width:0;height:var(--announce-line-h);overflow:hidden}.announce-track[data-v-80743449]{transition:transform .45s ease;will-change:transform}.announce-track p[data-v-80743449]{margin:0;height:var(--announce-line-h);font-size:13px;line-height:var(--announce-line-h);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-footer[data-v-57486672]{flex-shrink:0;height:var(--footer-h);box-sizing:border-box;border-top:1px solid var(--border);background:var(--bg-elevated)}.footer-inner[data-v-57486672]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;height:100%;padding:0 20px;color:var(--text-muted);font-size:13px;line-height:1.5;text-align:center}.beian[data-v-57486672]{color:inherit;text-decoration:none}.beian[data-v-57486672]:hover{color:var(--primary)}.contact-float[data-v-5cb2caff]{position:fixed;right:var(--contact-float-inset);bottom:calc(var(--footer-h) + var(--contact-float-gap));z-index:80}.contact-item[data-v-5cb2caff]{position:relative}.contact-btn[data-v-5cb2caff]{width:var(--contact-float-size);height:var(--contact-float-size);padding:0;border:none;border-radius:50%;background:var(--brand-gradient);box-shadow:var(--shadow);display:grid;place-items:center;overflow:hidden;transition:transform .2s ease,filter .2s ease}.contact-btn[data-v-5cb2caff]:hover{transform:translateY(-2px);filter:brightness(1.06)}.contact-icon[data-v-5cb2caff]{width:26px;height:26px;object-fit:contain;display:block;filter:brightness(0) invert(1)}.popover[data-v-5cb2caff]{position:absolute;right:calc(100% + 14px);bottom:0;width:236px;padding:20px 18px 16px;border-radius:16px;background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);text-align:center}.contact-head[data-v-5cb2caff]{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:14px}.name[data-v-5cb2caff]{font-size:16px;font-weight:700;letter-spacing:.02em;line-height:1.2}.phone[data-v-5cb2caff]{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--text);font-size:14px;font-weight:500;letter-spacing:.04em;text-decoration:none;line-height:1}.phone-icon[data-v-5cb2caff]{display:block;flex-shrink:0;width:14px;height:14px;color:inherit;transform:translateY(-.5px)}.phone-num[data-v-5cb2caff]{display:block;line-height:1}.phone[data-v-5cb2caff]:hover{color:var(--primary)}.qr-wrap[data-v-5cb2caff]{padding:12px 12px 10px;border-radius:12px;background:var(--bg-muted)}.qr[data-v-5cb2caff]{width:148px;height:148px;margin:0 auto 8px;display:block;border-radius:8px;object-fit:contain;background:#fff}.tip[data-v-5cb2caff]{margin:0;font-size:12px;color:var(--text-muted);letter-spacing:.04em}@media (max-width: 640px){.popover[data-v-5cb2caff]{width:210px;padding:16px 14px 14px}.qr[data-v-5cb2caff]{width:132px;height:132px}}:root{--font-display: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-body: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--bg: #f5f7fc;--bg-elevated: #ffffff;--bg-muted: #eef2fa;--text: #0e1520;--text-secondary: #2f3b4c;--text-muted: #526173;--border: #e2e8f2;--primary: #103ce7;--primary-soft: #e8edff;--primary-hover: #0d32c2;--accent: #64e9ff;--brand-from: #103ce7;--brand-to: #64e9ff;--brand-gradient: linear-gradient(90deg, var(--brand-from) 0%, var(--brand-to) 100%);--danger: #dc2626;--shadow: 0 10px 30px rgba(16, 60, 231, .12);--shadow-soft: 0 4px 16px rgba(16, 60, 231, .08);--header-h: 64px;--announce-h: 40px;--footer-h: 53px;--contact-float-size: 48px;--contact-float-inset: 20px;--contact-float-gap: 72px;--radius: 12px;--radius-sm: 8px}@media (max-width: 640px){:root{--contact-float-inset: 12px;--contact-float-gap: 64px}}html[data-theme=dark]{--bg: #0f141c;--bg-elevated: #171e2a;--bg-muted: #222b3b;--text: #e8eef6;--text-secondary: #a9b6c5;--text-muted: #7d8b9a;--border: #2d3748;--primary: #4d7aff;--primary-soft: #152045;--primary-hover: #7aa0ff;--accent: #64e9ff;--brand-from: #103ce7;--brand-to: #64e9ff;--shadow: 0 10px 30px rgba(0, 0, 0, .35);--shadow-soft: 0 4px 16px rgba(0, 0, 0, .28)}*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.app-shell{height:100vh;min-height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-main{flex:1;min-height:0;width:100%;overflow:auto}.container{width:min(1120px,calc(100% - 32px));margin:0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 16px;border-radius:999px;border:1px solid transparent;font-size:14px;min-width:88px;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--brand-gradient);color:#fff;border:none}.btn-primary:hover{filter:brightness(1.05)}.btn-ghost{background:transparent;color:var(--text);border-color:color-mix(in srgb,var(--text-muted) 45%,var(--border))}.btn-ghost:hover{background:var(--bg-muted);border-color:color-mix(in srgb,var(--text-muted) 65%,var(--border))}.btn-danger{background:var(--danger);color:#fff;border:none}.btn-danger:hover{filter:brightness(1.05)}.btn-danger:disabled{opacity:.55;cursor:not-allowed}.btn-outline-light{background:#ffffff1f;color:#fff;border-color:#ffffff73;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn-outline-light:hover{background:#ffffff38}.icon-btn{width:36px;height:36px;border:1px solid var(--border);border-radius:50%;background:var(--bg-elevated);color:var(--text);display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease}.icon-btn:hover,.icon-btn.active{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 35%,var(--border));color:var(--primary)}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:14px;color:var(--text-secondary)}.field input{height:42px;border-radius:10px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);padding:0 14px;outline:none}.field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent)}.form-error{color:var(--danger);font-size:13px;min-height:20px}
