/* Blog-only feedback. Entrances use temporary WAAPI effects, never hidden defaults. */
.nst-blog {
	--nst-blog-motion-ease: cubic-bezier(0.16, 1, 0.3, 1);
}
.nst-blog-title-mark { display: inline-block; transform-origin: left bottom; }
.nst-blog-card__image img { transition: transform 420ms var(--nst-blog-motion-ease); }
.nst-blog-card__title a,
.nst-blog-back a {
	background-image: linear-gradient(var(--nst-blog-signal), var(--nst-blog-signal));
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 0% 3px;
	text-decoration: none;
	transition: background-size 260ms var(--nst-blog-motion-ease);
}
.nst-blog-card__title a:hover,
.nst-blog-card__title a:focus-visible,
.nst-blog-back a:hover,
.nst-blog-back a:focus-visible {
	background-size: 100% 3px;
	text-decoration: none;
}
.nst-blog-card:focus-within .nst-blog-card__image img { transform: scale(1.035); }
@media (hover: hover) and (pointer: fine) {
	.nst-blog-card:hover .nst-blog-card__image img { transform: scale(1.035); }
}
.nst-blog-toc a {
	position: relative;
	transition: color 160ms ease;
}
.nst-blog-toc a::after {
	position: absolute;
	content: '';
	left: 0;
	bottom: 2px;
	width: 1.5rem;
	height: 3px;
	background: var(--nst-blog-signal);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 240ms var(--nst-blog-motion-ease);
}
.nst-blog-toc a[aria-current='location']::after { transform: scaleX(1); }
.nst-blog-pagination a { transition: background-color 180ms ease, color 180ms ease; }
.nst-blog-pagination a:hover,
.nst-blog-pagination a:focus-visible { background: var(--nst-blog-signal); color: var(--nst-blog-ink); }
