page { background: #0d1117; color: #fff; font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', sans-serif; } .rank-page { min-height: 100vh; position: relative; } .page-bg { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; } .top-bar { position: relative; z-index: 10; padding: 16rpx 28rpx 20rpx; } .top-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20rpx; } .page-title { font-size: 38rpx; font-weight: 700; color: #fff; } .refresh-wrap { width: 60rpx; height: 60rpx; border-radius: 50%; background: rgba(255,255,255,0.14); display: flex; align-items: center; justify-content: center; } .refresh-ico { width: 32rpx; height: 32rpx; opacity: 0.8; } .role-scroll { width: 100%; white-space: nowrap; margin-bottom: 16rpx; } .role-line { display: inline-flex; gap: 12rpx; } .role-chip { display: inline-block; padding: 12rpx 28rpx; border-radius: 999rpx; font-size: 26rpx; color: rgba(255,255,255,0.65); background: rgba(20, 26, 40, 0.75); border: 1rpx solid rgba(255,255,255,0.12); } .role-chip.on { color: #fff; font-weight: 600; background: rgba(107, 163, 247, 0.45); border-color: rgba(107, 163, 247, 0.65); box-shadow: 0 0 20rpx rgba(107, 163, 247, 0.2); } .date-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10rpx; margin-bottom: 12rpx; } .date-chip { text-align: center; padding: 14rpx 0; border-radius: 14rpx; font-size: 24rpx; color: rgba(255,255,255,0.65); background: rgba(20, 26, 40, 0.72); border: 1rpx solid rgba(255,255,255,0.08); } .date-chip.on { color: #A8CCFF; font-weight: 600; background: rgba(107, 163, 247, 0.35); border-color: rgba(107, 163, 247, 0.55); } .sort-tip { font-size: 22rpx; color: rgba(255,255,255,0.3); } .state-wrap { position: relative; z-index: 5; display: flex; flex-direction: column; align-items: center; padding: 140rpx 0; color: rgba(255,255,255,0.45); font-size: 28rpx; } .loader { width: 48rpx; height: 48rpx; border: 3rpx solid rgba(255,255,255,0.12); border-top-color: #6BA3F7; border-radius: 50%; animation: spin 0.7s linear infinite; margin-bottom: 20rpx; } @keyframes spin { to { transform: rotate(360deg); } } .state-img { width: 160rpx; height: 160rpx; margin-bottom: 20rpx; opacity: 0.65; } .body-scroll { position: relative; z-index: 5; height: calc(100vh - 300rpx); } .podium-panel { margin: 8rpx 24rpx 24rpx; padding: 28rpx 12rpx 0; border-radius: 28rpx; background: rgba(14, 18, 30, 0.88); border: 1rpx solid rgba(255, 255, 255, 0.1); } .podium-cols { display: flex; align-items: flex-end; justify-content: center; gap: 10rpx; } .p-col { flex: 1; max-width: 220rpx; display: flex; flex-direction: column; align-items: center; } .p-first { max-width: 250rpx; margin-bottom: 16rpx; } .p-badge { width: 44rpx; height: 44rpx; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 14rpx; font-size: 24rpx; font-weight: 800; } .p-first .p-badge { width: 52rpx; height: 52rpx; font-size: 28rpx; } .badge-first { color: #fff; background: linear-gradient(145deg, #6BA3F7, #4A7FD4); box-shadow: 0 4rpx 16rpx rgba(107, 163, 247, 0.4); } .badge-silver { color: #fff; background: linear-gradient(145deg, #A8B4C4, #7A8899); box-shadow: 0 4rpx 12rpx rgba(168, 180, 196, 0.25); } .badge-bronze { color: #fff; background: linear-gradient(145deg, #C4A882, #9A7858); box-shadow: 0 4rpx 12rpx rgba(196, 168, 130, 0.25); } .p-avatar-wrap { border-radius: 50%; padding: 4rpx; margin-bottom: 12rpx; } .wrap-first { padding: 5rpx; background: linear-gradient(145deg, #8EB8FF, #5B8FD8); box-shadow: 0 6rpx 24rpx rgba(107, 163, 247, 0.3); } .wrap-silver { background: linear-gradient(145deg, #C8D0DA, #909AA8); } .wrap-bronze { background: linear-gradient(145deg, #D4B896, #A88860); } .p-avatar { width: 100rpx; height: 100rpx; border-radius: 50%; display: block; background: #1a2030; } .p-avatar-lg { width: 120rpx; height: 120rpx; } .p-name { font-size: 26rpx; font-weight: 600; color: rgba(255,255,255,0.92); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: center; } .p-name-first { font-size: 28rpx; color: #fff; } .p-uid { margin-top: 4rpx; font-size: 20rpx; color: rgba(255,255,255,0.35); } .p-amount { margin: 12rpx 0 10rpx; text-align: center; } .p-money { display: block; font-size: 30rpx; font-weight: 700; color: #8EB8FF; } .p-money-first { font-size: 34rpx; color: #A8CCFF; } .p-label { display: block; margin-top: 2rpx; font-size: 20rpx; color: rgba(255,255,255,0.35); } .p-metrics { display: flex; flex-wrap: wrap; gap: 6rpx; justify-content: center; margin-bottom: 16rpx; min-height: 36rpx; } .p-metric { font-size: 18rpx; color: rgba(255,255,255,0.55); background: rgba(255,255,255,0.1); padding: 4rpx 10rpx; border-radius: 8rpx; } .p-pedestal { width: 88%; border-radius: 20rpx 20rpx 0 0; position: relative; } .p-pedestal::before { content: ''; position: absolute; top: 0; left: 10%; right: 10%; height: 2rpx; background: rgba(255,255,255,0.15); border-radius: 2rpx; } .pedestal-first { height: 100rpx; background: linear-gradient(180deg, rgba(107,163,247,0.55) 0%, rgba(107,163,247,0.22) 100%); border: 1rpx solid rgba(107,163,247,0.35); border-bottom: none; } .pedestal-silver { height: 72rpx; background: linear-gradient(180deg, rgba(168,180,196,0.45) 0%, rgba(168,180,196,0.18) 100%); border: 1rpx solid rgba(168,180,196,0.28); border-bottom: none; } .pedestal-bronze { height: 56rpx; background: linear-gradient(180deg, rgba(196,168,130,0.45) 0%, rgba(196,168,130,0.18) 100%); border: 1rpx solid rgba(196,168,130,0.28); border-bottom: none; } .list-wrap { padding: 0 24rpx; } .list-title-row { display: flex; align-items: baseline; justify-content: space-between; padding: 8rpx 8rpx 20rpx; } .list-title { font-size: 30rpx; font-weight: 700; color: rgba(255,255,255,0.85); } .list-range { font-size: 22rpx; color: rgba(255,255,255,0.3); } .list-card { position: relative; margin-bottom: 14rpx; border-radius: 18rpx; overflow: hidden; border: 1rpx solid rgba(255,255,255,0.05); } .list-card-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; } .list-card-body { position: relative; z-index: 1; display: flex; align-items: center; padding: 20rpx 22rpx; background: rgba(12, 16, 28, 0.92); backdrop-filter: blur(8px); } .lc-rank { width: 48rpx; flex-shrink: 0; text-align: center; } .lc-rank text { font-size: 32rpx; font-weight: 700; color: rgba(255,255,255,0.18); } .lc-avatar { width: 80rpx; height: 80rpx; border-radius: 50%; flex-shrink: 0; margin: 0 16rpx 0 6rpx; border: 2rpx solid rgba(107, 163, 247, 0.2); background: #1a2030; } .lc-info { flex: 1; min-width: 0; } .lc-name { display: block; font-size: 28rpx; font-weight: 600; color: rgba(255,255,255,0.92); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .lc-uid { display: block; margin-top: 4rpx; font-size: 22rpx; color: rgba(255,255,255,0.32); } .lc-tags { display: flex; flex-wrap: wrap; gap: 8rpx; margin-top: 8rpx; } .lc-tag { font-size: 20rpx; color: rgba(255,255,255,0.5); background: rgba(255,255,255,0.1); padding: 2rpx 10rpx; border-radius: 6rpx; } .lc-score { flex-shrink: 0; text-align: right; margin-left: 10rpx; } .lc-money { display: block; font-size: 28rpx; font-weight: 700; color: #8EB8FF; } .lc-label { display: block; margin-top: 2rpx; font-size: 20rpx; color: rgba(255,255,255,0.32); } .bottom-gap { height: 48rpx; }