.page-container { min-height: 100vh; background: #FAF8FC; } .nav-container { position: fixed; top: 0; left: 0; right: 0; z-index: 999; background: transparent; } .status-bar { background: transparent; } .nav-bar { display: flex; align-items: center; justify-content: center; padding: 0 32rpx; background: transparent; position: relative; } .nav-back { position: absolute; left: 32rpx; top: 50%; transform: translateY(-50%); width: 80rpx; height: 80rpx; display: flex; align-items: center; justify-content: center; z-index: 10; } .back-icon { width: 48rpx; height: 48rpx; } .nav-title { font-size: 36rpx; font-weight: 700; color: #101828; line-height: 1; } .content-scroll { height: 100vh; box-sizing: border-box; } .content-wrap { padding: 30rpx 31rpx 0; box-sizing: border-box; } .love-card { width: 688rpx; height: 313rpx; border-radius: 46rpx; overflow: hidden; position: relative; box-shadow: 0px 8px 10px -6px rgba(252, 206, 232, 0.5), 0px 20px 25px -5px rgba(252, 206, 232, 0.5); } .love-card-bg { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(176, 106, 179, 1) 0%, rgba(212, 137, 190, 1) 100%); } .love-card-blur { position: absolute; width: 366rpx; height: 366rpx; top: -92rpx; right: -92rpx; border-radius: 9999rpx; background: rgba(255, 255, 255, 0.1); filter: blur(128px); } .love-card-bottom-shade { position: absolute; left: 0; right: 0; bottom: 0; height: 156rpx; background: linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0) 100%); } .love-card-content { position: relative; height: 100%; padding: 46rpx; display: flex; align-items: center; justify-content: space-between; box-sizing: border-box; } .love-info { display: flex; flex-direction: column; justify-content: center; } .love-header { display: flex; align-items: center; gap: 15rpx; } .love-icon { width: 61rpx; height: 61rpx; } .love-label { font-size: 38rpx; font-weight: 700; line-height: 53rpx; letter-spacing: 1rpx; color: #FFFFFF; } .love-value { margin-top: 8rpx; font-size: 92rpx; font-weight: 900; line-height: 92rpx; letter-spacing: -2rpx; color: #FFFFFF; text-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15); } .love-action { margin-top: 6rpx; display: flex; align-items: center; gap: 8rpx; opacity: 0.8; } .love-action-text { font-size: 31rpx; font-weight: 700; line-height: 47rpx; color: #FFFFFF; } .love-action-arrow { width: 30rpx; height: 30rpx; } .love-decoration { width: 134rpx; height: 134rpx; display: flex; align-items: center; justify-content: center; } .decoration-icon { width: 134rpx; height: 134rpx; } .gifts-section { margin-top: 30rpx; } .gifts-header { display: flex; align-items: center; gap: 15rpx; padding-left: 8rpx; } .gifts-icon { width: 46rpx; height: 46rpx; } .gifts-title { font-size: 46rpx; font-weight: 700; color: #101828; line-height: 61rpx; } .gifts-grid { margin-top: 30rpx; display: grid; grid-template-columns: 333rpx 333rpx; gap: 23rpx; } .gift-card { width: 333rpx; height: 485rpx; background: #FFFFFF; border: 2rpx solid #F9FAFB; border-radius: 31rpx; box-shadow: 0px 1px 2px -1px rgba(0, 0, 0, 0.1), 0px 1px 3px 0px rgba(0, 0, 0, 0.1); padding: 25rpx; box-sizing: border-box; display: flex; flex-direction: column; } .gift-image-wrap { width: 283rpx; height: 283rpx; background: #F9FAFB; border-radius: 27rpx; overflow: hidden; position: relative; } .gift-image { width: 100%; height: 100%; } .gift-image-overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.05); } .gift-badge { position: absolute; right: 15rpx; bottom: 15rpx; width: 76rpx; height: 38rpx; border-radius: 9999rpx; background: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; font-size: 23rpx; font-weight: 700; line-height: 31rpx; color: #FFFFFF; } .gift-name { margin-top: 23rpx; font-size: 34rpx; font-weight: 700; line-height: 53rpx; color: #101828; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .gift-footer { margin-top: 15rpx; display: flex; align-items: center; justify-content: space-between; } .gift-price { display: flex; align-items: center; gap: 8rpx; } .gift-heart-icon { width: 34rpx; height: 34rpx; } .gift-price-text { font-size: 34rpx; font-weight: 900; line-height: 53rpx; color: #B06AB3; } .gift-exchange-btn { width: 99rpx; height: 61rpx; border-radius: 19rpx; background: #B06AB3; display: flex; align-items: center; justify-content: center; font-size: 27rpx; font-weight: 700; line-height: 38rpx; color: #FFFFFF; box-shadow: 0px 2px 4px -2px rgba(176, 106, 179, 0.2), 0px 4px 6px -1px rgba(176, 106, 179, 0.2); } .gifts-error { margin-top: 30rpx; padding: 32rpx; border-radius: 24rpx; background: #FFFFFF; border: 2rpx solid #F9FAFB; } .gifts-empty { margin-top: 30rpx; padding: 60rpx 32rpx; border-radius: 24rpx; background: #FFFFFF; border: 2rpx solid #F9FAFB; text-align: center; } .gifts-empty-text { font-size: 28rpx; color: #99A1AF; } .gifts-error-text { font-size: 28rpx; color: #6B7280; } .gifts-retry { margin-top: 18rpx; width: 160rpx; height: 60rpx; border-radius: 19rpx; background: #B06AB3; display: flex; align-items: center; justify-content: center; font-size: 28rpx; font-weight: 700; color: #FFFFFF; } .gift-card.skeleton { box-shadow: none; } .gift-card.skeleton .gift-image-wrap { background: #F3F4F6; } .gift-name.skeleton-line, .gift-price.skeleton-line { height: 28rpx; border-radius: 14rpx; background: #F3F4F6; } .gift-name.skeleton-line { margin-top: 23rpx; } .gift-price.skeleton-line { width: 140rpx; } .gift-exchange-btn.skeleton-btn { width: 99rpx; height: 61rpx; background: #F3F4F6; box-shadow: none; } .bottom-tip { padding: 60rpx 0 40rpx; text-align: center; } .tip-text { font-size: 27rpx; line-height: 40rpx; color: #99A1AF; }