.modal-overlay[data-v-6e26fd88]{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.modal-container[data-v-6e26fd88]{animation:slideUp-6e26fd88 .3s ease-out;background:var(--color-card-bg);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:480px;overflow-y:auto;position:relative;width:100%}@keyframes slideUp-6e26fd88{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close[data-v-6e26fd88]{align-items:center;background:transparent;border:none;border-radius:8px;color:var(--color-text-tertiary);cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s;width:36px;z-index:1}.modal-close[data-v-6e26fd88]:hover{background:var(--color-hover-bg);color:var(--color-text-primary)}.login-modal-content[data-v-6e26fd88]{padding:48px 40px 40px}.form-title-section[data-v-6e26fd88]{margin-bottom:32px;text-align:center}.form-title[data-v-6e26fd88]{color:var(--color-text-primary);font-size:24px;font-weight:700;margin:0 0 8px}.form-subtitle[data-v-6e26fd88]{color:var(--color-text-secondary);font-size:14px;margin:0}.tabs-container[data-v-6e26fd88]{background:var(--color-bg-tertiary);border-radius:10px;display:flex;gap:8px;margin-bottom:24px;padding:4px}.tab-btn[data-v-6e26fd88]{background:transparent;border:none;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;flex:1;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s}.tab-btn[data-v-6e26fd88]:hover{color:var(--color-text-primary)}.tab-btn.active[data-v-6e26fd88]{background:var(--color-card-bg);box-shadow:0 2px 4px #0000000d;color:var(--color-primary)}.login-form[data-v-6e26fd88]{gap:20px}.form-group[data-v-6e26fd88],.login-form[data-v-6e26fd88]{display:flex;flex-direction:column}.form-group[data-v-6e26fd88]{gap:8px}.form-label[data-v-6e26fd88]{font-weight:500}.form-label[data-v-6e26fd88],.input[data-v-6e26fd88]{color:var(--color-text-primary);font-size:14px}.input[data-v-6e26fd88]{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;outline:none;padding:12px 16px;transition:all .2s;width:100%}.input[data-v-6e26fd88]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #5e6ad21a}.input[data-v-6e26fd88]::-moz-placeholder{color:var(--color-text-tertiary)}.input[data-v-6e26fd88]::placeholder{color:var(--color-text-tertiary)}.code-input-wrapper[data-v-6e26fd88]{display:flex;gap:8px}.code-input[data-v-6e26fd88]{flex:1}.send-code-btn[data-v-6e26fd88]{background:#5e6ad21a;border:1px solid var(--color-primary);border-radius:8px;color:var(--color-primary);cursor:pointer;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s;white-space:nowrap}.send-code-btn[data-v-6e26fd88]:hover:not(:disabled){background:#5e6ad226}.send-code-btn[data-v-6e26fd88]:disabled{cursor:not-allowed;opacity:.5}.password-input-wrapper[data-v-6e26fd88]{align-items:center;display:flex;position:relative}.password-input-wrapper .input[data-v-6e26fd88]{padding-right:48px}.toggle-password-btn[data-v-6e26fd88]{align-items:center;background:transparent;border:none;border-radius:6px;color:var(--color-text-tertiary);cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:12px;transition:all .2s;width:32px}.toggle-password-btn[data-v-6e26fd88]:hover{background:var(--color-hover-bg);color:var(--color-text-primary)}.tip-text[data-v-6e26fd88]{align-items:center;background:#5e6ad20d;border-radius:8px;color:var(--color-text-secondary);display:flex;font-size:13px;gap:8px;padding:12px 16px}.tip-icon[data-v-6e26fd88]{font-size:16px}.btn-primary[data-v-6e26fd88]{background:linear-gradient(135deg,var(--color-primary),#008ddb);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:14px 24px;transition:all .2s;width:100%}.btn-primary[data-v-6e26fd88]:hover:not(:disabled){box-shadow:0 8px 20px #5e6ad24d;transform:translateY(-2px)}.btn-primary[data-v-6e26fd88]:disabled{cursor:not-allowed;opacity:.6;transform:none}.modal-enter-active[data-v-6e26fd88],.modal-leave-active[data-v-6e26fd88]{transition:opacity .3s ease}.modal-enter-from[data-v-6e26fd88],.modal-leave-to[data-v-6e26fd88]{opacity:0}.modal-enter-active .modal-container[data-v-6e26fd88],.modal-leave-active .modal-container[data-v-6e26fd88]{transition:transform .3s ease}.modal-enter-from .modal-container[data-v-6e26fd88],.modal-leave-to .modal-container[data-v-6e26fd88]{transform:translateY(20px)}@media (max-width:768px){.login-modal-content[data-v-6e26fd88]{padding:40px 24px 32px}.form-title[data-v-6e26fd88]{font-size:20px}.modal-container[data-v-6e26fd88]{margin:0 16px;max-width:100%}}.captcha-modal-overlay[data-v-6e26fd88]{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.captcha-modal-container[data-v-6e26fd88]{background:var(--color-card-bg);border-radius:12px;box-shadow:0 10px 40px #0003;max-width:400px;width:90%}.captcha-modal-header[data-v-6e26fd88]{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:20px 24px}.captcha-modal-title[data-v-6e26fd88]{color:var(--color-text-primary);font-size:18px;font-weight:600;margin:0}.captcha-close-btn[data-v-6e26fd88]{align-items:center;background:transparent;border:none;border-radius:6px;color:var(--color-text-tertiary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.captcha-close-btn[data-v-6e26fd88]:hover{background:var(--color-hover-bg);color:var(--color-text-primary)}.captcha-modal-body[data-v-6e26fd88]{padding:24px}.captcha-hint[data-v-6e26fd88]{color:var(--color-text-secondary);font-size:14px;margin:0 0 16px;text-align:center}.captcha-image-wrapper[data-v-6e26fd88]{margin-bottom:16px;position:relative}.captcha-image[data-v-6e26fd88]{-o-object-fit:contain;object-fit:contain}.captcha-image[data-v-6e26fd88],.captcha-loading[data-v-6e26fd88]{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:8px;height:60px;width:100%}.captcha-loading[data-v-6e26fd88]{align-items:center;color:var(--color-text-tertiary);display:flex;justify-content:center}.captcha-refresh-btn[data-v-6e26fd88]{align-items:center;background:#fffffff2;border:1px solid var(--color-primary);border-radius:6px;bottom:8px;color:var(--color-primary);cursor:pointer;display:flex;font-size:13px;gap:4px;padding:6px 12px;position:absolute;right:8px;transition:all .2s}.captcha-refresh-btn[data-v-6e26fd88]:hover:not(:disabled){background:#5e6ad21a}.captcha-refresh-btn[data-v-6e26fd88]:disabled{cursor:not-allowed;opacity:.5}.captcha-input[data-v-6e26fd88]{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);font-size:16px;letter-spacing:4px;margin-bottom:16px;outline:none;padding:12px 16px;text-align:center;transition:all .2s;width:100%}.captcha-input[data-v-6e26fd88]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #5e6ad21a}.captcha-confirm-btn[data-v-6e26fd88]{background:linear-gradient(135deg,var(--color-primary),#008ddb);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s;width:100%}.captcha-confirm-btn[data-v-6e26fd88]:hover:not(:disabled){box-shadow:0 4px 12px #5e6ad24d;transform:translateY(-1px)}.captcha-confirm-btn[data-v-6e26fd88]:disabled{cursor:not-allowed;opacity:.6;transform:none}.captcha-modal-enter-active[data-v-6e26fd88],.captcha-modal-leave-active[data-v-6e26fd88]{transition:opacity .2s ease}.captcha-modal-enter-from[data-v-6e26fd88],.captcha-modal-leave-to[data-v-6e26fd88]{opacity:0}.captcha-modal-enter-active .captcha-modal-container[data-v-6e26fd88],.captcha-modal-leave-active .captcha-modal-container[data-v-6e26fd88]{transition:transform .2s ease}.captcha-modal-enter-from .captcha-modal-container[data-v-6e26fd88],.captcha-modal-leave-to .captcha-modal-container[data-v-6e26fd88]{transform:scale(.95)}
