/* First paint of the public site only (ADR 0010, ADR 0055), linked from marketing.html after
   critical-paint.css. Split from critical-paint.css on 2026-09-29 so /login does not download
   the site's theme and cookie-bar geometry (perf:l1 ceiling). */

/* The site page colour per theme (consent-boot.js sets data-site-theme before paint; the media
   query covers no-JavaScript), so neither white nor the app navy flashes. */
html[data-public-ssg="1"],
html[data-public-ssg="1"] body,
html[data-public-ssg="1"] #root {
  background: #eceff5;
}
html[data-public-ssg="1"][data-site-theme="dark"],
html[data-public-ssg="1"][data-site-theme="dark"] body,
html[data-public-ssg="1"][data-site-theme="dark"] #root {
  background: #0b0c13;
}
@media (prefers-color-scheme: dark) {
  html[data-public-ssg="1"]:not([data-site-theme]),
  html[data-public-ssg="1"]:not([data-site-theme]) body,
  html[data-public-ssg="1"]:not([data-site-theme]) #root {
    background: #0b0c13;
  }
}

/*
 * First visit: park the banner at the bottom before marketing.css.
 * In-flow (after the footer) jumping to position:fixed in the viewport is CLS.
 * Geometry owner for unknown consent on the site: this file, not a late Tailwind class.
 */
html[data-public-ssg="1"]:not([data-cookie-consent]) [data-cookie-banner] {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 60;
  box-sizing: border-box;
  background-color: #f6f7fb;
  isolation: isolate;
  overflow: hidden;
}

/* Dark site theme: beats the white first-visit bar above (more specific, later). */
html[data-public-ssg="1"][data-site-theme="dark"]:not([data-cookie-consent]) [data-cookie-banner] {
  background-color: #151823;
  border-top-color: #242839;
  color: #c3c8d4;
}
@media (prefers-color-scheme: dark) {
  html[data-public-ssg="1"]:not([data-site-theme]):not([data-cookie-consent]) [data-cookie-banner] {
    background-color: #151823;
    border-top-color: #242839;
    color: #c3c8d4;
  }
}
