/* home — landing: intro prose + featured grid */
.home-intro { max-width: 46rem; margin-bottom: 1.6rem; color: var(--fg); line-height: 1.7; white-space: pre-line; }
.home-top { display: flex; gap: 1.6rem; align-items: flex-start; margin-bottom: 1.6rem; }
.home-top .home-intro { flex: 1 1 auto; margin-bottom: 0; }
.home-hero { flex: 0 0 auto; width: 20rem; max-width: 42%; height: auto; display: block; border: 1px solid var(--line); }
@media (max-width: 700px) { .home-top { flex-direction: column; } .home-hero { width: 100%; max-width: none; } }

.home-feat-head {
    color: var(--accent); font-size: 0.85rem; letter-spacing: 0.06em;
    border-top: 1px solid var(--line); padding-top: 0.9rem; margin-bottom: 0.8rem;
    display: flex; justify-content: space-between; align-items: baseline; gap: 1rem;
}
.home-feat-all { color: var(--dim); font-size: 0.78rem; letter-spacing: 0; text-decoration: none; transition: color 0.12s ease; }
.home-feat-all:hover { color: var(--accent); text-decoration: none; }

.home-feat { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0.8rem; }

.home-card {
    display: block; border: 1px solid var(--line); background: var(--panel);
    color: var(--fg); text-decoration: none; overflow: hidden; position: relative;
}
.home-card:hover { border-color: var(--accent); }
.home-card-rm {
    position: absolute; top: 5px; right: 5px; width: 1.5rem; height: 1.5rem;
    display: flex; align-items: center; justify-content: center; line-height: 1;
    background: rgba(10, 10, 10, 0.82); border: 1px solid var(--line); color: var(--fg);
    font-size: 1rem; cursor: pointer; opacity: 0; transition: opacity 0.12s;
}
.home-card:hover .home-card-rm { opacity: 1; }
.home-card-rm:hover { border-color: var(--c-orange); color: var(--c-orange); }
.home-thumb {
    aspect-ratio: 16 / 9; background-color: var(--bg);
    background-position: center; background-size: cover; background-repeat: no-repeat;
}
.home-thumb-empty { display: flex; align-items: center; justify-content: center; color: var(--dim); font-size: 1.6rem; }
.home-card-b { padding: 0.5rem 0.6rem 0.6rem; }
.home-card-t { font-size: 0.9rem; overflow: hidden; }
.home-card-tt { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; color: var(--fg); }
.home-card-tt.is-scroll { max-width: none; overflow: visible; text-overflow: clip; animation: home-marq linear forwards; }
@keyframes home-marq { from { transform: translateX(0); } to { transform: translateX(var(--sc, 0)); } }
.home-card-c { color: var(--accent); font-size: 0.8rem; margin-top: 0.15rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-empty { color: var(--dim); font-size: 0.85rem; }

@media (max-width: 700px) {
    .home-feat { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
}
