.article-card[data-v-216a29f6]{background:var(--color-bg-elevated);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.article-card[data-v-216a29f6]:hover{border-color:color-mix(in srgb,var(--color-accent) 30%,var(--color-line));box-shadow:var(--shadow-hover);transform:translateY(-4px)}.card-link[data-v-216a29f6]{color:inherit;display:block}.cover-wrap[data-v-216a29f6]{background:var(--color-bg-subtle);height:clamp(200px,28vw,280px);overflow:hidden;position:relative;width:100%}.cover-wrap img[data-v-216a29f6]{height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;transition:transform .55s ease;width:100%}.article-card:hover .cover-wrap img[data-v-216a29f6]{transform:scale(1.06)}.card-body[data-v-216a29f6]{padding:1.25rem 1.5rem 1.5rem}.meta-row[data-v-216a29f6]{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem .85rem;margin-bottom:.65rem}.meta-date[data-v-216a29f6]{color:var(--color-ink-muted);font-size:.78rem}.meta-cat[data-v-216a29f6]{background:var(--color-accent-soft);border:1px solid var(--color-accent-border);border-radius:999px;color:var(--color-accent);font-size:.75rem;font-weight:600;padding:.18rem .6rem}.meta-cat[data-v-216a29f6]:hover{background:color-mix(in srgb,var(--color-accent-soft) 55%,#fff)}.title[data-v-216a29f6]{color:var(--color-ink);font-size:clamp(1.12rem,2.4vw,1.35rem);font-weight:700;line-height:1.42;margin:0;transition:color var(--motion)}.article-card:hover .title[data-v-216a29f6]{color:var(--color-accent)}.summary[data-v-216a29f6]{color:var(--color-ink-muted);display:-webkit-box;font-size:.92rem;-webkit-line-clamp:2;line-height:1.75;margin:.65rem 0 0;-webkit-box-orient:vertical;overflow:hidden}.read-more[data-v-216a29f6]{align-items:center;color:var(--color-accent);display:inline-flex;font-size:.84rem;font-weight:600;margin-top:1rem}.read-more[data-v-216a29f6]:after{content:"→";margin-left:.35rem;transition:transform var(--motion)}.article-card:hover .read-more[data-v-216a29f6]:after{transform:translate(5px)}
