.guide-popup { position: fixed; inset: 0; z-index: 40; .guide-mask { position: absolute; inset: 0; background: rgba(10, 13, 24, 0.42); backdrop-filter: blur(10rpx); opacity: 0; transition: opacity 0.28s ease; } .guide-shell { position: absolute; left: 0; right: 0; bottom: 0; transform: translateY(calc(100% + 48rpx)); transition: transform 0.28s ease; will-change: transform; pointer-events: auto; width: 100%; } .guide-drag-bar { width: 88rpx; height: 8rpx; margin: 0 auto 18rpx; border-radius: 999rpx; background: rgba(255, 255, 255, 0.72); } .guide-avatar-wrap { position: absolute; left: 50%; top: -40rpx; transform: translateX(-50%); z-index: 2; width: 132rpx; height: 132rpx; padding: 8rpx; border-radius: 50%; background: #edf0f7; box-sizing: border-box; box-shadow: 0 18rpx 42rpx rgba(11, 18, 35, 0.14); display: flex; align-items: center; justify-content: center; } .guide-avatar { width: 90%; height: 90%; border-radius: 50%; border: 6rpx solid rgba(255, 255, 255, 0.95); box-shadow: 0 16rpx 40rpx rgba(0, 0, 0, 0.18); background: #f6f7fb; } .guide-avatar-fallback { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #ffd7dc 0%, #ff8ba2 100%); color: #ffffff; font-size: 40rpx; font-weight: 700; } .guide-panel { border-radius: 28rpx; padding: 82rpx 24rpx 28rpx; background: linear-gradient(180deg, #edf0f7 0%, #e7ebf4 100%); box-shadow: 0 28rpx 70rpx rgba(11, 18, 35, 0.18); box-sizing: border-box; } .guide-topbar { position: relative; width: 100%; display: flex; align-items: center; justify-content: space-between; margin-bottom: 24rpx; } .guide-name { flex: 1; text-align: center; color: #2a2f3a; font-size: 28rpx; font-weight: 600; line-height: 1.4; box-sizing: border-box; pointer-events: none; } .guide-entry { position: absolute; right: 5%; top: -30%; margin-left: auto; display: flex; align-items: center; gap: 8rpx; color: #2f3442; z-index: 1; } .guide-entry-icon { width: 28rpx; height: 28rpx; } .guide-entry-text { font-size: 28rpx; line-height: 1.4; } .guide-balance-card { margin-top: 26rpx; padding: 22rpx 20rpx; border-radius: 24rpx; background: rgba(255, 255, 255, 0.44); display: flex; align-items: center; justify-content: space-between; gap: 16rpx; } .guide-balance-main { flex: 1; min-width: 0; } .guide-balance-label { color: #5f6675; font-size: 24rpx; line-height: 1.4; } .guide-balance-value { margin-top: 10rpx; color: #ff285d; font-size: 54rpx; font-weight: 700; line-height: 1; } .guide-balance-actions { display: flex; align-items: center; gap: 12rpx; flex-shrink: 0; } .guide-pill { min-width: 120rpx; padding: 0 22rpx; height: 58rpx; border-radius: 999rpx; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.74); color: #ff4774; font-size: 24rpx; line-height: 1; box-sizing: border-box; } .guide-pill-primary { background: linear-gradient(135deg, #ff5d87 0%, #ff3365 100%); color: #ffffff; } .guide-grid { margin-top: 22rpx; padding: 18rpx 12rpx 4rpx; border-radius: 24rpx; background: rgba(255, 255, 255, 0.32); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 28rpx; } .guide-grid-item { min-height: 126rpx; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; } .guide-grid-icon { width: 44rpx; height: 44rpx; } .guide-grid-label { margin-top: 16rpx; color: #2f3442; font-size: 26rpx; line-height: 1.4; text-align: center; } &.is-visible { .guide-mask { opacity: 1; } .guide-shell { transform: translateY(0); } } }