/* Both speeds are named so motion.css can keep them running under Reduce Motion: standby
   is CRT theatre, not decoration. Waking is a removed element, so nothing fades back. */
.mf-standby {
	--mf-standby-fade: 3s;
	--mf-standby-pulse: 4s;

	position: fixed;
	inset: 0;
	z-index: var(--mf-z-standby);
	display: grid;
	place-items: center;
	/* Not opaque: a terminal faintly lit underneath reads as idling, not as off. */
	background: color-mix(in srgb, var(--mf-color-background) 92%, transparent);
	animation: mf-standby-dim var(--mf-standby-fade) ease-in both;
}

.mf-standby-face {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--mf-space-4);
	text-align: center;
}

.mf-standby-machine {
	color: var(--mf-color-text-muted);
	font-size: var(--mf-font-size-label);
	letter-spacing: var(--mf-track-label);
	text-transform: uppercase;
}

.mf-standby-line {
	color: var(--mf-color-accent);
	font-size: var(--mf-font-size);
	font-weight: var(--mf-font-weight-strong);
	letter-spacing: var(--mf-track-heading);
	text-transform: uppercase;
	animation: mf-standby-breathe var(--mf-standby-pulse) ease-in-out infinite;
}

.mf-standby-hint {
	color: var(--mf-color-text-muted);
	font-size: var(--mf-font-size-tiny);
	letter-spacing: var(--mf-track-caption);
}

@keyframes mf-standby-dim {
	from {
		opacity: 0;
	}
}

@keyframes mf-standby-breathe {
	50% {
		opacity: 0.25;
	}
}
