/* pages/dashou-chongzhi/index.wxss - 完整保留原有样式,仅删除导航栏相关,调整间距和字体 */ /* ==================== 基础样式 ==================== */ .page-container { min-height: 100vh; background: linear-gradient(135deg, #0a0e2a 0%, #1a1f4e 30%, #0a0e2a 100%); position: relative; overflow-x: hidden; padding-bottom: 40rpx; } .page-container::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at 20% 30%, rgba(64, 156, 255, 0.1) 0%, transparent 50%), radial-gradient(circle at 80% 70%, rgba(138, 43, 226, 0.08) 0%, transparent 50%), linear-gradient(45deg, transparent 49%, rgba(64, 156, 255, 0.05) 50%, transparent 51%), linear-gradient(-45deg, transparent 49%, rgba(64, 156, 255, 0.05) 50%, transparent 51%); background-size: 100% 100%, 100% 100%, 60rpx 60rpx, 60rpx 60rpx; z-index: 0; pointer-events: none; } /* ❌ 删除 .custom-navbar 及其所有子样式 */ /* 顶部三区域网格 */ .tech-grid { display: flex; justify-content: space-between; padding: 20rpx 30rpx; gap: 20rpx; position: relative; z-index: 1; } /* 科技卡片 */ .tech-card { flex: 1; background: rgba(16, 20, 48, 0.8); border-radius: 20rpx; padding: 20rpx 25rpx; position: relative; overflow: hidden; border: 1px solid rgba(64, 156, 255, 0.2); box-shadow: 0 10rpx 30rpx rgba(0, 10, 30, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.1); min-height: 260rpx; display: flex; flex-direction: column; } .tech-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 20rpx; padding: 2rpx; background: linear-gradient(135deg, rgba(64, 156, 255, 0.4) 0%, rgba(64, 156, 255, 0.1) 50%, rgba(64, 156, 255, 0.4) 100%); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; } /* 卡片头部 */ .card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20rpx; padding: 0 5rpx; } .card-title { display: flex; align-items: center; gap: 12rpx; flex: 1; white-space: nowrap; } .title-icon { width: 32rpx; height: 32rpx; filter: drop-shadow(0 0 8rpx rgba(64, 156, 255, 0.6)); } .title-text { font-size: 26rpx; font-weight: bold; color: #e0f0ff; text-shadow: 0 0 10rpx rgba(64, 156, 255, 0.5); white-space: nowrap; } /* ===== 会员区域(优化后) ===== */ .huiyuan-scroll { flex: 1; margin-bottom: 15rpx; overflow-y: scroll; } .huiyuan-item { margin-bottom: 12rpx; } .huiyuan-tag { background: linear-gradient(90deg, rgba(64, 156, 255, 0.15), rgba(64, 156, 255, 0.08)); border: 1px solid rgba(64, 156, 255, 0.3); border-radius: 16rpx; padding: 15rpx 20rpx; position: relative; overflow: hidden; min-height: 70rpx; display: flex; flex-direction: column; justify-content: center; } .tag-triangle { position: absolute; top: 10rpx; left: 10rpx; width: 0; height: 0; border-top: 10rpx solid #409cff; border-right: 10rpx solid transparent; } .tag-name { display: block; font-size: 24rpx; color: #fff; font-weight: bold; margin-bottom: 5rpx; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .tag-time { display: block; font-size: 20rpx; color: #ffd166; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .tag-glow { position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), transparent); animation: techGlide 3s infinite; } .empty-huiyuan { height: 100rpx; display: flex; flex-direction: column; align-items: center; justify-content: center; } .empty-icon { width: 50rpx; height: 50rpx; opacity: 0.5; margin-bottom: 8rpx; } .empty-text { color: #6688cc; font-size: 22rpx; } .card-footer { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 10rpx; } .footer-text { font-size: 20rpx; color: #a0c8ff; } .footer-line { flex: 1; height: 1px; background: linear-gradient(90deg, rgba(64, 156, 255, 0.3), transparent); margin-left: 15rpx; } /* 押金区域 */ .yajin-display { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 15rpx 0; } .amount-container { display: flex; align-items: baseline; margin-bottom: 8rpx; } .amount-symbol { font-size: 28rpx; color: #ffd166; margin-right: 6rpx; } .amount-number { font-size: 56rpx; font-weight: bold; background: linear-gradient(90deg, #40a9ff, #36cfc9); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: 0 0 20rpx rgba(64, 169, 255, 0.4); } .amount-unit { font-size: 22rpx; color: #a0c8ff; } .tech-line { height: 2rpx; background: linear-gradient(90deg, transparent, rgba(64, 156, 255, 0.5), transparent); margin: 15rpx 0; } /* 积分区域 */ .jifen-card .card-title { flex-direction: row; } .score-badge { background: rgba(64, 156, 255, 0.2); border: 1px solid rgba(64, 156, 255, 0.5); padding: 5rpx 14rpx; border-radius: 20rpx; font-size: 22rpx; color: #409cff; font-weight: bold; } .jifen-display { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 10rpx 0; } .circle-progress { width: 140rpx; height: 140rpx; position: relative; margin-bottom: 20rpx; } .circle-bg { width: 100%; height: 100%; border: 6rpx solid rgba(255, 255, 255, 0.05); border-radius: 50%; box-sizing: border-box; } .circle-mask { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 6rpx solid transparent; border-top-color: #409cff; border-right-color: #409cff; border-radius: 50%; box-sizing: border-box; transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); } .circle-fill { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 6rpx solid transparent; border-top-color: #36cfc9; border-right-color: #36cfc9; border-radius: 50%; box-sizing: border-box; transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); filter: drop-shadow(0 0 15rpx rgba(54, 207, 201, 0.6)); } .circle-center { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; } .jifen-value { display: block; font-size: 42rpx; font-weight: bold; color: #fff; text-shadow: 0 0 10rpx rgba(64, 156, 255, 0.8); } .jifen-label { display: block; font-size: 20rpx; color: #a0c8ff; margin-top: 5rpx; } .circle-dots { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .circle-dot { position: absolute; top: 0; left: 50%; width: 5rpx; height: 5rpx; background: rgba(64, 156, 255, 0.6); border-radius: 50%; transform-origin: 0 70rpx; } .jifen-status { text-align: center; } .status-text { font-size: 22rpx; color: #ff9d66; } .status-text.full { color: #36cfc9; } /* 科技按钮 */ .action-container { margin-top: auto; } .tech-btn { height: 70rpx; border-radius: 35rpx; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; font-size: 26rpx; font-weight: bold; color: #fff; transition: all 0.3s ease; line-height: 1; } .tech-btn:active { transform: scale(0.98); } .btn-bg { position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 35rpx; } .yajin-btn .btn-bg { background: linear-gradient(135deg, #1e4b8f, #409cff); } .jifen-btn .btn-bg { background: linear-gradient(135deg, #0f2c5c, #36cfc9); } .jifen-btn[data-disabled="true"] .btn-bg { background: linear-gradient(135deg, #333, #666); opacity: 0.7; } .btn-text { position: relative; z-index: 1; display: flex; align-items: center; gap: 8rpx; text-align: center; width: 100%; justify-content: center; height: 100%; } .btn-arrow { font-size: 22rpx; margin-left: 6rpx; color: #fff; } .btn-energy { position: absolute; top: 50%; right: 25rpx; transform: translateY(-50%); display: flex; gap: 4rpx; } .btn-energy .energy-dot { width: 6rpx; height: 6rpx; background: #ffd166; border-radius: 50%; animation: energyPulse 1s infinite; } .btn-energy .energy-dot:nth-child(2) { animation-delay: 0.2s; } .btn-energy .energy-dot:nth-child(3) { animation-delay: 0.4s; } .btn-glow { position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); animation: techShine 2s infinite; } /* VIP会员区域 */ .vip-section { margin: 30rpx 30rpx; /* 🔥 移除导航栏后,无需额外 margin-top */ background: rgba(16, 20, 48, 0.8); border-radius: 30rpx; padding: 30rpx; border: 1px solid rgba(64, 156, 255, 0.2); box-shadow: 0 20rpx 40rpx rgba(0, 10, 30, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.1); position: relative; z-index: 1; } .section-header { text-align: center; margin-bottom: 40rpx; } .header-decoration { display: flex; align-items: center; justify-content: center; gap: 15rpx; margin-bottom: 12rpx; } .dec-line { width: 50rpx; height: 2rpx; background: linear-gradient(90deg, rgba(64, 156, 255, 0.5), rgba(64, 156, 255, 0.1)); } .dec-diamond { width: 14rpx; height: 14rpx; background: #409cff; transform: rotate(45deg); box-shadow: 0 0 10rpx rgba(64, 156, 255, 0.6); } .dec-text { font-size: 32rpx; font-weight: bold; background: linear-gradient(90deg, #40a9ff, #36cfc9); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: 0 0 20rpx rgba(64, 169, 255, 0.4); } .section-subtitle { font-size: 22rpx; color: #a0c8ff; letter-spacing: 4rpx; } /* 会员卡片滑动区域 */ .vip-swiper { height: 350rpx; margin-bottom: 40rpx; } .vip-card { height: 100%; display: flex; align-items: center; justify-content: center; transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); position: relative; } .vip-card.active { transform: scale(1.08); z-index: 10; } .vip-card:not(.active) { opacity: 0.6; transform: scale(0.85); } /* 机甲风格卡片边框 */ .card-frame { position: absolute; top: 0; left: 0; right: 0; bottom: 0; } .frame-corner { position: absolute; width: 40rpx; height: 40rpx; } .frame-corner.tl { top: 0; left: 0; border-top: 4rpx solid #409cff; border-left: 4rpx solid #409cff; border-top-left-radius: 20rpx; } .frame-corner.tr { top: 0; right: 0; border-top: 4rpx solid #409cff; border-right: 4rpx solid #409cff; border-top-right-radius: 20rpx; } .frame-corner.bl { bottom: 0; left: 0; border-bottom: 4rpx solid #409cff; border-left: 4rpx solid #409cff; border-bottom-left-radius: 20rpx; } .frame-corner.br { bottom: 0; right: 0; border-bottom: 4rpx solid #409cff; border-right: 4rpx solid #409cff; border-bottom-right-radius: 20rpx; } .frame-line { position: absolute; background: rgba(64, 156, 255, 0.3); } .frame-line.top { top: 0; left: 40rpx; right: 40rpx; height: 2rpx; } .frame-line.right { right: 0; top: 40rpx; bottom: 40rpx; width: 2rpx; } .frame-line.bottom { bottom: 0; left: 40rpx; right: 40rpx; height: 2rpx; } .frame-line.left { left: 0; top: 40rpx; bottom: 40rpx; width: 2rpx; } .vip-card.active .frame-corner { border-color: #36cfc9; } .vip-card.active .frame-line { background: rgba(54, 207, 201, 0.5); } .card-content { position: relative; z-index: 1; text-align: center; padding: 30rpx 25rpx; width: 100%; } .vip-badge { position: absolute; top: 25rpx; right: 25rpx; background: linear-gradient(135deg, #ff6b9d, #ff8e53); padding: 5rpx 14rpx; border-radius: 20rpx; font-size: 20rpx; color: #fff; font-weight: bold; box-shadow: 0 0 15rpx rgba(255, 107, 157, 0.4); z-index: 20; } .vip-title { margin-bottom: 25rpx; } .title-text { display: block; font-size: 32rpx; font-weight: bold; color: #fff; margin-bottom: 8rpx; text-shadow: 0 0 10rpx rgba(64, 156, 255, 0.8); } .title-underline { width: 50rpx; height: 4rpx; background: linear-gradient(90deg, #409cff, #36cfc9); margin: 0 auto; border-radius: 2rpx; } .vip-price { margin-bottom: 30rpx; } .price-symbol { font-size: 26rpx; color: #ffd166; margin-right: 5rpx; } .price-number { font-size: 50rpx; font-weight: bold; color: #ffd166; text-shadow: 0 0 15rpx rgba(255, 209, 102, 0.6); } .price-unit { font-size: 22rpx; color: #a0c8ff; margin-left: 6rpx; } .vip-features { margin-top: 25rpx; } .feature-item { display: flex; align-items: center; justify-content: center; gap: 8rpx; margin-bottom: 12rpx; } .feature-icon { width: 20rpx; height: 20rpx; } .feature-text { font-size: 22rpx; color: #e0f0ff; } .card-indicator { position: absolute; bottom: -35rpx; left: 50%; transform: translateX(-50%); } .indicator-triangle { width: 0; height: 0; border-left: 15rpx solid transparent; border-right: 15rpx solid transparent; border-top: 25rpx solid #409cff; filter: drop-shadow(0 5rpx 5rpx rgba(0, 0, 0, 0.3)); } .indicator-glow { position: absolute; top: -25rpx; left: 50%; transform: translateX(-50%); width: 30rpx; height: 30rpx; background: radial-gradient(circle, rgba(64, 156, 255, 0.6), transparent 70%); border-radius: 50%; animation: pulseGlow 2s infinite; } /* 会员详细介绍 */ .vip-detail { background: rgba(10, 14, 42, 0.9); border-radius: 20rpx; padding: 25rpx; border: 1px solid rgba(64, 156, 255, 0.3); } .detail-header { display: flex; align-items: center; gap: 15rpx; margin-bottom: 25rpx; } .detail-icon { width: 36rpx; height: 36rpx; filter: drop-shadow(0 0 8rpx rgba(64, 156, 255, 0.6)); } .detail-title .title-text { font-size: 28rpx; color: #e0f0ff; text-shadow: 0 0 10rpx rgba(64, 156, 255, 0.5); } .detail-tech { flex: 1; height: 2rpx; background: linear-gradient(90deg, rgba(64, 156, 255, 0.5), transparent); } .detail-content { margin-bottom: 30rpx; } .detail-scroll { max-height: 180rpx; } .detail-text { font-size: 24rpx; color: #b8d4ff; line-height: 1.5; margin-bottom: 25rpx; } .detail-rules { margin-top: 25rpx; } .rule-item { display: flex; align-items: flex-start; gap: 15rpx; margin-bottom: 15rpx; } .rule-number { width: 32rpx; height: 32rpx; background: rgba(64, 156, 255, 0.2); border: 1px solid rgba(64, 156, 255, 0.5); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20rpx; color: #409cff; flex-shrink: 0; font-weight: bold; } .rule-text { font-size: 22rpx; color: #a0c8ff; line-height: 1.4; flex: 1; } /* 购买区域 */ .buy-section { display: flex; align-items: center; justify-content: space-between; padding-top: 25rpx; border-top: 1px solid rgba(64, 156, 255, 0.2); } .buy-info { display: flex; flex-direction: column; } .price-display { display: flex; align-items: baseline; gap: 8rpx; margin-bottom: 8rpx; } .price-label { font-size: 24rpx; color: #a0c8ff; } .price-value { font-size: 32rpx; font-weight: bold; color: #ffd166; text-shadow: 0 0 10rpx rgba(255, 209, 102, 0.4); } .buy-desc { font-size: 20rpx; color: #6688cc; } /* 🔥 新增:到期日期文字加大 */ .expire-date { font-size: 26rpx; color: #ffd166; font-weight: bold; } /* 购买按钮 */ .tech-buy-btn { width: 220rpx; height: 80rpx; border-radius: 40rpx; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; font-size: 28rpx; font-weight: bold; color: #fff; transition: all 0.3s ease; line-height: 1; } .tech-buy-btn:active { transform: scale(0.98); } .buy-btn-bg { position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 40rpx; background: linear-gradient(135deg, #1e4b8f, #409cff); } .tech-buy-btn.renew .buy-btn-bg { background: linear-gradient(135deg, #0f2c5c, #36cfc9); } .buy-btn-glow { position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); animation: techShine 2s infinite; } .buy-btn-text { position: relative; z-index: 1; display: flex; align-items: center; gap: 10rpx; text-align: center; width: 100%; justify-content: center; height: 100%; } .buy-btn-energy { position: absolute; top: 50%; right: 25rpx; transform: translateY(-50%); display: flex; flex-direction: column; gap: 3rpx; } .buy-btn-energy .energy-dot { width: 5rpx; height: 5rpx; background: #ffd166; border-radius: 50%; animation: energyPulse 1s infinite; } .buy-btn-energy .energy-dot:nth-child(2) { animation-delay: 0.2s; } .buy-btn-energy .energy-dot:nth-child(3) { animation-delay: 0.4s; } /* ==================== 弹窗样式(保留原有,删除 tip-content 相关) ==================== */ .tech-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; } .modal-backdrop { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 5, 20, 0.85); backdrop-filter: blur(10rpx); } .modal-container { width: 650rpx; background: rgba(16, 20, 48, 0.95); border-radius: 30rpx; border: 2px solid rgba(64, 156, 255, 0.4); box-shadow: 0 30rpx 80rpx rgba(0, 10, 30, 0.8), 0 0 0 1px rgba(64, 156, 255, 0.2) inset; position: relative; z-index: 1; overflow: hidden; } .modal-header { padding: 40rpx 40rpx 30rpx; text-align: center; position: relative; } .modal-corner { position: absolute; width: 30rpx; height: 30rpx; } .modal-corner.tl { top: 10rpx; left: 10rpx; border-top: 3rpx solid #409cff; border-left: 3rpx solid #409cff; border-top-left-radius: 10rpx; } .modal-corner.tr { top: 10rpx; right: 10rpx; border-top: 3rpx solid #409cff; border-right: 3rpx solid #409cff; border-top-right-radius: 10rpx; } .modal-corner.bl { bottom: 10rpx; left: 10rpx; border-bottom: 3rpx solid #409cff; border-left: 3rpx solid #409cff; border-bottom-left-radius: 10rpx; } .modal-corner.br { bottom: 10rpx; right: 10rpx; border-bottom: 3rpx solid #409cff; border-right: 3rpx solid #409cff; border-bottom-left-radius: 10rpx; } .modal-title { display: block; font-size: 36rpx; font-weight: bold; background: linear-gradient(90deg, #40a9ff, #36cfc9); -webkit-background-clip: text; background-clip: text; color: transparent; margin-bottom: 10rpx; text-shadow: 0 0 20rpx rgba(64, 169, 255, 0.4); } .modal-subtitle { display: block; font-size: 22rpx; color: #a0c8ff; letter-spacing: 4rpx; } .modal-close { position: absolute; top: 30rpx; right: 30rpx; width: 60rpx; height: 60rpx; display: flex; align-items: center; justify-content: center; font-size: 32rpx; color: #6688cc; cursor: pointer; transition: all 0.3s ease; } .modal-close:active { transform: scale(0.9); } .modal-body { padding: 0 40rpx 40rpx; } /* 输入框区域(押金弹窗) */ .input-section { margin-bottom: 40rpx; } .input-label { display: flex; align-items: center; gap: 15rpx; margin-bottom: 25rpx; } .label-icon { width: 32rpx; height: 32rpx; filter: drop-shadow(0 0 8rpx rgba(64, 156, 255, 0.6)); } .label-text { font-size: 28rpx; color: #e0f0ff; font-weight: bold; } .input-container { display: flex; align-items: center; background: rgba(10, 14, 42, 0.8); border-radius: 20rpx; border: 1px solid rgba(64, 156, 255, 0.5); padding: 25rpx 30rpx; margin-bottom: 20rpx; position: relative; } .input-prefix { font-size: 40rpx; color: #ffd166; margin-right: 20rpx; font-weight: bold; } .yajin-input { flex: 1; font-size: 40rpx; color: #fff; min-height: 60rpx; } .input-placeholder { color: #6688cc; font-size: 28rpx; } .input-underline { position: absolute; bottom: 0; left: 0; right: 0; height: 2rpx; background: linear-gradient(90deg, #409cff, #36cfc9); transform: scaleX(0); transition: transform 0.3s ease; } .yajin-input:focus + .input-underline { transform: scaleX(1); } .input-tip { display: block; font-size: 22rpx; color: #a0c8ff; text-align: right; } .quick-section { margin-top: 40rpx; } .quick-title { display: block; font-size: 26rpx; color: #e0f0ff; margin-bottom: 25rpx; font-weight: bold; } .quick-buttons { display: flex; gap: 20rpx; } .quick-btn { flex: 1; height: 80rpx; display: flex; align-items: center; justify-content: center; background: rgba(10, 14, 42, 0.8); border: 1px solid rgba(64, 156, 255, 0.3); border-radius: 15rpx; font-size: 26rpx; color: #a0c8ff; transition: all 0.3s ease; } .quick-btn.active { background: linear-gradient(135deg, #1e4b8f, #409cff); color: #fff; border-color: rgba(64, 156, 255, 0.8); box-shadow: 0 0 20rpx rgba(64, 156, 255, 0.4); transform: translateY(-2rpx); } .quick-text { font-weight: bold; } .modal-footer { display: flex; border-top: 1px solid rgba(64, 156, 255, 0.3); } .modal-btn { flex: 1; height: 100rpx; display: flex; align-items: center; justify-content: center; font-size: 30rpx; font-weight: bold; cursor: pointer; transition: all 0.3s ease; position: relative; overflow: hidden; } .cancel-btn { color: #a0c8ff; background: rgba(10, 14, 42, 0.5); } .cancel-btn:active { background: rgba(10, 14, 42, 0.8); } .modal-divider { width: 1px; background: rgba(64, 156, 255, 0.3); } .confirm-btn { background: linear-gradient(135deg, #1e4b8f, #409cff); color: #fff; } .confirm-btn:active { background: linear-gradient(135deg, #0f2c5c, #3080e0); } .btn-sparkle { position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); animation: techShine 2s infinite; } /* 支付方式选择弹窗(小尺寸) */ .modal-container.small { width: 550rpx; } .pay-method-list { padding: 20rpx 0; } .pay-method-item { display: flex; align-items: center; padding: 30rpx 20rpx; background: rgba(10, 14, 42, 0.5); border: 1px solid rgba(64, 156, 255, 0.2); border-radius: 20rpx; margin-bottom: 20rpx; transition: all 0.2s; } .pay-method-item:active { background: rgba(64, 156, 255, 0.1); border-color: rgba(64, 156, 255, 0.5); transform: scale(0.98); } .method-icon { width: 60rpx; height: 60rpx; margin-right: 20rpx; } .method-name { flex: 1; font-size: 30rpx; color: #e0f0ff; font-weight: bold; } .method-desc { font-size: 24rpx; color: #a0c8ff; margin-right: 10rpx; } /* 余额抵扣身份列表 */ .balance-list { max-height: 600rpx; overflow-y: auto; } .balance-item { display: flex; align-items: center; justify-content: space-between; padding: 30rpx 20rpx; background: rgba(10, 14, 42, 0.5); border: 1px solid rgba(64, 156, 255, 0.2); border-radius: 20rpx; margin-bottom: 20rpx; transition: all 0.2s; } .balance-item:active { background: rgba(64, 156, 255, 0.1); border-color: rgba(64, 156, 255, 0.5); transform: scale(0.98); } .balance-info { display: flex; flex-direction: column; } .balance-name { font-size: 28rpx; color: #e0f0ff; font-weight: bold; margin-bottom: 8rpx; } .balance-amount { font-size: 24rpx; color: #ffd166; } .balance-arrow { font-size: 32rpx; color: #409cff; transform: scaleX(1.2); } /* 会员详情弹窗 */ .member-detail { padding: 30rpx 20rpx; } .detail-row { display: flex; align-items: baseline; margin-bottom: 25rpx; padding-bottom: 15rpx; border-bottom: 1px solid rgba(64, 156, 255, 0.2); } .detail-row:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; } .detail-label { width: 150rpx; font-size: 28rpx; color: #a0c8ff; } .detail-value { flex: 1; font-size: 30rpx; color: #ffd166; font-weight: bold; } /* ❌ 删除 .tip-content 等相关样式 */ /* ==================== 加载动画 ==================== */ .tech-loading { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; } .loading-backdrop { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 5, 20, 0.9); backdrop-filter: blur(20rpx); } .loading-content { position: relative; z-index: 1; text-align: center; } .loading-spinner { width: 150rpx; height: 150rpx; position: relative; margin: 0 auto 40rpx; } .spinner-ring { position: absolute; top: 0; left: 0; right: 0; bottom: 0; border: 8rpx solid transparent; border-radius: 50%; animation: spinRing 2s linear infinite; } .spinner-ring.ring-1 { border-top-color: #409cff; animation-delay: 0s; } .spinner-ring.ring-2 { border-right-color: #36cfc9; animation-delay: 0.5s; } .spinner-ring.ring-3 { border-bottom-color: #ffd166; animation-delay: 1s; } .spinner-core { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 40rpx; height: 40rpx; background: radial-gradient(circle, #409cff, #1e4b8f); border-radius: 50%; box-shadow: 0 0 30rpx rgba(64, 156, 255, 0.8); } .spinner-energy { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 60rpx; height: 60rpx; border: 4rpx solid rgba(64, 156, 255, 0.3); border-radius: 50%; animation: pulseEnergy 1.5s ease-in-out infinite; } .loading-text { display: block; font-size: 32rpx; color: #fff; margin-bottom: 15rpx; font-weight: bold; text-shadow: 0 0 10rpx rgba(64, 156, 255, 0.8); } .loading-subtext { display: block; font-size: 22rpx; color: #a0c8ff; } /* ==================== 底部装饰 ==================== */ .tech-footer { text-align: center; margin-top: 40rpx; padding: 0 30rpx; } .footer-line { height: 1px; background: linear-gradient(90deg, transparent, rgba(64, 156, 255, 0.3), transparent); margin-bottom: 20rpx; } .footer-text { font-size: 20rpx; color: #6688cc; letter-spacing: 4rpx; } /* ==================== 动画定义 ==================== */ @keyframes techGlide { 0% { left: -100%; } 50% { left: 100%; } 100% { left: 100%; } } @keyframes techShine { 0% { left: -100%; } 20% { left: 100%; } 100% { left: 100%; } } @keyframes spinRing { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes pulseEnergy { 0% { width: 60rpx; height: 60rpx; opacity: 0.5; } 50% { width: 80rpx; height: 80rpx; opacity: 0.8; } 100% { width: 60rpx; height: 60rpx; opacity: 0.5; } } @keyframes dotPulse { 0%, 100% { opacity: 0.3; } 50% { opacity: 1; } } @keyframes energyPulse { 0%, 100% { opacity: 0.3; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1.2); } } @keyframes pulseGlow { 0%, 100% { opacity: 0.5; } 50% { opacity: 1; } } /* ==================== 响应式调整 ==================== */ @media screen and (max-width: 750rpx) { .tech-grid { flex-direction: column; gap: 20rpx; } .tech-card { width: 100%; } .vip-swiper { height: 320rpx; } .modal-container { width: 90%; margin: 0 5%; } .quick-buttons { flex-wrap: wrap; } .quick-btn { flex: 0 0 calc(50% - 10rpx); } } /* ==================== 按钮垂直居中最终修复(覆盖) ==================== */ .tech-btn { height: 70rpx; border-radius: 35rpx; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; font-size: 26rpx; font-weight: bold; color: #fff; transition: all 0.3s ease; } .tech-btn .btn-text { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 0; margin: 0; } .yajin-btn .btn-arrow { display: none !important; } .tech-buy-btn { width: 220rpx; height: 80rpx; border-radius: 40rpx; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; font-size: 28rpx; font-weight: bold; color: #fff; transition: all 0.3s ease; } .tech-buy-btn .buy-btn-text { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 0; margin: 0; } .tech-btn .btn-bg, .tech-btn .btn-glow, .tech-buy-btn .buy-btn-bg, .tech-buy-btn .buy-btn-glow { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; } .buy-btn-energy { position: absolute; right: 20rpx; top: 50%; transform: translateY(-50%); z-index: 2; } .btn-text, .buy-btn-text { display: flex !important; align-items: center !important; justify-content: center !important; height: 100% !important; } .tech-buy-btn .buy-btn-text { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; height: 100% !important; line-height: 0.4 !important; } .tech-buy-btn { display: flex !important; align-items: center !important; justify-content: center !important; }