.page-flex { height: 100vh; display: flex; flex-direction: column; overflow: hidden; } .scroll-body { flex: 1; height: 0; } .quota-banner { margin: 24rpx 24rpx 0; background: #FFF3E6; color: #FF9500; font-size: 24rpx; padding: 20rpx 24rpx; border-radius: 16rpx; } .user-card { margin: 24rpx; display: flex; align-items: center; } .avatar { width: 128rpx; height: 128rpx; border-radius: 50%; background: #F2F2F7; overflow: hidden; display: flex; align-items: center; justify-content: center; color: #C7C7CC; flex-shrink: 0; } .avatar-img { width: 100%; height: 100%; } .avatar-placeholder { width: 72rpx; height: 72rpx; } .user-info { flex: 1; margin-left: 24rpx; min-width: 0; } .user-name { display: flex; align-items: center; font-size: 36rpx; font-weight: 700; color: #000; } .sex-tag { font-size: 20rpx; color: #007AFF; background: rgba(0, 122, 255, 0.1); border-radius: 8rpx; padding: 2rpx 12rpx; margin-left: 12rpx; font-weight: 400; } .user-tags { display: flex; gap: 12rpx; margin-top: 12rpx; } .edit-link { display: flex; align-items: center; font-size: 26rpx; color: #8E8E93; } .edit-link .icon { width: 28rpx; height: 28rpx; color: #C7C7CC; } .menu-card { margin: 0 24rpx 24rpx; padding: 0 32rpx; } .menu-row { display: flex; align-items: center; height: 100rpx; } .menu-icon { width: 44rpx; height: 44rpx; color: #007AFF; margin-right: 24rpx; } .menu-label { flex: 1; font-size: 28rpx; color: #000; } .menu-value { font-size: 26rpx; color: #8E8E93; } .menu-badge { min-width: 32rpx; height: 32rpx; padding: 0 10rpx; border-radius: 16rpx; background: #FF3B30; color: #fff; font-size: 20rpx; line-height: 32rpx; text-align: center; box-sizing: border-box; flex-shrink: 0; margin-left: 12rpx; } .menu-arrow { width: 28rpx; height: 28rpx; color: #C7C7CC; margin-left: 12rpx; } .version { text-align: center; font-size: 22rpx; color: #C7C7CC; padding: 24rpx 0 48rpx; } /* 编辑弹窗 */ .mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.4); z-index: 200; } .sheet { position: absolute; left: 0; right: 0; bottom: 0; background: #fff; border-radius: 32rpx 32rpx 0 0; padding: 20rpx 32rpx; padding-bottom: calc(32rpx + env(safe-area-inset-bottom) + 120rpx); max-height: 85vh; overflow-y: auto; } .sheet-grabber { width: 72rpx; height: 10rpx; border-radius: 5rpx; background: #E5E5EA; margin: 0 auto 24rpx; } .sheet-title { font-size: 34rpx; font-weight: 600; color: #000; text-align: center; margin-bottom: 24rpx; } .avatar-wrap { position: relative; width: 160rpx; height: 160rpx; margin: 0 auto; border-radius: 50%; background: #F2F2F7; display: flex; align-items: center; justify-content: center; overflow: hidden; box-sizing: border-box; color: #C7C7CC; } .avatar-wrap .avatar-img { width: 100%; height: 100%; } .avatar-wrap .avatar-placeholder { width: 88rpx; height: 88rpx; } .avatar-btn { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; background: transparent; opacity: 0; } .avatar-btn::after { border: none; } .avatar-tip { text-align: center; font-size: 22rpx; color: #8E8E93; margin: 16rpx 0 24rpx; } .form-field { display: flex; align-items: center; padding: 20rpx 0; border-bottom: 1rpx solid #F2F2F7; } .form-label { width: 140rpx; font-size: 28rpx; color: #000; flex-shrink: 0; } .form-field .input { flex: 1; background: #fff; padding: 0; } .form-value { flex: 1; display: flex; align-items: center; justify-content: space-between; font-size: 28rpx; color: #000; } .placeholder { color: #C7C7CC; } .sheet-btn { margin-top: 32rpx; width: 100%; } .btn-disabled { opacity: 0.5; pointer-events: none; }