/* Private MPA first paint: no fake dashboard and no SEO/loading overlay.
   External same-origin stylesheet satisfies the existing strict CSP. */
html[data-mpa-firstpaint="app"] {
  background: #070b12;
}
html[data-mpa-firstpaint="app"] body {
  min-height: 100vh;
  margin: 0;
  background: #070b12;
}
html[data-mpa-firstpaint="app"] #root {
  min-height: 100vh;
}
html[data-mpa-firstpaint="app"] #root > [data-mpa-seo-entry] {
  display: none !important;
}
html[data-mpa-firstpaint="app"] #root > [data-mpa-seo-entry]::before,
html[data-mpa-firstpaint="app"] #root > [data-mpa-seo-entry]::after {
  content: none !important;
  display: none !important;
}
html[data-mpa-firstpaint="app"][data-public-theme="light"],
html[data-mpa-firstpaint="app"][data-public-theme="light"] body {
  background: #c0c6cc;
}

/* Avoid a flash of the static SEO-only markup while JavaScript is starting.
   The snapshot remains present in the HTML for crawlers and no-JS visitors.
   When bootstrap fails, main.tsx removes mpa-js-booting and reveals it. */
html.mpa-js-booting #root > [data-mpa-seo-entry] {
  visibility: hidden;
}
html.mpa-js-booting[data-mpa-firstpaint="site"],
html.mpa-js-booting[data-mpa-firstpaint="site"] body {
  min-height: 100%;
  margin: 0;
  background: #070b12;
}
html.mpa-js-booting[data-mpa-firstpaint="site"][data-public-theme="light"],
html.mpa-js-booting[data-mpa-firstpaint="site"][data-public-theme="light"] body {
  background: #e7eaee;
}
