
        :root {
            --gold: #FBBF24;     /* 金 */
            --silver: #E5E7EB;   /* 银 */
            --bronze: #F59E0B;   /* 铜 */
            --primary-500: #3B82F6; /* 主色 */
            --gray-50: #F8FAFC;
            --gray-100: #F1F5F9;
            --gray-200: #E2E8F0;
            --gray-700: #334155;
            --shadow-sm: 0 1px 2px 0 rgba(0,0,0,0.05);
            --shadow-md: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -1px rgba(0,0,0,0.06);
            --transition: all 0.2s ease-in-out;
        }

        .self-label {
            font-size: 0.875rem;
            color: var(--primary-500);
            font-weight: 500;
            margin-left: 0.375rem;
            background: rgba(59, 130, 246, 0.1);
            padding: 0.125rem 0.5rem;
            border-radius: 999px;
        }

        .section-title {
            font-size: 1.875rem;
            font-weight: 700;
            color: var(--gray-700);
            margin-bottom: 2.5rem;
            text-align: center;
            position: relative;
        }

        .section-title::after {
            content: '';
            width: 60px;
            height: 4px;
            background: var(--primary-500);
            position: absolute;
            bottom: -12px;
            left: 50%;
            transform: translateX(-50%);
            border-radius: 2px;
        }

        /* 前三名布局 */
        .top3-grid {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 2rem;
            margin-bottom: 3rem;
            padding: 0 1rem;
        }

        .top1-card {
            grid-column: 2 / 3;
            grid-row: 1 / 3;
            transform: scale(1.1);
            z-index: 2;
        }

        .top2-card {
            grid-column: 1 / 2;
            grid-row: 2 / 3;
        }

        .top3-card {
            grid-column: 3 / 4;
            grid-row: 2 / 3;
        }

        /* 通用卡片样式 */
        .rank-card {
            background: linear-gradient(135deg, #F2F8FF 20%, #FFFFFD 100%);
            border-radius: 1rem;
            padding: 1.5rem;
            box-shadow: var(--shadow-md);
            transition: var(--transition);
            position: relative;
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .rank-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
        }

        /* 排名徽章 */
        .rank-badge {
            position: absolute;
            top: -1.85rem;
            left: 50%;
            transform: translateX(-50%);
            width: 48px;
            height: 48px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 800;
            font-size: 1.25rem;
            box-shadow: var(--shadow-md);
        }

        .top1-card .rank-badge {
            background: var(--gold);
            color: #92400E;
            border: 3px solid #FDE68A;
        }

        .top2-card .rank-badge {
            background: var(--silver);
            color: #475569;
            border: 3px solid #F1F5F9;
        }

        .top3-card .rank-badge {
            background: var(--bronze);
            color: #7C2D12;
            border: 3px solid #FED7AA;
        }

        /* 用户信息（可点击） */
        .user-link {
            display: inline-flex;
            align-items: center;
            gap: 1rem;
            text-decoration: none;
            color: inherit;
        }

        .user-avatar {
            width: 80px;
            height: 80px;
            border-radius: 50%;
            object-fit: cover;
            border: 4px solid white;
            box-shadow: var(--shadow-sm);
            transition: var(--transition);
        }

        .user-link:hover .user-avatar {
            transform: scale(1.05);
        }

        .user-info {
            display: flex;
            flex-direction: column;
            gap: 0.25rem;
        }

        .user-name {
            font-size: 1.125rem;
            font-weight: 600;
            color: var(--gray-700);
            transition: var(--transition);
        }

        .user-link:hover .user-name {
            color: var(--primary-500);
        }

        .user-level {
            font-size: 0.875rem;
            color: #64748B;
            background: var(--gray-100);
            padding: 0.25rem 0.75rem;
            border-radius: 999px;
            display: inline-block;
        }

        /* 数据统计 */
        .stats-group {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1rem;
            border-top: 1px solid var(--gray-200);
            padding-top: 1.25rem;
        }

        .stat-item {
            text-align: center;
        }

        .stat-value {
            font-size: 1.25rem;
            font-weight: 700;
            margin-bottom: 0.25rem;
        }

        .stat-label {
            font-size: 0.875rem;
            color: #64748B;
        }

        /* 颜色编码 */
        .stat-value.posts { color: #22C55E; }
        .stat-value.topics { color: #3B82F6; }
        .stat-value.exp { color: #D946EF; }
        .stat-value.gold { color: #F59E0B; }

        /* 后续排名优化 */
        .rest-rank {
            display: grid;
            grid-template-columns: 1fr;
            gap: 1.5rem;
            margin-top: 2rem;
        }

        .rest-card {
            flex-direction: row;
            align-items: center;
            padding: 1.25rem 1.5rem;
            gap: 1.5rem;
        }

        .rest-card .rank-badge {
            position: static;
            transform: none;
            width: 32px;
            height: 32px;
            font-size: 1rem;
            flex-shrink: 0; /* 防止徽章被压缩 */
        }

        .rest-card .user-link {
            flex: 1; /* 占据剩余空间 */
            min-width: 0; /* 防止文字溢出 */
        }

        .rest-card .user-avatar {
            width: 56px;
            height: 56px;
            border-width: 3px;
        }

        .rest-card .stats-group {
            border: none;
            padding: 0;
            min-width: 280px;
            flex-shrink: 0; /* 统计区不收缩 */
        }

        /* 响应式调整 */
        @media (max-width: 768px) {
            .top3-grid {
                grid-template-columns: 1fr;
                padding: 0;
            }

            .top1-card, .top2-card, .top3-card {
                grid-column: auto;
                grid-row: auto;
                transform: scale(1);
            }

            .rest-card {
                flex-direction: column;
                align-items: flex-start;
                gap: 1.25rem;
            }

            .rest-card .stats-group {
                width: 100%;
                min-width: auto;
                grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
            }
        }