/**
 * OSHIDA — entrance animation.
 *
 * Read assets/js/reveal.js before changing anything here.
 *
 * The RESTING state of a `[data-o-reveal]` element is its finished state: no
 * rule in this file hides it. `.is-revealed`, which assets/js/reveal.js adds
 * when the element first crosses the viewport edge, starts an animation that
 * runs FROM hidden TO that resting state. A page whose observer never fires —
 * JavaScript off, no IntersectionObserver, reduced motion — is fully readable,
 * because it simply never animates.
 *
 * Do NOT add `[data-o-reveal] { opacity: 0 }`. That single line is what turns
 * an enhancement into a blank page.
 *
 * Owner: work package B1.
 */

@media (prefers-reduced-motion: no-preference) {
	@keyframes o-reveal-in {
		from {
			opacity: 0;
			translate: 0 14px;
		}

		to {
			opacity: 1;
			translate: 0 0;
		}
	}

	[data-o-reveal].is-revealed {
		animation: o-reveal-in var(--o-dur-slow) var(--o-ease-out) var(--o-reveal-delay, 0ms) both;
	}
}
