/* Soul创业派对 - 代付详情页(参考 yulan 深色主题、青绿主色) */ .page { min-height: 100vh; background: #050505; position: relative; } .nav-bar { position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: rgba(5, 5, 5, 0.6); backdrop-filter: blur(40rpx); -webkit-backdrop-filter: blur(40rpx); border-bottom: 1rpx solid rgba(255, 255, 255, 0.05); } .nav-content { display: flex; align-items: center; justify-content: space-between; padding: 0 24rpx; height: 88rpx; } .nav-back { width: 72rpx; height: 72rpx; border-radius: 50%; background: rgba(255, 255, 255, 0.06); display: flex; align-items: center; justify-content: center; } .nav-back:active { opacity: 0.7; } .back-arrow { font-size: 36rpx; color: rgba(255, 255, 255, 0.9); } .nav-title { font-size: 28rpx; font-weight: 700; color: rgba(255, 255, 255, 0.5); letter-spacing: 0.2em; text-transform: uppercase; } .content { padding: 24rpx 24rpx 200rpx; } /* 骨架屏 */ .skeleton-wrap { padding: 24rpx 0; } .skeleton-hero { background: rgba(24, 24, 27, 0.8); border-radius: 32rpx; padding: 40rpx; margin-bottom: 32rpx; } .skeleton-hero-badge { width: 120rpx; height: 40rpx; background: linear-gradient(90deg, #1c1c1e 25%, #2c2c2e 50%, #1c1c1e 75%); background-size: 200% 100%; animation: skeleton-shimmer 1.5s ease-in-out infinite; border-radius: 8rpx; margin-bottom: 24rpx; } .skeleton-hero-title { width: 80%; height: 48rpx; background: linear-gradient(90deg, #1c1c1e 25%, #2c2c2e 50%, #1c1c1e 75%); background-size: 200% 100%; animation: skeleton-shimmer 1.5s ease-in-out infinite; border-radius: 8rpx; margin-bottom: 16rpx; } .skeleton-hero-desc { width: 60%; height: 32rpx; background: linear-gradient(90deg, #1c1c1e 25%, #2c2c2e 50%, #1c1c1e 75%); background-size: 200% 100%; animation: skeleton-shimmer 1.5s ease-in-out infinite; border-radius: 8rpx; margin-bottom: 32rpx; } .skeleton-hero-amount { width: 200rpx; height: 64rpx; background: linear-gradient(90deg, #1c1c1e 25%, #2c2c2e 50%, #1c1c1e 75%); background-size: 200% 100%; animation: skeleton-shimmer 1.5s ease-in-out infinite; border-radius: 12rpx; } .skeleton-card { display: flex; align-items: center; gap: 24rpx; padding: 32rpx; background: rgba(24, 24, 27, 0.6); border-radius: 24rpx; } .skeleton-avatar { width: 96rpx; height: 96rpx; border-radius: 50%; background: linear-gradient(90deg, #1c1c1e 25%, #2c2c2e 50%, #1c1c1e 75%); background-size: 200% 100%; animation: skeleton-shimmer 1.5s ease-in-out infinite; flex-shrink: 0; } .skeleton-info { flex: 1; display: flex; flex-direction: column; gap: 16rpx; } .skeleton-info .skeleton-line { height: 32rpx; background: linear-gradient(90deg, #1c1c1e 25%, #2c2c2e 50%, #1c1c1e 75%); background-size: 200% 100%; animation: skeleton-shimmer 1.5s ease-in-out infinite; border-radius: 8rpx; } .skeleton-info .skeleton-line { width: 70%; } .skeleton-info .skeleton-line.short { width: 45%; } @keyframes skeleton-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } /* 产品 Hero 卡片 */ .hero-card { position: relative; margin-bottom: 32rpx; } .hero-glow { position: absolute; inset: -4rpx; background: linear-gradient(180deg, rgba(20, 184, 166, 0.2) 0%, transparent 100%); border-radius: 40rpx; filter: blur(24rpx); opacity: 0.5; } .hero-inner { position: relative; background: rgba(24, 24, 27, 0.8); border: 1rpx solid rgba(255, 255, 255, 0.1); border-radius: 40rpx; padding: 48rpx; overflow: hidden; } .hero-decor { position: absolute; top: 0; right: 0; padding: 24rpx; opacity: 0.1; } .hero-decor-img { width: 96rpx; height: 96rpx; } .hero-badge { display: inline-block; font-size: 20rpx; font-weight: 900; letter-spacing: 0.2em; color: #14b8a6; background: rgba(20, 184, 166, 0.1); border: 1rpx solid rgba(20, 184, 166, 0.2); padding: 6rpx 24rpx; border-radius: 999rpx; margin-bottom: 24rpx; } .hero-title { display: block; font-size: 36rpx; font-weight: 700; color: #fff; line-height: 1.3; letter-spacing: -0.5rpx; margin: 0 0 16rpx; } .hero-desc { display: block; font-size: 28rpx; color: rgba(255, 255, 255, 0.5); line-height: 1.5; margin: 0; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; } .hero-footer { margin-top: 40rpx; padding-top: 32rpx; border-top: 1rpx solid rgba(255, 255, 255, 0.05); display: flex; align-items: center; justify-content: space-between; } .hero-amount-wrap { display: flex; flex-direction: column; gap: 8rpx; } .hero-amount-label { font-size: 20rpx; font-weight: 700; letter-spacing: 0.2em; color: rgba(255, 255, 255, 0.4); text-transform: uppercase; } .hero-amount-row { display: flex; align-items: baseline; gap: 4rpx; } .gift-quantity-row { display: flex; align-items: center; gap: 16rpx; margin: 12rpx 0; } .create-tip { margin-top: 16rpx; font-size: 24rpx; color: rgba(255, 255, 255, 0.45); } .gift-quantity-input { width: 120rpx; height: 64rpx; padding: 0 20rpx; background: rgba(255, 255, 255, 0.06); border: 1rpx solid rgba(255, 255, 255, 0.1); border-radius: 12rpx; font-size: 32rpx; font-weight: 600; color: #fff; text-align: center; } .hero-currency { font-size: 36rpx; font-weight: 700; color: #14b8a6; } .hero-amount { font-size: 60rpx; font-weight: 700; font-family: 'JetBrains Mono', 'SF Mono', monospace; color: #fff; letter-spacing: -1rpx; } .hero-arrow-wrap { width: 96rpx; height: 96rpx; border-radius: 32rpx; background: rgba(20, 184, 166, 0.1); border: 1rpx solid rgba(20, 184, 166, 0.2); display: flex; align-items: center; justify-content: center; } .hero-arrow { width: 40rpx; height: 40rpx; filter: invert(72%) sepia(45%) saturate(800%) hue-rotate(130deg); } /* 发起人信息卡片 */ .requester-card { background: rgba(24, 24, 27, 0.3); border: 1rpx solid rgba(255, 255, 255, 0.05); border-radius: 48rpx; padding: 24rpx; margin-bottom: 16rpx; } .requester-header { display: flex; align-items: center; gap: 32rpx; margin-bottom: 24rpx; } .requester-header:active { opacity: 0.85; } .requester-avatar { width: 96rpx; height: 96rpx; border-radius: 50%; background: linear-gradient(180deg, #3f3f46 0%, #18181b 100%); border: 1rpx solid rgba(255, 255, 255, 0.1); overflow: hidden; flex-shrink: 0; } .avatar-img { width: 100%; height: 100%; } .icon-avatar { padding: 24rpx; filter: brightness(0) invert(0.6); } .requester-info { flex: 1; min-width: 0; } .requester-name { display: block; font-size: 28rpx; font-weight: 700; color: rgba(255, 255, 255, 0.9); margin-bottom: 4rpx; } .requester-label { font-size: 20rpx; font-weight: 700; letter-spacing: 0.2em; color: rgba(255, 255, 255, 0.4); text-transform: uppercase; } .requester-msg-wrap { position: relative; padding-left: 20rpx; } .requester-msg-bar { position: absolute; left: 0; top: 0; bottom: 0; width: 4rpx; background: rgba(20, 184, 166, 0.3); border-radius: 2rpx; } .requester-msg { font-size: 28rpx; color: rgba(255, 255, 255, 0.5); font-style: italic; line-height: 1.6; } /* 安全徽章 */ .security-badge { display: flex; align-items: center; justify-content: center; gap: 16rpx; padding: 32rpx 0; } .security-icon { font-size: 32rpx; opacity: 0.6; } .security-text { font-size: 20rpx; font-weight: 700; letter-spacing: 0.2em; color: rgba(255, 255, 255, 0.35); text-transform: uppercase; } /* 空状态 */ .empty { text-align: center; padding: 120rpx 0; font-size: 28rpx; color: rgba(255, 255, 255, 0.45); } /* 底部浮动操作栏 */ .footer-bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 20; padding: 32rpx; } .footer-bg { position: absolute; inset: 0; background: rgba(24, 24, 27, 0.9); backdrop-filter: blur(40rpx); -webkit-backdrop-filter: blur(40rpx); border-top: 1rpx solid rgba(255, 255, 255, 0.1); border-radius: 50rpx; box-shadow: 0 -20rpx 100rpx rgba(0, 0, 0, 0.5); } .footer-inner { position: relative; display: flex; align-items: center; gap: 32rpx; padding: 24rpx 24rpx 24rpx 48rpx; } .footer-summary { flex: 1; } .footer-label { display: block; font-size: 20rpx; font-weight: 700; letter-spacing: 0.2em; color: rgba(255, 255, 255, 0.4); text-transform: uppercase; margin-bottom: 4rpx; } .footer-amount { font-size: 40rpx; font-weight: 700; font-family: 'JetBrains Mono', 'SF Mono', monospace; color: #fff; letter-spacing: -1rpx; } .footer-currency { font-size: 28rpx; color: #14b8a6; margin-right: 4rpx; } .footer-btn { display: flex; align-items: center; justify-content: center; gap: 16rpx; padding: 32rpx 48rpx; border-radius: 36rpx; font-size: 28rpx; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase; border: none; box-shadow: 0 16rpx 40rpx rgba(20, 184, 166, 0.3); } .footer-btn::after { border: none; } .share-btn { background: #14b8a6; color: #000; } .pay-btn { background: #14b8a6; color: #000; } .pay-btn[disabled] { opacity: 0.6; } .redeem-btn { background: #14b8a6; color: #000; } .redeem-btn[disabled] { opacity: 0.6; } .footer-tip-single { flex: 1; font-size: 24rpx; color: rgba(255, 255, 255, 0.5); text-align: center; padding: 0 24rpx; } .footer-btn-disabled { background: rgba(255, 255, 255, 0.1); color: rgba(255, 255, 255, 0.5); cursor: not-allowed; } .footer-btn:active { transform: scale(0.98); } .btn-icon { width: 40rpx; height: 40rpx; } .share-btn .btn-icon, .pay-btn .btn-icon, .redeem-btn .btn-icon { filter: brightness(0); } /* 背景光效 */ .bg-effects { position: fixed; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none; z-index: -1; } .bg-glow { position: absolute; border-radius: 50%; filter: blur(150rpx); } .bg-glow-1 { top: -20%; left: -10%; width: 80%; height: 60%; background: rgba(20, 184, 166, 0.05); animation: pulse-slow 8s infinite; } .bg-glow-2 { bottom: -10%; right: -10%; width: 60%; height: 50%; background: rgba(20, 184, 166, 0.05); } @keyframes pulse-slow { 0%, 100% { opacity: 0.3; } 50% { opacity: 0.6; } } .bg-dots { position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,0.02) 1rpx, transparent 1rpx); background-size: 64rpx 64rpx; } /* 登录弹窗 */ .modal-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.7); z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 48rpx; } .modal-content.login-modal { width: 100%; max-width: 600rpx; background: #1c1c1e; border-radius: 32rpx; padding: 48rpx; text-align: center; position: relative; } .modal-close { position: absolute; top: 24rpx; right: 24rpx; font-size: 32rpx; color: rgba(255, 255, 255, 0.5); } .login-icon { font-size: 96rpx; display: block; margin-bottom: 24rpx; } .login-title { font-size: 36rpx; font-weight: 700; color: #fff; display: block; margin-bottom: 16rpx; } .login-desc { font-size: 26rpx; color: rgba(255, 255, 255, 0.6); display: block; margin-bottom: 48rpx; } .btn-wechat { width: 100%; padding: 28rpx; background: #07c160; color: #fff; font-size: 30rpx; font-weight: 600; border-radius: 24rpx; border: none; } .btn-wechat-disabled { opacity: 0.5; } .btn-wechat-icon { font-weight: 700; margin-right: 8rpx; } .login-agree-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; margin-top: 32rpx; font-size: 22rpx; color: rgba(255, 255, 255, 0.5); } .agree-checkbox { width: 32rpx; height: 32rpx; border: 2rpx solid rgba(255, 255, 255, 0.3); border-radius: 8rpx; margin-right: 12rpx; display: inline-flex; align-items: center; justify-content: center; font-size: 24rpx; } .agree-checked { background: #14b8a6; border-color: #14b8a6; } .agree-link { color: #14b8a6; }