/* =======================
   公共元素基础样式
   ======================= */
.card {
    position: relative;
}

.badge {
    position: absolute;
    top: 8px;
    right: 8px;
    font-size: 11px;
    padding: 1px 6px;
    border-radius: 8px;
}

.link:hover {
    text-decoration: underline;
}

.section-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: #374151;
}

/* =======================
   Ready / Not Ready 状态徽章
   ======================= */
.card[data-status="ready"] .badge {
    background: #DCFCE7;
    /* 浅绿底 */
    color: #15803D;
    /* 深绿字 */
}

.card[data-status="not-ready"] .badge {
    background: #FEE2E2;
    /* 浅红底 */
    color: #B91C1C;
    /* 深红字 */
}

/* =======================
   顶部状态说明徽章
   ======================= */
.badge-demo {
    font-size: 12px;
    padding: 2px 6px;
    border-radius: 6px;
    margin-right: 4px;
}

.badge-demo-p {
    /* Ready */
    background: #DCFCE7;
    color: #15803D;
}

.badge-demo-d {
    /* Not Ready */
    background: #FEE2E2;
    color: #B91C1C;
}

/* =======================
   卡片尺寸与文字排版优化
   ======================= */
.card {
    padding: 0.75rem;
    /* 比 p-4 更紧凑，降低高度 */
}

.card h3 {
    font-size: 0.95rem;
    line-height: 1.25rem;
    margin-bottom: 0.25rem;
}

.card .link {
    font-size: 0.9rem;
    line-height: 1.3;
    word-break: break-all;
    /* 长域名自动换行，防止撑宽 */
}

/* =======================
   自适应网格（关键）
   ======================= */
/* 一行自动适配列数：每卡最小 320px，不足列数时自动拉伸填满 */
.cards {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}