﻿.demos-sub-title {
  text-align: center;
  color: #888;
  font-size: 14px;
}

.demos-header {
  padding: 35px 0;
}

.demos-content-padded {
  padding: 15px;
}

.demos-second-title {
  text-align: center;
  font-size: 24px;
  color: #3cc51f;
  font-weight: 400;
  margin: 0 15%;
}

footer {
  text-align: center;
  font-size: 14px;
  padding: 20px;
}

footer a {
  color: #999;
  text-decoration: none;
}

/* 课程同步加载角标 - 移动端参考样式 (Pill 风格) */
.project-container { position: relative; } /* 确保父级定位 */

.course-sync-badge {
    position: absolute;
    top: 2.666vw;
    right: 2.666vw;
    z-index: 100;
    height: 8vw;
    padding: 0 3.2vw;
    border-radius: 4vw;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 3.2vw;
    font-weight: 500;
    box-shadow: 0 0.533vw 1.066vw rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

/* 更新中状态：白色背景，蓝色边框，蓝色文字 */
.course-sync-badge.updating {
    display: flex;
    background: #fff;
    border: 1px solid #2a75ed;
    color: #2a75ed;
    align-items: center;
}

/* 更新完毕状态：蓝色背景，白色文字 */
.course-sync-badge.updated {
    display: flex;
    background: #2a75ed;
    border: 1px solid #2a75ed;
    color: #fff;
}

.course-sync-badge .icon {
    margin-right: 1.333vw;
    display: flex;
    align-items: center;
}
.course-sync-badge .icon + .text{line-height: 1;}
/* 蓝色 Spinner */
.course-sync-badge.updating .spinner {
    width: 3.5vw;
    height: 3.5vw;
    border: 0.4vw solid rgba(42, 117, 237, 0.2);
    border-top: 0.4vw solid #2a75ed;
    border-radius: 50%;
    animation: rotate 1s linear infinite;
}

/* 成功状态隐藏 Spinner */
.course-sync-badge.updated .icon {
    display: none;
}

@keyframes rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
