/* ---------- News feed page (/feed) ---------- */

.newsfeed-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-4); }
.newsfeed-tools__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.newsfeed-tools .chip .icon { vertical-align: -0.12em; }

.newsfeed-settings { padding: var(--space-4) var(--space-5); display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: var(--space-4) var(--space-6); margin-bottom: var(--space-4); }
.newsfeed-settings__group { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.newsfeed-settings__group h2 { margin: var(--space-2) 0 0; font-size: var(--text-sm); color: var(--ink-muted); text-transform: uppercase; letter-spacing: 0.04em; }
.newsfeed-settings__group h2:first-child { margin-top: 0; }
.newsfeed-settings__group .toggle > span { overflow-wrap: anywhere; }
.newsfeed-settings__note { grid-column: 1 / -1; margin: 0; }

.newsfeed-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
    gap: var(--space-4);
    margin: 0;
    padding: 0;
    list-style: none;
}

.newsfeed-card { display: flex; flex-direction: column; padding: 0; overflow: hidden; min-width: 0; }
.newsfeed-card.is-read { opacity: 0.62; }
.newsfeed-card.is-read:hover, .newsfeed-card.is-read:focus-within { opacity: 1; }

.newsfeed-card__link { display: flex; flex-direction: column; flex: 1; color: var(--ink); text-decoration: none; }
.newsfeed-card__link:hover .newsfeed-card__title { color: var(--accent); }

.newsfeed-card__image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--surface-2); }
.newsfeed-card__image--none { display: grid; place-items: center; color: var(--ink-muted); font-size: 2.2rem; }

.newsfeed-card__body { display: flex; flex-direction: column; gap: var(--space-1); padding: var(--space-3) var(--space-4) var(--space-2); min-width: 0; }
.newsfeed-card__meta { color: var(--ink-muted); font-size: var(--text-xs); overflow-wrap: anywhere; }
.newsfeed-card__meta .icon { vertical-align: -0.12em; }
.newsfeed-card__title { font-size: var(--text-md); line-height: 1.35; overflow-wrap: anywhere; }
.newsfeed-card__summary {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--ink-muted);
    font-size: var(--text-sm);
    line-height: 1.45;
}

.newsfeed-card__foot { display: flex; align-items: center; gap: var(--space-2); padding: 0 var(--space-3) var(--space-3) var(--space-4); min-height: var(--control-h-sm); }
.newsfeed-card__reason { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.newsfeed-card__reason .icon { flex: none; }
.newsfeed-card__actions { display: flex; gap: var(--space-1); margin-left: auto; }
.newsfeed-card__actions .icon-button.is-active { color: var(--accent); }
