@font-face{font-family:FangZhengLiBian;src:url(/fonts/fangzhenglibian.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--app-shell-max-width: 1730px;--app-shell-padding-x: .4rem;--app-menu-top-gap: 1.25rem;--gy-ink-1000: #050505;--gy-ink-950: #0a0a0a;--gy-ink-900: #111;--gy-ink-850: #141414;--gy-ink-800: #1a1a1a;--gy-ink-750: #222;--gy-ink-700: #262626;--gy-ink-650: #2a2a2a;--gy-border-600: #333;--gy-border-500: #404040;--gy-border-000: #000;--gy-brand: #ff9500;--gy-brand-hover: #ffa033;--gy-brand-active: #e68600;--gy-brand-soft: rgb(255 149 0 / 14%);--gy-brand-muted-surface: rgb(255 149 0 / 9%);--gy-brand-ring: rgb(255 149 0 / 35%);--gy-on-brand: #0a0a0a;--gy-glass-bg: rgb(0 0 0 / 70%);--gy-glass-border: #333;--gy-glass-blur: 8px;--gy-scrim-header: rgb(0 0 0 / 50%);--gy-scrim-main: rgb(0 0 0 / 60%);--gy-scrim-drawer: rgb(0 0 0 / 75%);--gy-text-primary: #f3f4f6;--gy-text-secondary: #9ca3af;--sys-text-secondary-on-video: #c4c9d4;--gy-text-muted: #6b7280;--gy-nav-gradient: linear-gradient(to bottom, #2a2a2a 0%, #0a0a0a 100%);--sys-font-family-brand-script: cursive;--sys-font-family-brand-title: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;font-family:Noto Sans SC,system-ui,-apple-system,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--sys-font-size-xs: 12px;--sys-font-size-sm: 13px;--sys-font-size-md: 14px;--sys-font-size-lg: 16px;--sys-font-size-xl: 20px;--sys-font-size-2xl: 24px;--sys-font-weight-regular: 400;--sys-font-weight-medium: 500;--sys-font-weight-semibold: 600;--sys-font-weight-bold: 700;color-scheme:dark;--sys-neutral-950: var(--gy-ink-1000);--sys-neutral-900: var(--gy-ink-900);--sys-neutral-800: var(--gy-ink-700);--sys-neutral-100: rgb(255 255 255 / 92%);--sys-neutral-90: rgb(255 255 255 / 87%);--sys-neutral-70: rgb(255 255 255 / 70%);--sys-neutral-60: rgb(255 255 255 / 60%);--sys-neutral-50: rgb(255 255 255 / 50%);--sys-brand-purple: var(--gy-brand);--sys-brand-purple-secondary: var(--gy-brand-hover);--sys-brand-pink: var(--gy-brand-active);--sys-accent-cyan: #38bdf8;--sys-accent-green: #22c55e;--sys-accent-orange: var(--gy-brand);--sys-accent-red: #f87171;--sys-brand-purple-rgb: 255 149 0;--sys-brand-purple-secondary-rgb: 255 160 51;--sys-brand-pink-rgb: 230 134 0;--sys-accent-cyan-rgb: 56 189 248;--sys-accent-green-rgb: 34 197 94;--sys-accent-orange-rgb: 255 149 0;--sys-accent-red-rgb: 248 113 113;--sys-neon-cyan: #38bdf8;--sys-neon-pink: #ff7a00;--sys-neon-purple: var(--gy-brand);--sys-gradient-primary: linear-gradient(135deg, #ff9500 0%, #ffb020 100%);--sys-gradient-secondary: linear-gradient(135deg, #38bdf8 0%, #0ea5e9 100%);--sys-gradient-emphasis: linear-gradient(135deg, #ffa033 0%, #ff9500 100%);--sys-gradient-glow: radial-gradient(circle at center, rgb(255 149 0 / 16%) 0%, rgb(255 149 0 / 6%) 45%, transparent 72%);--sys-text-primary: var(--gy-text-primary);--sys-text-secondary: var(--gy-text-secondary);--sys-text-muted: var(--gy-text-muted);--sys-text-inverse: var(--gy-on-brand);--sys-surface-page: var(--gy-ink-900);--sys-surface-page-light: #fafbfc;--sys-surface-panel: var(--gy-ink-950);--sys-surface-card: rgb(0 0 0 / 28%);--sys-surface-float: rgb(17 17 17 / 96%);--sys-surface-mask: var(--gy-scrim-drawer);--sys-border-color: rgb(51 51 51 / 85%);--sys-border-color-strong: var(--gy-border-600);--sys-border-glow: var(--gy-brand-ring);--sys-radius-xs: 6px;--sys-radius-sm: 8px;--sys-radius-md: 12px;--sys-radius-lg: 16px;--sys-radius-pill: 999px;--sys-space-1: 4px;--sys-space-2: 8px;--sys-space-3: 12px;--sys-space-4: 16px;--sys-space-5: 20px;--sys-space-6: 24px;--sys-space-8: 32px;--sys-shadow-sm: 0 1px 3px rgb(0 0 0 / 45%);--sys-shadow-md: 0 10px 25px rgb(0 0 0 / 55%);--sys-shadow-lg: 0 20px 40px rgb(0 0 0 / 60%);--sys-shadow-glow: 0 0 24px rgb(255 149 0 / 18%);--sys-ease-standard: cubic-bezier(.4, 0, .2, 1);--sys-ease-emphasized: cubic-bezier(.22, 1, .36, 1);--sys-duration-fast: .15s;--sys-duration-md: .26s;--sys-duration-slow: .42s;--sys-z-base: 0;--sys-z-sticky: 100;--sys-z-popover: 800;--sys-z-modal: 1000;--sys-z-toast: 20000;--comp-btn-radius: var(--sys-radius-sm);--comp-btn-padding-y: .6em;--comp-btn-padding-x: 1.2em;--comp-btn-font-size: 1em;--comp-btn-primary-bg: var(--sys-gradient-primary);--comp-btn-primary-text: rgb(10 10 10 / 96%);--comp-btn-primary-shadow: 0 2px 10px rgb(0 0 0 / 40%);--comp-btn-primary-shadow-hover: 0 6px 22px rgb(255 149 0 / 28%), 0 2px 10px rgb(0 0 0 / 35%);--comp-btn-secondary-bg: rgb(255 149 0 / 8%);--comp-btn-secondary-text: var(--sys-text-primary);--comp-btn-secondary-border: rgb(255 149 0 / 28%);--comp-btn-secondary-shadow-hover: 0 4px 18px rgb(0 0 0 / 35%), 0 0 0 1px rgb(255 149 0 / 18%);--comp-btn-danger-bg: rgb(248 113 113 / 12%);--comp-btn-danger-text: #fecaca;--comp-btn-danger-border: rgb(248 113 113 / 32%);--comp-btn-danger-shadow-hover: 0 4px 18px rgb(248 113 113 / 18%);--comp-field-bg: rgb(20 20 20 / 96%);--comp-field-text: var(--sys-text-primary);--comp-field-placeholder: var(--sys-text-muted);--comp-field-border: var(--sys-border-color);--comp-field-border-focus: rgb(255 149 0 / 55%);--comp-field-radius: var(--sys-radius-sm);--comp-field-shadow-focus: 0 0 0 3px rgb(255 149 0 / 18%);--comp-badge-radius: var(--sys-radius-pill);--comp-badge-font-size: 12px;--comp-badge-padding-y: 2px;--comp-badge-padding-x: 8px;--comp-badge-info-bg: rgb(56 189 248 / 16%);--comp-badge-info-text: #7dd3fc;--comp-badge-success-bg: rgb(var(--sys-accent-green-rgb) / 14%);--comp-badge-success-text: #86efac;--comp-badge-warning-bg: rgb(251 191 36 / 16%);--comp-badge-warning-text: #fde68a;--comp-badge-danger-bg: rgb(248 113 113 / 16%);--comp-badge-danger-text: #fecaca;--nav-bg: var(--gy-ink-950);--nav-item-bg: rgb(255 255 255 / 5%);--nav-item-border: var(--gy-border-600);--nav-item-active-bg: rgb(255 149 0 / 14%);--nav-item-active-border: var(--gy-brand);--nav-logo-color: var(--gy-brand);--nav-yellow-item-bg: var(--gy-brand);--nav-yellow-item-text: var(--gy-on-brand);--nav-purple-btn-bg: var(--sys-gradient-primary);--nav-purple-btn-border: transparent;--neon-cyan: var(--sys-neon-cyan);--neon-pink: var(--sys-neon-pink);--neon-purple: var(--sys-neon-purple);--accent-green-rgb: 34, 197, 94}.app-content-shell{width:100%;max-width:var(--app-shell-max-width);margin-left:auto;margin-right:auto;padding-left:var(--app-shell-padding-x);padding-right:var(--app-shell-padding-x);box-sizing:border-box}.app-menu-page{width:100%;max-width:var(--app-shell-max-width);margin:var(--app-menu-top-gap) auto 0;padding:0 var(--app-shell-padding-x);box-sizing:border-box}.app-menu-page--pb{padding-bottom:2rem}.app-menu-page__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:0;flex-wrap:wrap;gap:1rem}.app-menu-page__title{margin:0;font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:700;font-family:var(--sys-font-family-brand-title),sans-serif;display:flex;align-items:center;gap:.8rem;color:var(--sys-text-primary);flex-shrink:0;white-space:nowrap}.app-menu-page__title:before{content:"";width:4px;height:24px;background:var(--sys-gradient-primary);border-radius:2px;flex-shrink:0}@media(max-width:600px){.app-menu-page__head{flex-direction:column;align-items:flex-start}}:root[data-theme=light]{color-scheme:light;--sys-gradient-primary: linear-gradient(135deg, #ff9500 0%, #ffb020 100%);--sys-gradient-secondary: linear-gradient(135deg, #38bdf8 0%, #0ea5e9 100%);--sys-gradient-emphasis: linear-gradient(135deg, #ffa033 0%, #ff9500 100%);--sys-gradient-glow: radial-gradient(circle at center, rgb(255 149 0 / 12%) 0%, transparent 70%);--comp-btn-primary-shadow: 0 2px 10px rgb(0 0 0 / 12%);--comp-btn-primary-shadow-hover: 0 6px 20px rgb(255 149 0 / 22%), 0 2px 8px rgb(0 0 0 / 10%);--comp-btn-secondary-bg: rgb(255 149 0 / 6%);--comp-btn-secondary-border: rgb(255 149 0 / 22%);--comp-btn-secondary-shadow-hover: 0 4px 16px rgb(255 149 0 / 10%), 0 0 0 1px rgb(255 149 0 / 8%);--sys-text-primary: #111827;--sys-text-secondary: #4b5563;--sys-text-secondary-on-video: #4b5563;--sys-text-muted: #6b7280;--sys-surface-page: #fafafa;--sys-surface-panel: #f4f4f5;--sys-surface-card: #fff;--sys-surface-float: rgb(255 255 255 / 98%);--sys-border-color: #e5e7eb;--sys-border-color-strong: #d1d5db;--comp-field-bg: rgb(255 255 255 / 92%);--comp-field-border: #e5e7eb;--nav-bg: #fff;--nav-item-bg: #f4f4f5;--nav-item-border: #e5e7eb;--nav-item-active-bg: rgb(255 149 0 / 12%);--nav-item-active-border: #ff9500;--nav-logo-color: #e68600;--nav-yellow-item-bg: #fcd34d;--nav-yellow-item-text: #422006;--nav-purple-btn-bg: var(--sys-gradient-primary);--nav-purple-btn-border: transparent}:root:not([data-theme=light]),:root[data-theme=dark]{color-scheme:dark;--sys-surface-page: var(--sys-neutral-900);--sys-surface-panel: var(--gy-ink-950);--sys-surface-card: rgb(0 0 0 / 28%);--sys-surface-float: rgb(17 17 17 / 96%);--sys-border-color: rgb(51 51 51 / 85%);--sys-border-color-strong: var(--gy-border-600);--sys-text-primary: var(--gy-text-primary);--sys-text-secondary: var(--gy-text-secondary);--sys-text-muted: var(--gy-text-muted);--comp-field-bg: rgb(20 20 20 / 96%);--comp-field-border: rgb(51 51 51 / 85%);--nav-bg: var(--gy-ink-950);--nav-item-bg: rgb(255 255 255 / 5%);--nav-item-border: var(--gy-border-600);--nav-item-active-bg: rgb(255 149 0 / 14%);--nav-item-active-border: var(--gy-brand);--nav-logo-color: var(--gy-brand);--nav-yellow-item-bg: var(--gy-brand);--nav-yellow-item-text: var(--gy-on-brand)}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden;height:100%}body{margin:0;height:100vh;color:var(--sys-text-primary);background-color:var(--sys-surface-page);-webkit-user-select:none;user-select:none}input,textarea,select,option{-webkit-user-select:text;user-select:text}a{font-weight:500;color:var(--sys-brand-purple);text-decoration:inherit}a:hover{color:var(--sys-brand-purple-secondary)}a:focus-visible{outline:2px solid rgb(var(--sys-brand-purple-rgb) / 55%);outline-offset:2px;border-radius:4px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid rgb(var(--sys-brand-purple-rgb) / 55%);outline-offset:1px}button{border-radius:var(--comp-btn-radius);border:1px solid transparent;padding:var(--comp-btn-padding-y) var(--comp-btn-padding-x);font-size:var(--comp-btn-font-size);font-weight:var(--sys-font-weight-semibold);font-family:inherit;background:var(--comp-btn-primary-bg);color:var(--comp-btn-primary-text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;-webkit-user-select:none;user-select:none;box-shadow:var(--comp-btn-primary-shadow);transition:transform var(--sys-duration-md) var(--sys-ease-emphasized),box-shadow var(--sys-duration-md) var(--sys-ease-emphasized),filter var(--sys-duration-md) var(--sys-ease-emphasized),background var(--sys-duration-md) var(--sys-ease-emphasized),border-color var(--sys-duration-md) var(--sys-ease-emphasized),opacity var(--sys-duration-md) var(--sys-ease-emphasized)}button:hover:not(:disabled){border-color:var(--sys-brand-purple);box-shadow:var(--comp-btn-primary-shadow-hover);filter:brightness(1.04)}button:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important;filter:none!important}button:hover:not(:disabled),button:active:not(:disabled){transform:none!important}button:focus,button:focus-visible{outline:none;border-color:var(--comp-field-border-focus);box-shadow:var(--comp-btn-primary-shadow),var(--comp-field-shadow-focus)}button:focus:hover:not(:disabled),button:focus-visible:hover:not(:disabled){box-shadow:var(--comp-btn-primary-shadow-hover),var(--comp-field-shadow-focus)}::-webkit-scrollbar{display:none}#app{height:100%;width:100%}.card{padding:2em}.mobile-only,.tablet-only{display:none!important}.desktop-only{display:block!important}@media(max-width:768px){.mobile-only{display:block!important}.desktop-only{display:none!important}}@media(not (max-width:768px))and (max-width:1024px){.tablet-only{display:block!important}.desktop-only{display:none!important}}.responsive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:clamp(12px,2vw,24px)}.responsive-container{width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(16px,5vw,32px)}.responsive-padding{padding:clamp(16px,5vw,32px)}.responsive-margin{margin:clamp(16px,5vw,32px)}.responsive-heading{font-size:clamp(1.5rem,4vw,2.5rem)}.responsive-text{font-size:clamp(14px,1.5vw,16px)}.gy-font-script{font-family:var(--sys-font-family-brand-script)}.gy-font-title{font-family:var(--sys-font-family-brand-title);font-weight:var(--sys-font-weight-bold)}.gy-text-metal{background:linear-gradient(to bottom,#fff,#ccc,#777);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 4px rgb(0 0 0 / 60%);font-weight:400;width:fit-content;overflow:visible;letter-spacing:2px}.gy-glass-card{background:var(--gy-glass-bg);border:1px solid var(--gy-glass-border);-webkit-backdrop-filter:blur(var(--gy-glass-blur));backdrop-filter:blur(var(--gy-glass-blur));box-shadow:0 4px 10px #0000007f}.gy-scrim-header{background:var(--gy-scrim-header)}.gy-scrim-main{background:var(--gy-scrim-main)}.gy-nav-gradient{background:var(--gy-nav-gradient);border-top:1px solid var(--gy-border-600);border-bottom:1px solid var(--gy-border-000);box-shadow:0 2px 8px #000000b3}@media(prefers-reduced-motion:reduce){.gy-text-metal{transform:none;letter-spacing:1px}}.ui-btn__loading[data-v-10b4c19c]{display:inline-flex;align-items:center;justify-content:center;margin-right:8px}.ui-btn__spinner[data-v-10b4c19c]{width:1em;height:1em;animation:ui-btn-spin-10b4c19c .8s linear infinite}@keyframes ui-btn-spin-10b4c19c{to{transform:rotate(360deg)}}.ui-btn__icon[data-v-10b4c19c]{display:inline-flex;align-items:center;justify-content:center;font-size:1.1em;line-height:1}.ui-btn__icon--left[data-v-10b4c19c]{margin-right:.5em}.ui-btn__icon--right[data-v-10b4c19c]{margin-left:.5em}.ui-btn__content[data-v-10b4c19c]{display:inline-flex;justify-content:center;align-items:center;line-height:1.2;min-width:60px}.ui-btn--icon-only[data-v-10b4c19c]{padding:.6em;aspect-ratio:1;display:inline-flex;align-items:center;justify-content:center}.ui-btn--icon-only.ui-btn--xs[data-v-10b4c19c]{padding:.4em}.ui-btn--icon-only.ui-btn--sm[data-v-10b4c19c]{padding:.5em}.ui-btn--icon-only.ui-btn--lg[data-v-10b4c19c]{padding:.7em}.ui-btn--icon-only.ui-btn--xl[data-v-10b4c19c]{padding:.8em}[data-v-00780e95] .ui-modal__panel{background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid rgb(var(--sys-brand-purple-rgb) / 18%);border-radius:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 25px 50px -12px #0006,0 0 30px rgb(var(--sys-brand-purple-rgb) / 14%),inset 0 1px #ffffff0d;animation:loginSlideUp-00780e95 .4s cubic-bezier(.22,1,.36,1);position:relative;min-height:420px;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}[data-v-00780e95] .ui-modal__panel:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgb(var(--sys-brand-purple-rgb) / 10%) 0%,transparent 70%);animation:pulse-00780e95 6s ease-in-out infinite;pointer-events:none}.login-header[data-v-00780e95]{padding:0 2rem 1rem;text-align:center;border-bottom:1px solid rgb(255 255 255 / 8%);position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.login-desc[data-v-00780e95]{font-size:.8rem;color:var(--sys-text-secondary);margin:0;line-height:1.3;max-width:90%;text-align:center}.login-tabs[data-v-00780e95]{display:flex;gap:.5rem;padding:.75rem 1.25rem 0;flex-wrap:wrap;justify-content:center;position:relative;z-index:1;min-height:50px;align-items:center}.tab-btn[data-v-00780e95]{white-space:nowrap;border-radius:var(--sys-radius-pill);padding:.5rem 1rem;font-size:.85rem;transition:all .3s ease;position:relative;overflow:hidden;min-height:36px;display:flex;align-items:center}.tab-btn[data-v-00780e95]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 10%),transparent);transition:left .5s ease}.tab-btn[data-v-00780e95]:hover:before{left:100%}.form-section[data-v-00780e95]{padding:.75rem 2rem;display:flex;flex-direction:column;gap:1rem;position:relative;z-index:1;flex:1}.form-row[data-v-00780e95]{display:flex;gap:1rem;align-items:center}.code-row[data-v-00780e95]{align-items:center}.form-input[data-v-00780e95]{flex:1;padding:1rem 1.25rem;background:#0000004d;border:1px solid rgb(255 255 255 / 10%);border-radius:var(--sys-radius-md);color:var(--sys-text-primary);font-size:1rem;transition:all .3s ease;position:relative;overflow:hidden}.form-input[data-v-00780e95]:focus{outline:none;border-color:var(--sys-brand-purple);box-shadow:0 0 0 3px rgb(var(--sys-brand-purple-rgb) / 15%);background:#00000059}.form-input[data-v-00780e95]::placeholder{color:var(--sys-text-secondary);opacity:.7}.send-btn[data-v-00780e95]{white-space:nowrap;flex-shrink:0}.tip[data-v-00780e95]{font-size:.85rem;color:var(--sys-text-secondary);text-align:center;margin:0;padding:0 1rem}.wechat-qrcode-section[data-v-00780e95]{padding:.75rem 2rem;position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center}.qrcode-container[data-v-00780e95]{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:300px}.qrcode-placeholder[data-v-00780e95]{width:200px;height:220px;background:#ffffff0d;border:1px solid rgb(255 255 255 / 10%);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;position:relative;overflow:hidden;box-shadow:0 8px 20px #0003}.qrcode-placeholder[data-v-00780e95]:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgb(var(--sys-brand-pink-rgb) / 5%),rgb(var(--sys-brand-purple-rgb) / 5%));pointer-events:none}.qrcode-img[data-v-00780e95]{width:160px;height:160px;object-fit:contain;border-radius:8px;box-shadow:0 4px 12px #0000004d;transition:transform .3s ease}.qrcode-placeholder:hover .qrcode-img[data-v-00780e95]{transform:scale(1.01)}.qrcode-tip[data-v-00780e95]{font-size:.95rem;color:var(--sys-text-secondary);text-align:center;margin:0;position:relative;z-index:1}.scanned-tip[data-v-00780e95]{color:var(--sys-accent-green);font-weight:500;display:flex;align-items:center;gap:.5rem}.scanned-tip[data-v-00780e95]:before{content:"✓";font-size:1rem;font-weight:700}.expired-tip[data-v-00780e95]{color:var(--sys-accent-red);font-weight:500}[data-v-00780e95] .ui-modal__body{flex:1;display:flex;flex-direction:column;overflow:auto;padding-bottom:1rem}.login-content-container[data-v-00780e95]{flex:1;display:flex;flex-direction:column;min-height:260px}.form-section[data-v-00780e95],.wechat-qrcode-section[data-v-00780e95]{flex:1;display:flex;flex-direction:column;min-height:0}.login-footer[data-v-00780e95]{margin-top:auto;padding:1rem 2rem 0;border-top:1px solid rgb(255 255 255 / 8%);display:flex;justify-content:center;align-items:center;gap:1rem;font-size:.8rem;color:var(--sys-text-secondary);position:relative;z-index:1;flex-shrink:0}.login-footer a[data-v-00780e95]{color:var(--sys-text-secondary);text-decoration:none;transition:all .3s ease;position:relative}.login-footer a[data-v-00780e95]:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--sys-brand-purple);transition:width .3s ease}.login-footer a[data-v-00780e95]:hover{color:var(--sys-brand-purple)}.login-footer a[data-v-00780e95]:hover:after{width:100%}@keyframes loginSlideUp-00780e95{0%{transform:translateY(30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes pulse-00780e95{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.1);opacity:.5}}@keyframes glowPulse-00780e95{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.1);opacity:.8}}@media(max-width:480px){[data-v-00780e95] .ui-modal__panel{margin:0 1rem;border-radius:16px;min-height:380px}.login-header[data-v-00780e95]{padding:0 1.5rem 1rem}.login-tabs[data-v-00780e95]{padding:.75rem 1rem 0;gap:.5rem}.tab-btn[data-v-00780e95]{padding:.5rem 1rem;font-size:.85rem}.form-section[data-v-00780e95]{padding:.75rem 1.5rem;gap:1rem}.form-input[data-v-00780e95]{padding:.9rem 1.1rem;font-size:.9rem}.send-btn[data-v-00780e95]{padding:.9rem 1.2rem;font-size:.85rem}.wechat-qrcode-section[data-v-00780e95]{padding:.75rem 1.5rem}.qrcode-placeholder[data-v-00780e95]{width:160px;height:180px}.qrcode-img[data-v-00780e95]{width:140px;height:140px}.login-footer[data-v-00780e95]{padding:1rem 1.5rem 0;gap:1rem}}@media(prefers-reduced-motion:reduce){[data-v-00780e95] .ui-modal__panel{animation:none}[data-v-00780e95] .ui-modal__panel:before{animation:none}.tab-btn[data-v-00780e95]:before{transition:none}.tab-btn[data-v-00780e95]:hover:before{left:-100%}}.ui-toasts[data-v-d4b8b880]{position:fixed;z-index:var(--sys-z-toast);left:50%;top:24px;transform:translate(-50%);display:flex;flex-direction:column;gap:12px;pointer-events:none;width:min(92vw,420px)}.ui-toast[data-v-d4b8b880]{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:12px;border:1px solid;box-shadow:var(--sys-shadow-md);position:relative;overflow:hidden}.ui-toast--success[data-v-d4b8b880]{background:var(--sys-surface-float);border-color:rgb(var(--sys-accent-green-rgb) / 52%);box-shadow:var(--sys-shadow-md),inset 0 1px rgb(var(--sys-accent-green-rgb) / 12%)}.ui-toast--success .ui-toast__icon[data-v-d4b8b880]{color:var(--sys-accent-green)}.ui-toast--success .ui-toast__progress[data-v-d4b8b880]{background:var(--sys-accent-green)}.ui-toast--error[data-v-d4b8b880]{background:var(--sys-surface-float);border-color:rgb(var(--sys-accent-red-rgb) / 52%);box-shadow:var(--sys-shadow-md),inset 0 1px rgb(var(--sys-accent-red-rgb) / 12%)}.ui-toast--error .ui-toast__icon[data-v-d4b8b880]{color:var(--sys-accent-red)}.ui-toast--error .ui-toast__progress[data-v-d4b8b880]{background:var(--sys-accent-red)}.ui-toast--warning[data-v-d4b8b880]{background:var(--sys-surface-float);border-color:rgb(var(--sys-accent-orange-rgb) / 55%);box-shadow:var(--sys-shadow-md),inset 0 1px rgb(var(--sys-accent-orange-rgb) / 12%)}.ui-toast--warning .ui-toast__icon[data-v-d4b8b880]{color:var(--sys-accent-orange)}.ui-toast--warning .ui-toast__progress[data-v-d4b8b880]{background:var(--sys-accent-orange)}.ui-toast--info[data-v-d4b8b880]{background:var(--sys-surface-float);border-color:rgb(var(--sys-brand-purple-rgb) / 55%);box-shadow:var(--sys-shadow-md),inset 0 1px rgb(var(--sys-brand-purple-rgb) / 12%)}.ui-toast--info .ui-toast__icon[data-v-d4b8b880]{color:var(--sys-brand-purple)}.ui-toast--info .ui-toast__progress[data-v-d4b8b880]{background:var(--sys-brand-purple)}.ui-toast__icon[data-v-d4b8b880]{flex:0 0 auto;width:22px;height:22px;margin-top:1px}.ui-toast__icon svg[data-v-d4b8b880]{width:100%;height:100%}.ui-toast__content[data-v-d4b8b880]{flex:1;min-width:0}.ui-toast__msg[data-v-d4b8b880]{color:var(--sys-text-primary);font-size:14px;line-height:1.5;word-break:break-word}.ui-toast__close[data-v-d4b8b880]{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin:-4px -4px -4px 0;padding:0;border:none;border-radius:8px;background:#ffffff0f;color:var(--sys-text-secondary);cursor:pointer;transition:all .2s ease}.ui-toast__close[data-v-d4b8b880]:hover{background:#ffffff1f;color:var(--sys-text-primary)}.ui-toast__close svg[data-v-d4b8b880]{width:14px;height:14px}.ui-toast__progress[data-v-d4b8b880]{position:absolute;bottom:0;left:0;height:3px;width:100%;transform-origin:left;animation:toast-progress-d4b8b880 linear forwards}@keyframes toast-progress-d4b8b880{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast-enter-active[data-v-d4b8b880]{animation:toast-in-d4b8b880 .35s cubic-bezier(.34,1.56,.64,1)}.toast-leave-active[data-v-d4b8b880]{animation:toast-out-d4b8b880 .25s ease-in forwards}@keyframes toast-in-d4b8b880{0%{opacity:0;transform:translateY(-20px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-out-d4b8b880{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-12px) scale(.95)}}.ui-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.ui-btn{border-radius:var(--comp-btn-radius);border:1px solid transparent;padding:var(--comp-btn-padding-y) var(--comp-btn-padding-x);font-size:var(--comp-btn-font-size);font-weight:var(--sys-font-weight-semibold);font-family:inherit;cursor:pointer;box-shadow:none;filter:none!important;transition:box-shadow var(--sys-duration-md) var(--sys-ease-emphasized),background var(--sys-duration-md) var(--sys-ease-emphasized),border-color var(--sys-duration-md) var(--sys-ease-emphasized),opacity var(--sys-duration-md) var(--sys-ease-emphasized);display:inline-flex;align-items:center;justify-content:center;gap:8px;-webkit-user-select:none;user-select:none;white-space:nowrap}.ui-btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important;filter:none!important}.ui-btn--xs{padding:.4em .8em;font-size:.75rem;gap:4px}.ui-btn--sm{padding:.5em 1em;font-size:.875rem;gap:6px}.ui-btn--md{padding:var(--comp-btn-padding-y) var(--comp-btn-padding-x);font-size:var(--comp-btn-font-size)}.ui-btn--lg{padding:.8em 1.6em;font-size:1.125rem;gap:10px}.ui-btn--xl{padding:1em 2em;font-size:1.25rem;gap:12px}.ui-btn--primary{background:var(--comp-btn-primary-bg);color:var(--comp-btn-primary-text);border-color:transparent;box-shadow:var(--comp-btn-primary-shadow)}.ui-btn--primary:hover:not(:disabled){box-shadow:var(--comp-btn-primary-shadow-hover);filter:brightness(1.05)}.ui-btn--secondary{background:var(--comp-btn-secondary-bg);color:var(--comp-btn-secondary-text);border-color:var(--comp-btn-secondary-border);box-shadow:none}.ui-btn--secondary:hover:not(:disabled){border-color:rgb(var(--sys-brand-purple-rgb) / 42%);box-shadow:var(--comp-btn-secondary-shadow-hover);filter:brightness(1.03)}.ui-btn--ghost{background:transparent;color:var(--sys-text-primary);border-color:transparent;box-shadow:none;filter:none}.ui-btn--ghost:hover:not(:disabled){background:rgb(var(--sys-brand-purple-rgb) / 8%);border-color:rgb(var(--sys-brand-purple-rgb) / 22%);box-shadow:none}.ui-btn--danger{background:var(--comp-btn-danger-bg);color:var(--comp-btn-danger-text);border-color:var(--comp-btn-danger-border);box-shadow:none}.ui-btn--danger:hover:not(:disabled){box-shadow:var(--comp-btn-danger-shadow-hover);filter:brightness(1.04)}.ui-btn--success{background:rgb(var(--sys-accent-green-rgb) / 12%);color:var(--sys-accent-green);border-color:rgb(var(--sys-accent-green-rgb) / 32%);box-shadow:none}.ui-btn--success:hover:not(:disabled){background:rgb(var(--sys-accent-green-rgb) / 20%);border-color:rgb(var(--sys-accent-green-rgb) / 50%);box-shadow:0 4px 18px rgb(var(--sys-accent-green-rgb) / 18%);filter:brightness(1.04)}.ui-btn--outline{background:transparent;color:var(--sys-text-primary);border-color:var(--sys-border-color-strong);box-shadow:none}.ui-btn--outline:hover:not(:disabled){background:rgb(var(--sys-brand-purple-rgb) / 8%);border-color:var(--sys-brand-purple);box-shadow:0 2px 12px rgb(var(--sys-brand-purple-rgb) / 12%)}.ui-btn--gradient{background:var(--sys-gradient-primary);color:#fff;border-color:transparent;box-shadow:0 4px 16px rgb(var(--sys-brand-purple-rgb) / 25%);position:relative;overflow:hidden}.ui-btn--gradient:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / 20%),transparent);transition:left .6s ease}.ui-btn--gradient:hover:not(:disabled):before{left:100%}.ui-btn--gradient:hover:not(:disabled){box-shadow:0 8px 24px rgb(var(--sys-brand-purple-rgb) / 35%);filter:brightness(1.08);transform:translateY(-1px)}.ui-btn--link{background:transparent;color:var(--sys-brand-purple);border-color:transparent;box-shadow:none;padding:.4em .6em;text-decoration:underline;text-underline-offset:2px}.ui-btn--link:hover:not(:disabled){color:var(--sys-brand-purple-secondary);background:transparent;text-decoration:underline;box-shadow:none}.ui-btn:focus-visible{outline:none;border-color:var(--comp-field-border-focus)}.ui-btn--primary:focus-visible{box-shadow:var(--comp-btn-primary-shadow),var(--comp-field-shadow-focus)}.ui-btn--secondary:focus-visible,.ui-btn--danger:focus-visible,.ui-btn--ghost:focus-visible,.ui-btn--success:focus-visible,.ui-btn--outline:focus-visible,.ui-btn--gradient:focus-visible{box-shadow:var(--comp-field-shadow-focus)}.ui-btn--link:focus-visible{outline:2px solid var(--sys-brand-purple);outline-offset:2px}.ui-btn.ui-btn:hover:not(:disabled),.ui-btn.ui-btn:active:not(:disabled),.ui-btn.ui-btn:focus-visible{transform:none!important;filter:none!important}.ui-btn--rounded-none{border-radius:0}.ui-btn--rounded-sm{border-radius:4px}.ui-btn--rounded-md{border-radius:var(--comp-btn-radius)}.ui-btn--rounded-lg{border-radius:12px}.ui-btn--rounded-pill{border-radius:999px}.ui-btn--full{width:100%;box-sizing:border-box}.ui-btn--compact{padding:clamp(4px,.8vw,6px) clamp(8px,1.2vw,12px);font-size:clamp(10px,1.2vw,12px);line-height:1.2}.ui-btn--search-inline{flex-shrink:0;padding:clamp(8px,1.5vw,10px) clamp(14px,2.5vw,18px);font-size:clamp(12px,2vw,13px)}.ui-btn.upload-item-delete{flex-shrink:0;padding:.35rem;min-width:0;width:auto;height:auto;line-height:0;gap:0}.ui-btn.upload-item-delete .ui-btn__content{min-width:0}.ui-btn.upload-item-delete svg{width:16px;height:16px;display:block}.ui-btn.upload-item-delete svg,.ui-btn.upload-item-delete svg *{stroke-width:1.5}.ui-btn.upload-item-delete:hover:not(:disabled){color:var(--sys-accent-red)}.ha-chip.ui-btn{padding:clamp(3px,.8vw,4px) clamp(8px,1.5vw,10px);font-size:clamp(10px,1.8vw,11px);font-weight:500;min-height:0;line-height:1.25;background:transparent!important;box-shadow:none!important;filter:none!important;transform:none!important}.ha-chip.ui-btn:hover:not(:disabled){background:rgb(var(--sys-brand-purple-rgb) / 10%)!important;border-color:rgb(var(--sys-brand-purple-rgb) / 32%)!important;box-shadow:var(--comp-btn-secondary-shadow-hover)!important;filter:none!important}.ha-chip.ui-btn--secondary{color:var(--sys-text-secondary);border-color:var(--sys-border-color)!important}.ha-chip--brand.ui-btn--secondary{color:var(--sys-brand-purple);border-color:rgb(var(--sys-brand-purple-rgb) / 32%)!important}.ha-chip--muted.ui-btn--secondary{color:var(--sys-text-secondary)}.ha-chip--pink.ui-btn--secondary{color:var(--sys-brand-pink);border-color:rgb(var(--sys-brand-pink-rgb) / 32%)!important}.ha-chip--green.ui-btn--secondary{color:var(--sys-accent-green);border-color:rgb(var(--sys-accent-green-rgb) / 35%)!important}.ha-chip.ui-btn--danger{background:transparent!important;color:var(--sys-accent-red);border-color:rgb(var(--sys-accent-red-rgb) / 40%)!important}.ha-chip.ui-btn--danger:hover:not(:disabled){background:rgb(var(--sys-accent-red-rgb) / 10%)!important;box-shadow:var(--comp-btn-danger-shadow-hover)!important}.ui-field{width:100%;padding:.9rem 1rem;background:var(--comp-field-bg);color:var(--comp-field-text);border:1px solid var(--comp-field-border);border-radius:var(--comp-field-radius);font-size:var(--sys-font-size-md);font-family:inherit;transition:border-color var(--sys-duration-fast) var(--sys-ease-standard),box-shadow var(--sys-duration-fast) var(--sys-ease-standard)}.ui-select{width:100%;padding:.85rem 1rem;background:var(--comp-field-bg);color:var(--comp-field-text);border:1px solid var(--comp-field-border);border-radius:var(--comp-field-radius);font-size:var(--sys-font-size-md);font-family:inherit;transition:border-color var(--sys-duration-fast) var(--sys-ease-standard),box-shadow var(--sys-duration-fast) var(--sys-ease-standard)}.ui-select:focus{outline:none;border-color:var(--comp-field-border-focus);box-shadow:var(--comp-field-shadow-focus)}.ui-select[disabled]{opacity:.65;cursor:not-allowed}.ui-tag,.ui-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;border:1px solid var(--sys-border-color);background:var(--sys-surface-card);color:var(--sys-text-secondary);padding:4px 10px;font-size:12px;line-height:1;-webkit-user-select:none;user-select:none;white-space:nowrap}.ui-badge{padding:4px 8px;font-weight:var(--sys-font-weight-semibold)}.ui-tag--success,.ui-badge--success{border-color:rgb(var(--sys-accent-green-rgb) / 35%);color:var(--sys-accent-green)}.ui-tag--info,.ui-badge--info{border-color:rgb(var(--sys-brand-purple-rgb) / 35%);color:var(--sys-brand-purple)}.ui-tag--warning,.ui-badge--warning{border-color:rgb(var(--sys-accent-orange-rgb) / 35%);color:var(--sys-accent-orange)}.ui-tag--danger,.ui-badge--danger{border-color:rgb(var(--sys-accent-red-rgb) / 35%);color:var(--sys-accent-red)}.ui-field::placeholder{color:var(--comp-field-placeholder)}.ui-field:focus{outline:none;border-color:var(--comp-field-border-focus);box-shadow:var(--comp-field-shadow-focus)}.ui-field[disabled]{opacity:.65;cursor:not-allowed}.ui-textarea{resize:none;min-height:84px;line-height:1.6}.ui-modal{position:fixed;inset:0;z-index:var(--sys-z-modal);display:flex;align-items:center;justify-content:center;padding:16px}.ui-modal__mask{position:absolute;inset:0;background:var(--sys-surface-mask);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ui-modal__panel{position:relative;width:min(92vw,520px);max-height:min(86vh,720px);background:var(--sys-surface-card);border:1px solid var(--sys-border-color);border-radius:var(--sys-radius-lg);box-shadow:var(--sys-shadow-lg);display:flex;flex-direction:column;margin:clamp(16px,5vw,32px)}@media(max-width:480px){.ui-modal__panel{width:min(96vw,480px);margin:2vw}}.ui-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 14px;border-bottom:1px solid var(--sys-border-color);flex-shrink:0}.ui-modal__title{margin:0;font-size:16px;font-weight:var(--sys-font-weight-bold);color:var(--sys-text-primary)}.ui-modal .ui-modal__close{display:flex;justify-content:center;align-items:center;width:32px;height:32px;padding:0;border-radius:8px;border:1px solid var(--sys-border-color);background:transparent;color:var(--sys-text-secondary);cursor:pointer;transition:transform var(--sys-duration-md) var(--sys-ease-emphasized),border-color var(--sys-duration-md) var(--sys-ease-emphasized),color var(--sys-duration-md) var(--sys-ease-emphasized)}.ui-modal .ui-modal__close:hover{border-color:var(--sys-brand-purple);color:var(--sys-brand-purple)}.ui-modal .ui-modal__close svg{width:16px;height:16px}.ui-modal__body{padding:18px;overflow-y:auto;flex:1;min-height:0}.ui-modal__footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px 18px;border-top:1px solid var(--sys-border-color);flex-shrink:0}.ui-dialog-content{width:100%;min-width:0;box-sizing:border-box}.ui-dialog-footer-actions{width:100%;display:flex;align-items:center;justify-content:flex-end;gap:10px}@media(max-width:600px){.ui-dialog-footer-actions{flex-wrap:wrap}}.ui-loading{position:fixed;inset:0;z-index:calc(var(--sys-z-modal) + 5);display:flex;align-items:center;justify-content:center}.ui-loading__mask{position:absolute;inset:0;background:#000000a6}.ui-loading__panel{position:relative;background:var(--gy-glass-bg);-webkit-backdrop-filter:blur(var(--gy-glass-blur));backdrop-filter:blur(var(--gy-glass-blur));border:1px solid var(--sys-border-color);border-radius:14px;padding:16px 18px;min-width:220px;display:flex;align-items:center;gap:12px;box-shadow:var(--sys-shadow-md)}.ui-spinner{width:18px;height:18px;border-radius:999px;border:2px solid rgb(var(--sys-brand-purple-rgb) / 22%);border-top-color:rgb(var(--sys-brand-purple-rgb) / 88%);animation:ui-spin 1s linear infinite}.ui-loading__text{color:var(--sys-text-primary);font-size:13px}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-mobile-only,.ui-tablet-only{display:none!important}.ui-desktop-only{display:block!important}@media(max-width:768px){.ui-mobile-only{display:block!important}.ui-desktop-only{display:none!important}}@media(not (max-width:768px))and (max-width:1024px){.ui-tablet-only{display:block!important}.ui-desktop-only{display:none!important}}.ui-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:clamp(12px,2vw,24px)}.ui-container{width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(16px,5vw,32px)}.ui-padding{padding:clamp(16px,5vw,32px)}.ui-margin{margin:clamp(16px,5vw,32px)}.ui-heading{font-size:clamp(1.5rem,4vw,2.5rem)}.ui-text{font-size:clamp(14px,1.5vw,16px)}.ui-btn--responsive{padding:clamp(8px,2vw,16px) clamp(16px,4vw,32px);font-size:clamp(14px,1.5vw,16px)}
