/* 注册页面容器 */
.register-container {
  min-height: 100vh;
  min-height: 100dvh; /* 动态视口高度，避免移动端地址栏影响 */
  height: 100vh;
  height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  /* 确保容器稳定定位 */
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  /* 重置文本对齐 */
  text-align: initial;
}

/* 小红书风格背景 */
.register-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #f8f8f8;
  z-index: -1;
}

/* 注册内容区域 */
.register-content {
  width: 100%;
  max-width: 500px; /* 增加桌面端最大宽度 */
  padding: 0;
  z-index: 1;
  /* 确保内容稳定定位 */
  box-sizing: border-box;
  position: relative;
  display: flex;
  justify-content: center;
}

/* 小红书风格注册卡片 */
.register-card {
  background: #fff;
  border-radius: 8px;
  padding: 40px; /* 增加桌面端内边距 */
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
  border: 1px solid #e1e1e1;
  width: 100%;
  max-width: 450px; /* 增加桌面端卡片最大宽度 */
  transition: none;
}

/* 注册头部 */
.register-header {
  text-align: center;
  margin-bottom: 40px;
}

/* Logo样式 */
.logo-section {
  margin-bottom: 24px;
}

.logo-icon {
  width: 60px;
  height: 60px;
  background: #ff2442;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  margin: 0 auto 16px;
  box-shadow: 0 4px 12px rgba(255, 36, 66, 0.2);
}

.register-title {
  font-size: 24px;
  font-weight: 600;
  color: #333;
  margin: 0 0 12px 0;
  text-align: center;
}

.register-title::after {
  display: none;
}

.register-subtitle {
  font-size: 14px;
  color: #999;
  margin: 0 0 32px 0;
  font-weight: 400;
  text-align: center;
}

/* 表单样式 */
.register-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 2px;
  position: relative; /* 为绝对定位的错误提示提供参考点 */
}

.form-group .input-wrapper {
  width: 100%;
  box-sizing: border-box;
}

.form-label {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  margin-bottom: 8px;
}

.input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}

.form-input {
  width: 100% !important;
  height: 44px;
  padding: 12px 16px 12px 48px;
  border: 1px solid #e1e1e1;
  border-radius: 6px;
  font-size: 14px;
  transition: border-color 0.2s ease;
  background: #fff;
  color: #333;
  box-sizing: border-box !important;
  flex: 1;
  min-width: 0;
}

/* 针对 Antd Input 组件的特定样式 */
.form-input.ant-input,
.form-input.ant-input-affix-wrapper {
  width: 100% !important;
  height: 44px !important;
  border: 1px solid #e1e1e1 !important;
  border-radius: 6px !important;
  padding: 12px 48px 12px 48px !important;
  font-size: 14px !important;
  background: #fff !important;
  color: #333 !important;
  box-sizing: border-box !important;
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.form-input.ant-input-affix-wrapper .ant-input {
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  flex: 1 !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.form-input:focus {
  outline: none;
  border-color: #ff2442;
  box-shadow: none;
  transform: none;
}

/* Antd Input focus 样式 */
.form-input.ant-input:focus,
.form-input.ant-input-affix-wrapper:focus,
.form-input.ant-input-affix-wrapper-focused {
  outline: none !important;
  border-color: #ff2442 !important;
  box-shadow: none !important;
  transform: none !important;
}

.form-input::placeholder {
  color: #9ca3af;
}

.input-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #9ca3af;
  pointer-events: none;
  transition: color 0.3s ease;
  z-index: 2;
}

.form-input:focus + .input-icon {
  color: #ff2442;
}

.password-toggle {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #9ca3af;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  width: 24px;
  height: 24px;
}

.password-toggle:hover {
  color: #ff2442;
  background-color: rgba(255, 36, 66, 0.1);
}

/* 邮箱验证码输入框容器 */
.email-code-wrapper {
  display: flex;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
  align-items: flex-start;
}

.email-code-input {
  flex: 1;
  min-width: 0;
}

.send-code-button {
  height: 44px !important;
  padding: 0 16px !important;
  background: #ff2442 !important;
  border-color: #ff2442 !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  min-width: 100px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.send-code-button:hover:not(:disabled) {
  background: #d91e3a !important;
  border-color: #d91e3a !important;
  transform: none !important;
  box-shadow: none !important;
}

.send-code-button:disabled {
  background: #f5f5f5 !important;
  border-color: #d9d9d9 !important;
  color: #bfbfbf !important;
  cursor: not-allowed !important;
}

.send-code-button.ant-btn-loading {
  background: #ff2442 !important;
  border-color: #ff2442 !important;
  color: white !important;
}

/* 小红书风格注册按钮 */
.register-button {
  width: 100%;
  height: 48px; /* 固定高度，防止布局变化 */
  padding: 12px;
  background: #ff2442;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
  position: relative; /* 为绝对定位的加载状态做准备 */
  box-sizing: border-box; /* 确保padding包含在总尺寸内 */
  min-width: 0; /* 防止flex子元素造成宽度变化 */
}

.register-button:hover:not(:disabled) {
  background: #d91e3a;
  transform: none;
  box-shadow: none;
}

.register-button:active:not(:disabled) {
  transform: none;
}

.register-button:disabled {
  background: #ccc;
  cursor: not-allowed;
  opacity: 0.8;
}

.register-button.loading {
  background: #ff7b8a;
  cursor: not-allowed;
}

.loading-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* 加载遮罩层 */
.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  backdrop-filter: blur(4px);
}

.loading-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  background: white;
  padding: 32px;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.loading-spinner-large {
  width: 40px;
  height: 40px;
  border: 4px solid rgba(255, 36, 66, 0.2);
  border-radius: 50%;
  border-top-color: #ff2442;
  animation: spin 1s ease-in-out infinite;
}

.loading-text {
  margin: 0;
  color: #333;
  font-size: 16px;
  font-weight: 500;
}

/* 分隔线 */
.register-divider {
  position: relative;
  text-align: center;
  margin: 32px 0;
  color: #9ca3af;
  font-size: 14px;
}

.register-divider::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, #e5e7eb, transparent);
}

.register-divider span {
  background: rgba(255, 255, 255, 0.95);
  padding: 0 16px;
  position: relative;
  z-index: 1;
}

/* 社交登录 */
.social-login {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.social-button {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #e1e1e1;
  border-radius: 6px;
  background: white;
  color: #333;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  transition: border-color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.social-button:hover {
  border-color: #ccc;
}

.social-button.google:hover {
  border-color: #4285f4;
  box-shadow: 0 4px 12px rgba(66, 133, 244, 0.2);
}

.social-button.github:hover {
  border-color: #333;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.social-button.xiaohongshu:hover {
  border-color: #ff2442;
  box-shadow: 0 4px 12px rgba(255, 36, 66, 0.2);
}

/* 登录链接 */
.login-link {
  text-align: center;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e5e7eb;
}

.login-link p {
  margin: 0;
  font-size: 14px;
  color: #64748b;
}

.login-link a {
  color: #ff2442;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}

.login-link a:hover {
  color: #d91e3a;
  text-decoration: underline;
}

/* 有左侧图标时的内边距调整 */
.input-wrapper.has-icon .form-input {
  padding-left: 48px !important;
}

.input-wrapper.has-icon .form-input.ant-input,
.input-wrapper.has-icon .form-input.ant-input-affix-wrapper {
  padding-left: 48px !important;
}

/* 有右侧切换按钮时的内边距调整 */
.input-wrapper.has-toggle .form-input {
  padding-right: 48px !important;
}

.input-wrapper.has-toggle .form-input.ant-input,
.input-wrapper.has-toggle .form-input.ant-input-affix-wrapper {
  padding-right: 48px !important;
}

/* 没有图标时的内边距调整 */
.input-wrapper:not(.has-icon) .form-input {
  padding-left: 16px !important;
}

.input-wrapper:not(.has-icon) .form-input.ant-input,
.input-wrapper:not(.has-icon) .form-input.ant-input-affix-wrapper {
  padding-left: 16px !important;
}

/* 没有切换按钮时的内边距调整 */
.input-wrapper:not(.has-toggle) .form-input {
  padding-right: 16px !important;
}

.input-wrapper:not(.has-toggle) .form-input.ant-input,
.input-wrapper:not(.has-toggle) .form-input.ant-input-affix-wrapper {
  padding-right: 16px !important;
}

/* 确保输入框内容完全填充 */
.form-input.ant-input-affix-wrapper .ant-input-suffix {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.form-input.ant-input-affix-wrapper .ant-input-prefix {
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 确保所有输入框完全填充其容器 */
.form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
}

.form-group .input-wrapper {
  width: 100%;
  box-sizing: border-box;
}

/* 防止输入框溢出容器 */
.form-input,
.form-input.ant-input,
.form-input.ant-input-affix-wrapper {
  max-width: 100% !important;
  overflow: hidden !important;
}

/* 确保内部输入元素不会超出边界 */
.form-input.ant-input-affix-wrapper .ant-input {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* 精细间距控制 */
.register-header + .register-form {
  margin-top: -4px;
}

.register-form .form-group:not(:last-child) {
  margin-bottom: 2px;
}

.register-form .form-group:last-of-type {
  margin-bottom: 6px;
}

.register-button + .login-link {
  margin-top: 14px;
}

/* 响应式设计 */
@media (max-width: 768px) {
  /* 重置body和html确保一致性 */
  html, body {
    height: 100%;
    height: 100dvh;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    box-sizing: border-box;
  }
  
  .register-container {
    padding: 16px;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    min-height: 100dvh; /* 动态视口高度 */
    /* 强制重置可能影响定位的样式 */
    margin: 0;
    box-sizing: border-box;
    /* 防止内容溢出影响布局 */
    overflow-x: hidden;
    overflow-y: auto;
    /* 确保flexbox在所有移动设备上表现一致 */
    -webkit-box-align: center;
    -webkit-box-pack: center;
    display: flex !important;
    position: relative;
  }
  
  .register-content {
    max-width: 100%;
    padding: 20px;
    /* 确保内容区域稳定 */
    margin: 0 auto;
    box-sizing: border-box;
    /* 防止宽度计算问题 */
    width: calc(100% - 40px);
    max-width: 480px; /* 增加最大宽度 */
    position: relative;
    display: flex;
    justify-content: center;
  }
  
  .register-card {
    padding: 32px 28px; /* 增加内边距 */
    border-radius: 16px;
    /* 确保卡片稳定定位 */
    margin: 0;
    box-sizing: border-box;
    width: 100%;
    max-width: 450px; /* 增加卡片最大宽度 */
    /* 防止backdrop-filter导致的渲染差异 */
    will-change: auto;
    position: relative;
    /* 防止触摸操作影响布局 */
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
  }
  
  .register-title {
    font-size: 24px;
  }
  
  .form-input {
    width: 100% !important;
    height: 44px !important;
    padding: 12px 48px 12px 48px;
    font-size: 16px; /* 防止iOS Safari缩放 */
    box-sizing: border-box !important;
    flex: 1 !important;
    min-width: 0 !important;
  }
  
  .form-input.ant-input,
  .form-input.ant-input-affix-wrapper {
    width: 100% !important;
    height: 44px !important;
    padding: 12px 48px 12px 48px !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
    flex: 1 !important;
    min-width: 0 !important;
  }
  
  .form-input.ant-input-affix-wrapper .ant-input {
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    flex: 1 !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  
  .social-login {
    gap: 10px;
  }
  
  .social-button {
    padding: 12px 16px;
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .register-container {
    padding: 16px;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    min-height: 100dvh; /* 动态视口高度 */
    /* 强制重置样式 */
    margin: 0;
    box-sizing: border-box;
    position: relative;
    /* 确保垂直居中 */
    display: flex !important;
  }
  
  .register-content {
    /* 更严格的尺寸控制 */
    width: calc(100vw - 32px);
    max-width: 420px; /* 增加最大宽度 */
    padding: 16px;
    margin: 0 auto;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
  }
  
  .register-card {
    padding: 28px 24px; /* 增加内边距 */
    border-radius: 12px;
    /* 确保卡片完全稳定 */
    margin: 0;
    box-sizing: border-box;
    width: 100%;
    position: relative;
    /* 防止变换导致的位置偏移 */
    transform: none !important;
    /* 防止触摸操作影响布局 */
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    /* 防止点击时的高亮效果影响布局 */
    -webkit-tap-highlight-color: transparent;
  }
  
  .register-title {
    font-size: 22px;
  }
  
  .form-input {
    width: 100% !important;
    height: 44px !important;
    padding: 12px 48px 12px 48px;
    font-size: 16px; /* 防止iOS Safari缩放 */
    box-sizing: border-box !important;
    flex: 1 !important;
    min-width: 0 !important;
  }
  
  .form-input.ant-input,
  .form-input.ant-input-affix-wrapper {
    width: 100% !important;
    height: 44px !important;
    padding: 12px 48px 12px 48px !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
    flex: 1 !important;
    min-width: 0 !important;
  }
  
  .form-input.ant-input-affix-wrapper .ant-input {
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    flex: 1 !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  
  .social-login {
    gap: 10px;
  }
  
  .social-button {
    padding: 12px 16px;
    font-size: 14px;
  }
  
  /* 移动端优化 */
  .background-pattern {
    display: none;
  }
  
  /* 禁用可能影响位置的悬停效果 */
  .register-card:hover {
    transform: none !important;
  }
}

/* 高对比度模式支持 */
@media (prefers-contrast: high) {
  .register-card {
    background: white;
    border: 2px solid #000;
  }
  
  .form-input {
    border-color: #000;
  }
  
  .form-input:focus {
    border-color: #0066cc;
    box-shadow: 0 0 0 2px #0066cc;
  }
}

/* 减少动画模式 */
@media (prefers-reduced-motion: reduce) {
  .background-pattern {
    animation: none;
  }
  
  .register-card,
  .form-input,
  .register-button,
  .social-button {
    transition: none;
  }
}

/* 深色模式支持 */
@media (prefers-color-scheme: dark) {
  .register-background {
    background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%);
  }
  
  .register-card {
    background: rgba(26, 32, 44, 0.95);
    border-color: rgba(255, 255, 255, 0.1);
  }
  
  .register-title {
    color: #f7fafc;
  }
  
  .register-subtitle {
    color: #a0aec0;
  }
  
  .form-label {
    color: #e2e8f0;
  }
  
  .form-input {
    background: #2d3748;
    border-color: #4a5568;
    color: #f7fafc;
  }
  
  .form-input:focus {
    border-color: #ff2442;
  }
  
  .social-button {
    background: #2d3748;
    border-color: #4a5568;
    color: #f7fafc;
  }
  
  .login-link {
    border-color: #4a5568;
  }
  
  .login-link p {
    color: #a0aec0;
  }
  
  /* 深色模式下的错误提示样式 */
  .error-message {
    background: rgba(26, 32, 44, 0.95);
    color: #ff6b6b;
  }
}

/* 错误提示样式 - 使用绝对定位避免影响布局 */
.error-message {
  position: absolute;
  top: 95%;
  left: 4px;
  right: 4px;
  font-size: 12px;
  color: #ff4d4f;
  margin-top: 4px;
  display: flex;
  align-items: center;
  min-height: 16px;
  animation: fadeInDown 0.3s ease-out;
  font-weight: 400;
  line-height: 1.2;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(4px);
  padding: 2px 4px;
  border-radius: 4px;
  z-index: 10;
  pointer-events: none; /* 避免干扰用户交互 */
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 输入框错误状态样式 */
.form-input.input-error,
.form-input.input-error.ant-input,
.form-input.input-error.ant-input-affix-wrapper {
  border-color: #ff4d4f !important;
  box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.1) !important;
  transition: all 0.3s ease !important;
}

.form-input.input-error:focus,
.form-input.input-error.ant-input:focus,
.form-input.input-error.ant-input-affix-wrapper:focus,
.form-input.input-error.ant-input-affix-wrapper-focused {
  border-color: #ff4d4f !important;
  box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2) !important;
}

/* 错误状态下的图标颜色 */
.form-input.input-error .anticon {
  color: #ff4d4f !important;
}

/* 确保表单组间距一致 */
.form-group {
  margin-bottom: 0px;
}

.form-group:last-of-type {
  margin-bottom: 0px;
}

/* 错误弹窗样式 */
.error-modal .ant-modal-header {
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
  padding: 16px 24px;
}

.error-modal .ant-modal-title {
  color: #333;
  font-weight: 600;
  font-size: 16px;
}

.error-modal .ant-modal-body {
  padding: 16px 24px 24px;
}

.error-modal .ant-modal-footer {
  padding: 12px 24px 24px;
  border-top: none;
  text-align: center;
}

.error-modal .ant-btn-primary {
  background: #ff2442;
  border-color: #ff2442;
  font-weight: 500;
  height: 40px;
  padding: 0 24px;
  border-radius: 6px;
  transition: all 0.2s ease;
}

.error-modal .ant-btn-primary:hover {
  background: #d91e3a;
  border-color: #d91e3a;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 36, 66, 0.3);
}

.error-modal .ant-modal-content {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

/* 错误弹窗遮罩层 */
.error-modal .ant-modal-mask {
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
}

/* 错误弹窗动画 */
.error-modal .ant-modal {
  animation: errorModalSlideIn 0.3s ease-out;
}

@keyframes errorModalSlideIn {
  from {
    opacity: 0;
    transform: translateY(-20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
