/* 文章列表：保留原型四欄卡片、4:3 封面及分類按鈕。 */
.articles-page .toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin:1rem 0; }
.articles-page .grid.cards { grid-template-columns:repeat(4,minmax(0,1fr)); }
.articles-page .grid.cards > .panel { grid-column:1/-1; }
.article-card { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-card); overflow:hidden; transition:transform 220ms ease,box-shadow 220ms ease,border-color 220ms ease; }
.article-card:hover,.article-card:focus-within { transform:translateY(-4px); box-shadow:var(--shadow-card-hover); border-color:#e2c7b8; }
.article-body { padding:1rem; }
.article-thumb { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:#f8ede8; }
.article-thumb::after { content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 42%);opacity:0;transition:opacity 220ms ease; }
.article-thumb img { width:100%;height:100%;object-fit:cover;transition:transform 220ms ease; }
.article-card:hover .article-thumb img,.article-card:focus-within .article-thumb img { transform:scale(1.04); }
.article-card:hover .article-thumb::after,.article-card:focus-within .article-thumb::after { opacity:1; }
.article-card h3 { margin:0 0 .3rem;line-height:1.35;letter-spacing:-.01em; }
.article-card .meta-row { display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem; }
.article-card h3,.article-card p,.article-card .tag,.articles-page .toolbar .btn { overflow-wrap:anywhere; }
#articles-retry { margin-top:1rem; }
@media(max-width:1024px) { .articles-page .grid.cards {grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;} }

@media(prefers-reduced-motion:reduce) { .article-card,.article-thumb img,.article-thumb::after {transition:none;} }