/* Keep the current page visible until the completed next view is ready. */
html.fkt-navigation-enabled { scrollbar-gutter: stable; }
/* Capturing the root would stop hit-testing the persistent header during the fade. */
html.fkt-view-transition { view-transition-name: none; }
html.fkt-view-transition #fkt-page-content { view-transition-name: fkt-content; }
html.fkt-view-transition::view-transition {
	pointer-events: none;
	clip-path: inset(var(--fkt-transition-header-bottom, 0px) 0 0);
}
html.fkt-view-transition::view-transition-group(fkt-content) { animation: none; z-index: 0; }
/* Two text-heavy pages superimposed look like vibration. Only the completed view appears. */
html.fkt-view-transition::view-transition-old(fkt-content) { display: none; }
html.fkt-view-transition::view-transition-new(fkt-content) {
	animation: fkt-content-arrive 120ms ease-out both;
	mix-blend-mode: normal;
	height: auto;
	object-fit: none;
	object-position: left top;
}
@keyframes fkt-content-arrive { from { opacity: .96; } to { opacity: 1; } }
/* Fixed controls need their own layer above the page snapshot, including on mobile. */
html.fkt-view-transition .fk-floating-menu { view-transition-name: fkt-dock; }
html.fkt-view-transition .fk-mobile-action-bar { view-transition-name: fkt-mobile-actions; }
html.fkt-view-transition .fk-floating-favorite { view-transition-name: fkt-favorite; }
html.fkt-view-transition::view-transition-group(fkt-dock),
html.fkt-view-transition::view-transition-group(fkt-mobile-actions),
html.fkt-view-transition::view-transition-group(fkt-favorite) { animation: none; z-index: 1; }
html.fkt-view-transition::view-transition-old(fkt-dock),
html.fkt-view-transition::view-transition-old(fkt-mobile-actions),
html.fkt-view-transition::view-transition-old(fkt-favorite) { display: none; }
html.fkt-view-transition::view-transition-new(fkt-dock),
html.fkt-view-transition::view-transition-new(fkt-mobile-actions),
html.fkt-view-transition::view-transition-new(fkt-favorite) { animation: none; }
@media (prefers-reduced-motion: reduce) {
	html.fkt-view-transition::view-transition-group(*),
	html.fkt-view-transition::view-transition-old(*),
	html.fkt-view-transition::view-transition-new(*) { animation: none; }
}

/* A restored scroll position must not start a second header resize during capture. */
html.fkt-view-transition .fkt-header--floating :is(.fkt-desktop-header, .fkt-mobile-header, .fkt-header-row-inner, .fkt-mobile-header-inner, .fkt-brand-logo) { transition: none; }
