 .page-title {
     text-align: center;
     color: #2d3748;
     margin-bottom: 40px;
     font-size: 28px;
     font-weight: 600;
 }

 .project-container {
     max-width: 1200px;
     margin: 0 auto;
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
     gap: 30px;
     height: auto;
     padding: 10px;
 }

 .project-card {
     background-color: #fff;
     border-radius: 12px;
     overflow: hidden;
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
     transition: transform 0.3s ease;
 }

 .project-card:hover {
     transform: translateY(-5px);
 }

 .project-img {
     width: 100%;
     height: 200px;
     object-fit: cover;
 }

 .project-content {
     padding: 20px;
 }

 .project-name {
     color: #2d3748;
     font-size: 20px;
     font-weight: 600;
     margin-bottom: 10px;
 }

 .project-desc {
     color: #718096;
     font-size: 14px;
     line-height: 1.6;
     margin-bottom: 15px;
 }

 .progress-container {
     width: 100%;
     height: 8px;
     background-color: #edf2f7;
     border-radius: 4px;
     margin-bottom: 15px;
 }

 .progress-bar {
     height: 100%;
     border-radius: 4px;
     background: linear-gradient(90deg, rgb(248, 135, 135), #b20405);
 }

 .progress-text {
     color: #4a5568;
     font-size: 13px;
     margin-bottom: 20px;
     display: flex;
     /* 开启Flex */
     justify-content: space-between;
     /* 两端对齐 */
     align-items: center;
     /* 垂直居中 */
 }

 .join-btn {
     display: block;
     width: 100%;
     padding: 12px 0;
     text-align: center;
     background: linear-gradient(90deg, rgb(248, 135, 135), #b20405);
     color: #fff;
     border: none;
     border-radius: 8px;
     font-size: 16px;
     font-weight: 500;
     cursor: pointer;
     transition: opacity 0.3s ease;
     text-decoration: none;
 }

 .join-btn:hover {
     opacity: 0.8;
 }

 /* 响应式适配手机端（屏幕宽度≤768px时生效） */
 @media (max-width: 768px) {
     .project-container {
         grid-template-columns: 1fr;
         /* 强制单列布局 */
         gap: 20px;
         /* 缩小卡片间距，更适合手机屏幕 */
     }

     .page-title {
         font-size: 24px;
         /* 标题字体稍小，适配手机 */
         margin-bottom: 30px;
         /* 减少标题下方间距 */
     }

     body {
         padding: 30px 15px;
         /* 减少页面内边距，充分利用手机屏幕 */
     }
 }