/* ===== HERO ===== */ .hero { padding: 12rpx 4rpx 28rpx; } .hero-row { display: flex; align-items: center; justify-content: space-between; } .hero-title { font-size: 50rpx; font-weight: 800; color: #F8FAFC; letter-spacing: 3rpx; } .hero-badge { display: flex; align-items: center; background: rgba(16, 185, 129, 0.1); border: 2rpx solid rgba(16, 185, 129, 0.2); border-radius: 40rpx; padding: 8rpx 20rpx; } .badge-dot { width: 12rpx; height: 12rpx; border-radius: 50%; background: #10B981; margin-right: 10rpx; animation: pulse 2s infinite; } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } } .badge-text { font-size: 22rpx; color: #10B981; font-weight: 600; } .hero-desc { font-size: 24rpx; color: #475569; margin-top: 8rpx; } /* ===== CONVERTER ===== */ .converter-card { padding: 32rpx; background: linear-gradient(160deg, rgba(30, 41, 59, 0.95) 0%, rgba(15, 23, 42, 0.98) 100%); border: 2rpx solid rgba(148, 163, 184, 0.1); } .currency-block { display: flex; flex-direction: column; align-items: center; padding: 24rpx; border-radius: 20rpx; } .from-block { background: rgba(148, 163, 184, 0.04); border: 2rpx solid rgba(148, 163, 184, 0.06); } .to-block { background: rgba(251, 191, 36, 0.03); border: 2rpx solid rgba(251, 191, 36, 0.08); } .block-label { font-size: 22rpx; color: #475569; font-weight: 700; letter-spacing: 6rpx; margin-bottom: 16rpx; } .currency-chip { display: inline-flex; align-items: center; background: rgba(148, 163, 184, 0.06); border: 2rpx solid rgba(148, 163, 184, 0.12); border-radius: 14rpx; padding: 14rpx 24rpx; margin-bottom: 24rpx; } .chip-text { font-size: 28rpx; font-weight: 600; color: #CBD5E1; } .chip-arrow { font-size: 28rpx; color: #475569; margin-left: 12rpx; } .amount-input { width: 100%; font-size: 64rpx; font-weight: 800; color: #F1F5F9; text-align: center; letter-spacing: 2rpx; } .amount-placeholder { color: #1E293B; font-weight: 600; } .result-amount { font-size: 64rpx; font-weight: 800; color: #FBBF24; text-align: center; letter-spacing: 2rpx; text-shadow: 0 0 48rpx rgba(251, 191, 36, 0.12); } /* ===== SWAP ===== */ .swap-zone { display: flex; align-items: center; padding: 16rpx 0; } .swap-track { flex: 1; height: 2rpx; background: linear-gradient(90deg, transparent, rgba(148, 163, 184, 0.1), transparent); } .swap-btn { width: 84rpx; height: 84rpx; border-radius: 50%; background: linear-gradient(140deg, #3B82F6 0%, #6366F1 100%); display: flex; align-items: center; justify-content: center; margin: 0 24rpx; box-shadow: 0 8rpx 28rpx rgba(99, 102, 241, 0.3), inset 0 2rpx 4rpx rgba(255, 255, 255, 0.1); } .swap-icon { font-size: 38rpx; color: #FFFFFF; font-weight: 700; } /* ===== RATE LIST (竖排) ===== */ .rate-list { display: flex; flex-direction: column; gap: 12rpx; margin-bottom: 28rpx; } .rate-item { padding: 24rpx 32rpx; text-align: center; } .rate-text { font-size: 26rpx; color: #64748B; font-weight: 600; letter-spacing: 1rpx; } /* ===== ERROR ===== */ .error-card { padding: 28rpx 32rpx; background: rgba(239, 68, 68, 0.08); border: 2rpx solid rgba(239, 68, 68, 0.15); text-align: center; } .error-text { font-size: 26rpx; color: #FCA5A5; } /* ===== OVERVIEW ENTRY ===== */ .overview-btn { margin-top: 8rpx; margin-bottom: 48rpx; } .overview-inner { display: flex; align-items: center; justify-content: center; gap: 12rpx; padding: 34rpx; border-radius: 20rpx; background: linear-gradient(135deg, rgba(59, 130, 246, 0.08) 0%, rgba(99, 102, 241, 0.06) 100%); border: 2rpx solid rgba(99, 102, 241, 0.15); } .overview-label { font-size: 30rpx; font-weight: 600; color: #93C5FD; letter-spacing: 2rpx; } .overview-arrow { font-size: 30rpx; color: #93C5FD; }