/* ==================== Loading 骨架屏 ====================
   应用：AJAX Tab 切换 / 数据加载中
   设计：与古风金色系一致（淡金 → 亮金 → 淡金 渐变扫光）
   ========================================================= */

.skeleton {
    position: relative;
    overflow: hidden;
    background: linear-gradient(90deg,
        rgba(212, 175, 55, 0.04) 25%,
        rgba(212, 175, 55, 0.16) 50%,
        rgba(212, 175, 55, 0.04) 75%);
    background-size: 200% 100%;
    animation: skeleton-shimmer 1.4s ease-in-out infinite;
    border-radius: 4px;
    border: 1px solid rgba(212, 175, 55, 0.18);
}

@keyframes skeleton-shimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* ====== 单卡片骨架（与活动卡结构一致） ====== */
.skeleton-card {
    background: linear-gradient(145deg, rgba(26, 21, 18, 0.95), rgba(15, 13, 11, 0.98));
    border: 1px solid var(--border-gold, rgba(201, 169, 78, 0.25));
    border-radius: 4px;
    padding: 32px;
    position: relative;
}

.skeleton-card .sk {
    background: linear-gradient(90deg,
        rgba(212, 175, 55, 0.06) 25%,
        rgba(212, 175, 55, 0.18) 50%,
        rgba(212, 175, 55, 0.06) 75%);
    background-size: 200% 100%;
    animation: skeleton-shimmer 1.4s ease-in-out infinite;
    border-radius: 2px;
}

.skeleton-card .sk-cover {
    width: 100%;
    height: 180px;
    margin-bottom: 20px;
    border-radius: 2px;
}

.skeleton-card .sk-title {
    height: 22px;
    width: 65%;
    margin-bottom: 18px;
}

.skeleton-card .sk-desc {
    height: 12px;
    margin-bottom: 8px;
}

.skeleton-card .sk-desc:nth-of-type(2) { width: 90%; }
.skeleton-card .sk-desc:nth-of-type(3) { width: 75%; }

.skeleton-card .sk-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid rgba(201, 169, 78, 0.1);
}

.skeleton-card .sk-date {
    width: 110px;
    height: 13px;
}

.skeleton-card .sk-link {
    width: 80px;
    height: 13px;
}

/* ====== 列表项骨架（留言板等） ====== */
.skeleton-list-item {
    background: rgba(15, 8, 7, 0.6);
    border: 1px solid rgba(212, 175, 55, 0.18);
    border-radius: 14px;
    padding: 18px 20px;
    margin-bottom: 16px;
}

.skeleton-list-item .sk-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.skeleton-list-item .sk-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    flex-shrink: 0;
}

.skeleton-list-item .sk-line {
    height: 12px;
    flex: 1;
    border-radius: 2px;
}

.skeleton-list-item .sk-line.title { height: 16px; width: 50%; margin-bottom: 10px; }
.skeleton-list-item .sk-line.text { height: 12px; }
.skeleton-list-item .sk-line.text:nth-of-type(2) { width: 95%; }
.skeleton-list-item .sk-line.text:nth-of-type(3) { width: 70%; }

/* ====== 占位提示文字 ====== */
.skeleton-tip {
    grid-column: 1/-1;
    text-align: center;
    color: var(--text-muted, #6B5D52);
    padding: 40px 0;
    font-size: 14px;
    letter-spacing: 2px;
}

/* ====== 减少动画偏好 ====== */
@media (prefers-reduced-motion: reduce) {
    .skeleton, .skeleton-card .sk {
        animation: none;
        background: rgba(212, 175, 55, 0.08);
    }
}
