.vgrid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.vcard{border:1px solid var(--color-line);border-radius:var(--radius-md,12px);background:var(--color-surface,#fff);color:inherit;flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;overflow:hidden}.vcard:hover{border-color:var(--color-brand);transform:translateY(-2px);box-shadow:0 10px 24px #2e221b1a}.vcard__media{aspect-ratio:16/9;background:var(--color-brand-tint,#f6e6dc);position:relative}.vcard__media img{object-fit:cover;width:100%;height:100%;display:block}.vcard__placeholder{height:100%;color:var(--color-brand);place-items:center;display:grid}.vcard__owned{font-size:var(--text-xs);color:#fff;background:#2f7a4a;border-radius:999px;padding:3px 10px;font-weight:700;position:absolute;top:10px;left:10px}.vcard__body{gap:var(--space-2);padding:var(--space-4);flex-direction:column;flex:1;display:flex}.vcard__title{font-size:var(--text-lg);margin:0;line-height:1.3}.vcard__summary{color:var(--color-ink-muted);font-size:var(--text-sm);margin:0}.vcard__meta{padding-top:var(--space-2);justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-ink-muted);margin-top:auto;display:flex}.vcard__meta strong{color:var(--color-brand);font-size:var(--text-base)}.vhow{gap:var(--space-2);padding:var(--space-5);border:1px solid var(--color-line);border-radius:var(--radius-lg,14px);background:var(--color-surface);display:grid}
