.result-hero { position: relative; overflow: hidden; padding: 50rpx 30rpx; background: #183f31; border-radius: 36rpx; color: #fff; text-align: center; } .trophy { display: flex; align-items: center; justify-content: center; width: 100rpx; height: 100rpx; margin: 0 auto 24rpx; background: #d9ef72; border-radius: 32rpx; color: #17231d; font-size: 54rpx; } .result-eyebrow { color: rgba(255, 255, 255, 0.58); font-size: 20rpx; font-weight: 800; letter-spacing: 4rpx; } .winner { margin-top: 12rpx; font-size: 52rpx; font-weight: 900; } .winner-copy { margin-top: 12rpx; color: rgba(255, 255, 255, 0.72); font-size: 25rpx; } .result-meta { margin-top: 32rpx; padding-top: 24rpx; border-top: 2rpx solid rgba(255, 255, 255, 0.12); color: #d9ef72; font-size: 22rpx; } .confetti { position: absolute; width: 20rpx; height: 70rpx; background: #ef8f4a; transform: rotate(28deg); } .confetti-a { top: 70rpx; left: 45rpx; } .confetti-b { top: 120rpx; right: 50rpx; height: 48rpx; background: #d9ef72; transform: rotate(-35deg); } .highlight-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12rpx; margin-top: 20rpx; } .highlight { padding: 24rpx 10rpx; background: #fffdf7; border-radius: 22rpx; text-align: center; } .highlight-value { font-size: 38rpx; font-weight: 900; } .highlight-label { margin-top: 5rpx; color: #7c8580; font-size: 20rpx; } .ranking-list { overflow: hidden; background: #fffdf7; border-radius: 28rpx; } .ranking-row { display: flex; align-items: center; gap: 16rpx; padding: 22rpx 20rpx; border-bottom: 2rpx solid rgba(23, 35, 29, 0.07); } .ranking-row:last-child { border-bottom: none; } .rank { width: 32rpx; color: #8b938e; font-size: 23rpx; font-weight: 900; text-align: center; } .rank.top { color: #ef8f4a; } .rank-avatar { display: flex; align-items: center; justify-content: center; width: 62rpx; height: 62rpx; background: #e7eee8; border-radius: 20rpx; font-size: 23rpx; font-weight: 800; } .rank-main { flex: 1; min-width: 0; } .rank-name { overflow: hidden; font-size: 26rpx; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; } .rank-copy { margin-top: 5rpx; color: #7c8580; font-size: 20rpx; } .rank-role { flex: 0 0 auto; max-width: 150rpx; color: #1d6b4f; font-size: 21rpx; font-weight: 700; text-align: right; } .badge-card { display: flex; gap: 20rpx; margin-top: 26rpx; padding: 26rpx; background: #fff0df; border-radius: 26rpx; } .badge-icon { display: flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 70rpx; height: 70rpx; background: #ef8f4a; border-radius: 22rpx; color: #fff; font-size: 36rpx; } .badge-title { color: #813f16; font-size: 26rpx; font-weight: 800; } .badge-copy { margin-top: 8rpx; color: #9c531e; font-size: 21rpx; line-height: 1.5; }