@import '../../styles/xym-recharge-shared.wxss'; .deposit-page { min-height: 100vh; background: #fff9f0; padding-bottom: calc(220rpx + env(safe-area-inset-bottom)); position: relative; } .page-bg { position: absolute; top: 0; left: 0; width: 100%; z-index: 0; } .page-bg-fallback { position: absolute; top: 0; left: 0; right: 0; height: 360rpx; background: linear-gradient(180deg, #ffe082 0%, #fff9f0 100%); z-index: 0; } .page-body { position: relative; z-index: 1; padding: 24rpx 30rpx 0; } .user-row { display: flex; align-items: center; margin-bottom: 24rpx; } .user-avatar { width: 88rpx; height: 88rpx; border-radius: 50%; margin-right: 20rpx; background: #eee; } .user-name { display: block; font-size: 32rpx; font-weight: 700; color: #222; } .user-id { display: block; margin-top: 6rpx; font-size: 24rpx; color: #999; } .deposit-card { position: relative; overflow: hidden; border-radius: 24rpx; padding: 32rpx 28rpx; background: linear-gradient(135deg, #fff8e1 0%, #ffe0b2 100%); display: flex; justify-content: space-between; align-items: stretch; margin-bottom: 24rpx; box-shadow: 0 8rpx 24rpx rgba(255, 183, 77, 0.25); } .deposit-card-left { flex: 1; min-width: 0; } .deposit-card-title { font-size: 30rpx; font-weight: 700; color: #492f00; } .deposit-price-row { display: flex; align-items: baseline; margin: 16rpx 0 8rpx; } .deposit-currency { font-size: 36rpx; font-weight: 700; color: #222; margin-right: 4rpx; } .deposit-price { font-size: 64rpx; font-weight: 800; color: #222; line-height: 1; } .deposit-validity { font-size: 24rpx; color: #947641; } .deposit-card-right { position: relative; width: 200rpx; display: flex; align-items: center; justify-content: center; } .icon-clip { overflow: hidden; flex-shrink: 0; background: rgba(255, 255, 255, 0.5); } .icon-clip-img { width: 100%; height: 100%; display: block; } .icon-clip-deposit { width: 180rpx; height: 180rpx; border-radius: 40rpx; } .icon-clip-deposit-benefit { width: 36rpx; height: 36rpx; border-radius: 14rpx; } .deposit-status { position: absolute; right: 0; bottom: 0; padding: 6rpx 16rpx; border-radius: 8rpx; background: rgba(0, 0, 0, 0.08); font-size: 22rpx; color: #666; } .deposit-shimmer { position: absolute; inset: 0; background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.45) 50%, transparent 60%); animation: card-shimmer 3s infinite; pointer-events: none; } .section-card { background: #fff; border-radius: 20rpx; padding: 28rpx; margin-bottom: 20rpx; box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.04); } .section-title { display: block; text-align: center; font-size: 30rpx; font-weight: 700; color: #333; margin-bottom: 20rpx; } .rule-item { display: flex; gap: 8rpx; margin-bottom: 12rpx; font-size: 26rpx; color: #666; line-height: 1.6; } .benefit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20rpx 16rpx; } .benefit-item { display: flex; align-items: center; gap: 10rpx; font-size: 26rpx; color: #555; } .footer-bar { position: fixed; left: 0; right: 0; bottom: 0; padding: 20rpx 30rpx calc(20rpx + env(safe-area-inset-bottom)); background: rgba(255, 249, 240, 0.96); box-shadow: 0 -4rpx 20rpx rgba(0, 0, 0, 0.06); z-index: 10; } .agree-row { display: flex; align-items: center; flex-wrap: wrap; margin-bottom: 16rpx; font-size: 24rpx; color: #666; } .agree-check { width: 32rpx; height: 32rpx; border-radius: 50%; border: 2rpx solid #ccc; margin-right: 10rpx; display: flex; align-items: center; justify-content: center; font-size: 20rpx; color: #fff; } .agree-check--on { background: #f5a623; border-color: #f5a623; } .agree-link { color: #e6a23c; } .pay-btn { position: relative; overflow: hidden; height: 96rpx; border-radius: 48rpx; background: linear-gradient(90deg, #fae04d, #ffc0a3); display: flex; align-items: center; justify-content: center; font-size: 32rpx; font-weight: 700; color: #492f00; box-shadow: 0 8rpx 20rpx rgba(245, 166, 35, 0.35); } .pay-btn--disabled { opacity: 0.55; } .pay-btn-shimmer { position: absolute; inset: 0; background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.5) 50%, transparent 60%); animation: btn-shimmer 2.5s infinite; pointer-events: none; } @keyframes card-shimmer { 0% { transform: translateX(-120%); } 100% { transform: translateX(120%); } } @keyframes btn-shimmer { 0% { transform: translateX(-120%); } 100% { transform: translateX(120%); } }