/* Critical first paint: JavaScript replaces the public fallback only after an
   actual React commit. With JavaScript disabled, the original HTML stays visible. */
html.mfm-app-booting #root,
html.mfm-app-boot-failed #root { visibility: hidden; }
html.mfm-app-booting #mfm-app-loader,
html.mfm-app-boot-failed #mfm-app-loader {
  display: flex;
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
  box-sizing: border-box;
  padding: 24px;
  background: #f6f3ec;
  color: #0a0a0a;
  font-family: Inter, Arial, sans-serif;
  text-align: center;
}
#mfm-app-loader p { margin: 0; max-width: 42ch; line-height: 1.6; }
.mfm-loader-brand { display: flex; align-items: center; gap: 12px; font-size: 24px; font-weight: 700; letter-spacing: .08em; }
.mfm-loader-brand img { display: block; flex: none; }
.mfm-loader-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.mfm-loader-actions button { min-height: 44px; padding: 10px 18px; border: 1px solid currentColor; border-radius: 8px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.mfm-loader-actions button:focus-visible { outline: 3px solid #570018; outline-offset: 4px; }
