/* pages/edit/edit.wxss */
page {
  background: linear-gradient(135deg, #fffaf0 0%, #f0f8ff 100%);
  min-height: 100vh;
}

.xiugai-page {
  padding: 30rpx 40rpx 100rpx;
}

/* 头像区域样式 */
.avatar-section {
  position: relative;
  display: flex;
  justify-content: center;
  margin-bottom: 60rpx;
  padding-top: 30rpx;
}

.avatar-container {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 头像包装器 */
.avatar-image-wrapper {
  position: relative;
  width: 200rpx;
  height: 200rpx;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 头像图片 */
.avatar-image {
  width: 200rpx;
  height: 200rpx;
  border-radius: 50%;
  border: 6rpx solid #fff;
  background-color: #f8f9fa;
  z-index: 2;
  position: relative;
  animation: gentleBreath 4s ease-in-out infinite;
  box-shadow: 
      0 0 0 1rpx rgba(0, 200, 83, 0.3),
      0 15rpx 40rpx rgba(0, 200, 83, 0.15);
  box-sizing: border-box;
}

/* 光晕 */
.avatar-halo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 228rpx;
  height: 228rpx;
  border-radius: 50%;
  background: transparent;
  border: 3rpx solid transparent;
  animation: gentleGlow 2s ease-in-out infinite, colorShift 3s ease-in-out infinite;
  opacity: 0;
  z-index: 1;
  pointer-events: none;
}

/* 像素点环绕 */
.avatar-image-wrapper::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 230rpx;
  height: 230rpx;
  border-radius: 50%;
  background: 
      radial-gradient(circle at 30% 30%, rgba(0, 200, 83, 0.1) 0%, transparent 50%),
      radial-gradient(circle at 70% 70%, rgba(100, 221, 23, 0.1) 0%, transparent 50%);
  animation: pixelOrbit 4s linear infinite;
  z-index: 0;
  pointer-events: none;
}

/* 温和的呼吸动画 */
@keyframes gentleBreath {
  0%, 100% {
      transform: scale(1);
      box-shadow: 
          0 0 0 2rpx rgba(0, 200, 83, 0.4),
          0 15rpx 40rpx rgba(0, 200, 83, 0.2);
  }
  50% {
      transform: scale(1.03);
      box-shadow: 
          0 0 0 5rpx rgba(0, 200, 83, 0.6),
          0 20rpx 50rpx rgba(0, 200, 83, 0.3);
  }
}

/* 光晕动画 */
@keyframes gentleGlow {
  0%, 100% {
      opacity: 0;
      transform: translate(-50%, -50%) scale(0.98);
  }
  50% {
      opacity: 1;
      transform: translate(-50%, -50%) scale(1.05);
  }
}

@keyframes colorShift {
  0% {
      border-color: rgba(0, 200, 83, 0.5);
  }
  33% {
      border-color: rgba(100, 221, 23, 0.5);
  }
  66% {
      border-color: rgba(0, 255, 153, 0.5);
  }
  100% {
      border-color: rgba(0, 200, 83, 0.5);
  }
}

@keyframes pixelOrbit {
  0% {
      transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
      transform: translate(-50%, -50%) rotate(360deg);
  }
}

/* 更换提示 */
.avatar-hint {
  margin-top: 25rpx;
  font-size: 28rpx;
  color: #666;
  padding: 12rpx 30rpx;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 25rpx;
  border: 1rpx solid #eee;
  box-shadow: 0 5rpx 15rpx rgba(0, 0, 0, 0.05);
  position: relative;
  overflow: hidden;
}

.avatar-hint::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2rpx;
  background: linear-gradient(90deg, transparent, #00C853, transparent);
  animation: hintGlow 2s ease-in-out infinite;
}

@keyframes hintGlow {
  0%, 100% {
      opacity: 0.3;
  }
  50% {
      opacity: 1;
  }
}

/* 点击特效 */
.avatar-container.active .avatar-image {
  animation: clickScale 0.5s ease;
}

@keyframes clickScale {
  0%, 100% {
      transform: scale(1);
  }
  50% {
      transform: scale(0.95);
  }
}

/* 下载状态 */
.avatar-container.downloading .avatar-image {
  opacity: 0.7;
  filter: grayscale(30%);
}

/* 透明功能按钮 */
.avatar-trigger-button {
  position: absolute;
  top: 30rpx;
  left: 50%;
  transform: translateX(-50%);
  width: 200rpx;
  height: 200rpx;
  border-radius: 50%;
  z-index: 100;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  opacity: 0;
  line-height: 1;
  font-size: 0;
}

.avatar-trigger-button::after {
  border: none;
}

/* 表单区域 */
.form-section {
  border-radius: 25rpx;
  margin-bottom: 50rpx;
  box-shadow: 0 10rpx 30rpx rgba(0, 0, 0, 0.08);
  border: 1rpx solid #f0f0f0;
}

.form-item {
  display: flex;
  align-items: center;
  padding-left: 40rpx;
  border-bottom: 1rpx solid #f0f0f0;
  min-height: 110rpx;
}

.form-item:last-child {
  border-bottom: none;
}

.item-label {
  width: 150rpx;
  font-size: 32rpx;
  color: #333;
  font-weight: 500;
  flex-shrink: 0;
}

.item-value.readonly {
  flex: 1;
  font-size: 32rpx;
  color: #666;
}

/* .item-input — 与全局 .input-inline 完全相同，已移除 */

.placeholder {
  color: #ccc;
  font-size: 30rpx;
}

.input-container {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.item-input.error {
  border-bottom: 2rpx solid #ff4d4f;
  animation: shake 0.5s;
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% { transform: translateX(-2rpx); }
  20%, 40%, 60%, 80% { transform: translateX(2rpx); }
}

.error-hint {
  font-size: 24rpx;
  color: #ff4d4f;
  margin-top: 8rpx;
  padding-left: 10rpx;
  animation: fadeIn 0.3s;
}

.phone-hint {
  font-size: 24rpx;
  color: #00C853;
  margin-top: 8rpx;
  padding-left: 10rpx;
  animation: fadeIn 0.3s;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-10rpx); }
  to { opacity: 1; transform: translateY(0); }
}

/* 保存按钮 */
.save-btn {
  height: 100rpx;
  line-height: 100rpx;
  border-radius: 50rpx;
  background: linear-gradient(135deg, #00C853 0%, #64DD17 100%);
  font-weight: 500;
  box-shadow: 0 15rpx 40rpx rgba(0, 200, 83, 0.25);
  margin-top: 30rpx;
}

.save-btn[disabled] {
  background: linear-gradient(135deg, #cccccc 0%, #aaaaaa 100%);
  color: #999;
  box-shadow: 0 10rpx 30rpx rgba(0, 0, 0, 0.1);
}

.btn-content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.btn-sparkle {
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
      90deg,
      transparent 0%,
      rgba(255, 255, 255, 0.2) 50%,
      transparent 100%
  );
  animation: sparkleMove 2.5s ease-in-out infinite;
  z-index: 1;
}

@keyframes sparkleMove {
  0% { left: -100%; }
  100% { left: 100%; }
}

.btn-hover {
  opacity: 0.9;
  transform: scale(0.98);
}

/* 手机号获取按钮 */
.phone-row {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.phone-value {
  font-size: 32rpx;
  color: #333;
  flex: 1;
}

.get-phone-btn {
  flex-shrink: 0;
  margin-left: 20rpx;
  padding: 10rpx 24rpx;
  background: #4a6cf7;
  line-height: 1.4;
  height: 60rpx;
}

.phone-btn-hover {
  opacity: 0.8;
}

.safe-area {
  height: 100rpx;
  width: 100%;
}