/* The user's shared look (UserLookService, wwwroot/js/mbs-user-look.js on the host).
 * Text size: the whole page is zoomed; body keeps filling the window because its 100vw / 100vh size is divided by the zoom. */
/* One hundredth of the window height inside the zoomed page: vh is not divided by zoom, so a dialog or popup sized
 * with calc(100vh - ...) would be taller than the window at a larger text size. Use calc(N * var(--mbs-vh, 1vh)). */
:root { --mbs-vh: 1vh; }
html[data-text-zoom] { --mbs-vh: calc(1vh / var(--mbs-text-zoom, 1)); }

html[data-text-zoom] body {
  zoom: var(--mbs-text-zoom, 1);
  width: calc(100vw / var(--mbs-text-zoom, 1)) !important;
  height: calc(100vh / var(--mbs-text-zoom, 1)) !important;
}
/* The shell is sized in viewport units, which zoom does not divide; inside a zoomed page it fills the body instead. */
html[data-text-zoom] .mbs-shell-wrapper {
  width: 100% !important;
  height: 100% !important;
}

/* Reduce motion: no animations, transitions or smooth scrolling anywhere. */
html[data-reduce-motion] *,
html[data-reduce-motion] *::before,
html[data-reduce-motion] *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
  scroll-behavior: auto !important;
}
