.oauth-provider-list[data-v-9ee400d6]{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.qq-login-button[data-v-9ee400d6]{display:flex;min-height:3rem;align-items:center;justify-content:center;gap:.625rem;padding:.625rem .875rem .625rem 1rem;border:1px solid rgba(18,183,245,.65);border-radius:9999px;background:linear-gradient(135deg,#12b7f533,#12b7f514);color:var(--text-primary);cursor:pointer;box-shadow:0 8px 24px #12b7f51f;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.qq-login-button[data-v-9ee400d6]:hover{transform:translateY(-2px);border-color:#12b7f5;background:linear-gradient(135deg,#12b7f54d,#12b7f524);box-shadow:0 10px 28px #12b7f538}.qq-login-button[data-v-9ee400d6]:focus-visible{outline:3px solid rgba(18,183,245,.4);outline-offset:3px}.qq-icon[data-v-9ee400d6]{width:1.5rem;height:1.5rem;flex:0 0 auto}.qq-login-label[data-v-9ee400d6]{font-size:.875rem;font-weight:700;white-space:nowrap}.recommended-badge[data-v-9ee400d6]{padding:.15rem .4rem;border-radius:9999px;background:#12b7f5;color:#fff;font-size:.625rem;font-weight:800;line-height:1.2;letter-spacing:.04em}@media(max-width:360px){.oauth-provider-list[data-v-9ee400d6]{gap:.75rem}.qq-login-button[data-v-9ee400d6]{width:100%}}.login-form[data-v-70b98b14]{width:100%;max-width:420px;animation:fadeInUp-70b98b14 .4s ease both}@keyframes fadeInUp-70b98b14{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-header[data-v-70b98b14]{text-align:center;margin-bottom:16px}.form-header h2[data-v-70b98b14]{font-size:22px;font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 4px}.form-header p[data-v-70b98b14]{font-size:13px;color:var(--text-tertiary);margin:0}.auth-form[data-v-70b98b14]{gap:10px}.auth-form[data-v-70b98b14],.form-group[data-v-70b98b14]{display:flex;flex-direction:column}.form-group[data-v-70b98b14]{gap:4px}.form-group label[data-v-70b98b14]{font-size:12px;font-weight:var(--font-medium);color:var(--text-secondary)}.input-wrapper[data-v-70b98b14]{position:relative;display:flex;align-items:center}.input-wrapper[data-v-70b98b14]:after{content:"";position:absolute;left:12px;right:12px;bottom:8px;height:2px;background:var(--primary);border-radius:2px;opacity:0;transform:scaleX(.2);transition:transform var(--transition-normal),opacity var(--transition-normal)}.input-wrapper[data-v-70b98b14]:focus-within:after{opacity:.35;transform:scaleX(1)}.input-icon[data-v-70b98b14]{position:absolute;left:16px;width:20px;height:20px;color:var(--text-quaternary);z-index:1}.input-wrapper input[data-v-70b98b14]{width:100%;padding:10px 12px 10px 40px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-lg);color:var(--input-text);font-size:16px;transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.input-wrapper input[data-v-70b98b14]::-moz-placeholder{color:var(--input-placeholder)}.input-wrapper input[data-v-70b98b14]::placeholder{color:var(--input-placeholder)}.input-wrapper input[data-v-70b98b14]:focus{outline:none;border-color:var(--input-border-focus);box-shadow:var(--input-shadow-focus)}.input-wrapper input:not(:-moz-placeholder)+.input-icon[data-v-70b98b14]{color:var(--primary)}.input-wrapper input:focus+.input-icon[data-v-70b98b14],.input-wrapper input:not(:placeholder-shown)+.input-icon[data-v-70b98b14]{color:var(--primary)}.input-wrapper input[data-v-70b98b14]:hover{filter:brightness(1.03)}.class-row[data-v-70b98b14]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.class-select[data-v-70b98b14]{min-width:0}.input-wrapper input.input-error[data-v-70b98b14]{border-color:var(--error);box-shadow:0 0 0 3px var(--error-light)}.password-toggle[data-v-70b98b14]{position:absolute;right:16px;width:20px;height:20px;background:none;border:none;color:var(--text-quaternary);cursor:pointer;transition:color .2s ease,transform var(--transition-fast);z-index:1}.password-toggle[data-v-70b98b14]:hover{color:var(--text-primary)}.password-toggle[data-v-70b98b14]:active{transform:scale(.95)}.password-toggle svg[data-v-70b98b14]{width:100%;height:100%}.error-container[data-v-70b98b14]{display:flex;align-items:center;gap:12px;padding:16px;background:var(--error-light);border:1px solid var(--error-border);border-radius:var(--radius-lg);color:var(--error)}.auth-form.has-error[data-v-70b98b14]{animation:shake-70b98b14 .4s ease}@keyframes shake-70b98b14{0%{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(6px)}45%{transform:translate(-4px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}90%{transform:translate(2px)}to{transform:translate(0)}}.error-icon[data-v-70b98b14]{width:20px;height:20px;flex-shrink:0}.error-message[data-v-70b98b14]{font-size:14px;font-weight:var(--font-medium)}.submit-btn[data-v-70b98b14]{width:100%;padding:10px;background:var(--btn-primary-bg);color:var(--btn-primary-text);border:1px solid var(--btn-primary-border);border-radius:var(--radius-lg);font-size:14px;font-weight:var(--font-semibold);cursor:pointer;transition:background var(--transition-normal),box-shadow var(--transition-normal),transform var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden}.submit-btn[data-v-70b98b14]:before{content:none}.submit-btn[data-v-70b98b14]:hover:not(:disabled){background:var(--btn-primary-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.submit-btn[data-v-70b98b14]:disabled{opacity:.6;cursor:not-allowed;transform:none}.submit-btn[data-v-70b98b14]:active:not(:disabled){transform:translateY(0)}.loading-spinner[data-v-70b98b14]{width:20px;height:20px}.form-footer[data-v-70b98b14]{margin-top:24px;text-align:center}.help-text[data-v-70b98b14]{font-size:12px;color:var(--text-quaternary);margin:0;line-height:1.5}.register-link[data-v-70b98b14]{font-size:13px;color:var(--text-tertiary);margin:8px 0 0}.register-link a[data-v-70b98b14]{color:var(--accent-primary,#3b82f6);text-decoration:none;font-weight:600}.register-link a[data-v-70b98b14]:hover{text-decoration:underline}.footer-links[data-v-70b98b14]{margin-top:6px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px}.footer-links a[data-v-70b98b14]{color:var(--accent-primary,#3b82f6);text-decoration:none;font-weight:600}.footer-links a[data-v-70b98b14]:hover{text-decoration:underline}.link-sep[data-v-70b98b14]{color:var(--text-quaternary)}.help-text code[data-v-70b98b14]{background:var(--input-bg);padding:2px 6px;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:var(--primary);font-size:11px}.divider[data-v-70b98b14]{display:flex;align-items:center;text-align:center;margin:10px 0;color:var(--text-quaternary);font-size:12px}.divider[data-v-70b98b14]:after,.divider[data-v-70b98b14]:before{content:"";flex:1;border-bottom:1px solid var(--input-border)}.divider span[data-v-70b98b14]{padding:0 10px}@media(max-width:480px){.form-header h2[data-v-70b98b14]{font-size:24px}.form-header p[data-v-70b98b14]{font-size:14px}.input-wrapper input[data-v-70b98b14]{padding:14px 14px 14px 44px;font-size:16px}.submit-btn[data-v-70b98b14]{padding:14px;font-size:16px}.mode-selector[data-v-70b98b14]{gap:8px}.mode-btn[data-v-70b98b14]{padding:10px 12px;font-size:13px}.mode-btn svg[data-v-70b98b14]{width:16px;height:16px}.class-row[data-v-70b98b14]{grid-template-columns:1fr}}.mode-selector[data-v-70b98b14]{display:flex;gap:12px;margin-bottom:24px}.mode-btn[data-v-70b98b14]{flex:1;padding:12px 16px;background:var(--surface-secondary);color:var(--text-secondary);border:2px solid var(--input-border);border-radius:var(--radius-lg);font-size:14px;font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.mode-btn svg[data-v-70b98b14]{width:18px;height:18px;transition:all .2s ease}.mode-btn[data-v-70b98b14]:hover:not(.active){background:var(--surface-tertiary);border-color:var(--input-border-focus);color:var(--text-primary)}.mode-btn.active[data-v-70b98b14]{background:var(--primary);color:#fff;border-color:var(--primary)}.mode-btn.active svg[data-v-70b98b14]{color:#fff}.hint-text[data-v-70b98b14]{font-size:12px;color:var(--text-quaternary);margin:-4px 0 0;line-height:1.4}.auth-layout[data-v-530f7c1e]{min-height:100vh;display:flex;background:var(--bg-primary)}.brand-panel[data-v-530f7c1e]{display:none;width:50%;min-height:100vh;position:relative;overflow:hidden;background:linear-gradient(135deg,#0f0f23,#1a1a3e 40%,#0d0d2b);padding:60px 48px;flex-direction:column;justify-content:center}.deco-circle[data-v-530f7c1e]{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;opacity:.4}.deco-1[data-v-530f7c1e]{width:400px;height:400px;background:radial-gradient(circle,rgba(99,102,241,.4),transparent 70%);top:-100px;right:-80px}.deco-2[data-v-530f7c1e]{width:300px;height:300px;background:radial-gradient(circle,rgba(168,85,247,.3),transparent 70%);bottom:-60px;left:-40px}.deco-3[data-v-530f7c1e]{width:200px;height:200px;background:radial-gradient(circle,rgba(59,130,246,.25),transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%)}.brand-inner[data-v-530f7c1e]{position:relative;z-index:1;max-width:480px}.brand-logos[data-v-530f7c1e]{display:flex;align-items:center;gap:20px;margin-bottom:32px}.brand-logo[data-v-530f7c1e]{width:72px;height:72px;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(99,102,241,.3))}.logo-divider[data-v-530f7c1e]{width:1px;height:56px;background:#ffffff26}.school-logo[data-v-530f7c1e]{width:100px;height:100px;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}.brand-title[data-v-530f7c1e]{font-size:32px;font-weight:800;color:#fff;margin:0 0 8px;letter-spacing:-.5px}.brand-subtitle[data-v-530f7c1e]{font-size:16px;color:#ffffff80;margin:0 0 48px;font-weight:500}.brand-features[data-v-530f7c1e]{display:flex;flex-direction:column;gap:16px}.feature-card[data-v-530f7c1e]{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#ffffff0d;border:1px solid hsla(0,0%,100%,.08);border-radius:14px;backdrop-filter:blur(10px);transition:all .3s ease}.feature-card[data-v-530f7c1e]:hover{background:#ffffff14;border-color:#ffffff26;transform:translate(4px)}.feature-icon[data-v-530f7c1e]{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#6366f126;border-radius:12px;color:#818cf8;flex-shrink:0}.feature-card h3[data-v-530f7c1e]{font-size:15px;font-weight:700;color:#fff;margin:0 0 2px}.feature-card p[data-v-530f7c1e]{font-size:13px;color:#ffffff73;margin:0;line-height:1.4}.form-panel[data-v-530f7c1e]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:32px 24px;position:relative}.form-container[data-v-530f7c1e]{width:100%;max-width:420px}.back-home[data-v-530f7c1e]{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary,#8b8fa3);text-decoration:none;font-size:14px;font-weight:500;margin-bottom:20px;padding:6px 0;transition:color .2s ease}.back-home[data-v-530f7c1e]:hover{color:var(--text-primary,#1a1a2e)}.back-home svg[data-v-530f7c1e]{transition:transform .2s ease}.back-home:hover svg[data-v-530f7c1e]{transform:translate(-3px)}.form-footer[data-v-530f7c1e]{position:absolute;bottom:0;left:0;right:0}.mobile-header[data-v-530f7c1e]{text-align:center;margin-bottom:20px}.mobile-logo-row[data-v-530f7c1e]{display:flex;align-items:center;justify-content:center;gap:clamp(12px,2vw,24px);margin-bottom:12px}.mobile-brand-logo[data-v-530f7c1e]{width:clamp(48px,8vw,80px);height:clamp(48px,8vw,80px);-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.15))}.mobile-logo-divider[data-v-530f7c1e]{width:1px;height:clamp(32px,8vw,64px);background:var(--border-secondary)}.mobile-school-logo[data-v-530f7c1e]{width:clamp(80px,14vw,120px);height:clamp(80px,14vw,120px);-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.15))}.mobile-title[data-v-530f7c1e]{font-size:22px;font-weight:700;color:var(--text-primary);margin:0}.mobile-divider[data-v-530f7c1e]{height:1px;background:var(--border-secondary);margin:14px auto 0;width:100%}@media(min-width:1024px){.brand-panel[data-v-530f7c1e]{display:flex}.form-panel[data-v-530f7c1e]{width:50%;padding:48px 60px}.mobile-header[data-v-530f7c1e]{display:none}.form-container[data-v-530f7c1e]{max-width:400px}}@media(min-width:1440px){.brand-panel[data-v-530f7c1e]{width:55%;padding:80px 72px}.form-panel[data-v-530f7c1e]{width:45%;padding:60px 80px}.brand-title[data-v-530f7c1e]{font-size:38px}.brand-inner[data-v-530f7c1e]{max-width:520px}}@media(max-width:1023px){.auth-layout[data-v-530f7c1e]{flex-direction:column;align-items:center;justify-content:center;padding:20px}.form-panel[data-v-530f7c1e]{width:100%;max-width:480px;min-height:auto;padding:0}.form-container[data-v-530f7c1e]{width:100%;background:var(--bg-secondary);border-radius:var(--radius-2xl);border:1px solid var(--border-primary);box-shadow:var(--shadow-lg);padding:28px;overflow:hidden}.form-footer[data-v-530f7c1e]{position:relative;margin-top:16px}}@media(max-width:480px){.auth-layout[data-v-530f7c1e]{padding:12px}.form-container[data-v-530f7c1e]{border-radius:16px;padding:24px 20px}.mobile-title[data-v-530f7c1e]{font-size:18px}}
