html.is-pleurat-parity,
html.is-pleurat-parity body {
  min-height: 100%;
  background: var(--bg, #fffdf3);
}

body.is-pleurat-parity > [data-pleurat-parity-app],
body.is-pleurat-parity #scale-root {
  min-height: 100svh;
}

[data-pleurat-parity-app][data-runtime-ready="true"] {
  visibility: visible;
}

html.pleurat-freeze *,
html.pleurat-freeze *::before,
html.pleurat-freeze *::after {
  animation-play-state: paused !important;
  transition-duration: 0s !important;
  transition-delay: 0s !important;
  scroll-behavior: auto !important;
}

.site-root img,
.site-root video,
.site-root svg {
  max-width: 100%;
}

.sv-ink > svg[aria-hidden="true"] {
  max-width: none;
}

@media (prefers-reduced-motion: reduce) {
  html.is-pleurat-parity .site-root *,
  html.is-pleurat-parity .site-root *::before,
  html.is-pleurat-parity .site-root *::after {
    animation-duration: 1ms !important;
    animation-delay: 0ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
    transition-delay: 0ms !important;
    scroll-behavior: auto !important;
  }

  .sv-rv,
  .sv-lines {
    opacity: 1 !important;
    transform: none !important;
  }
}

html.is-pleurat-parity .site-root :is(a, button, input, textarea, select, [role="button"], [tabindex]):focus-visible {
  outline: 2px solid var(--sv-amber) !important;
  outline-offset: 3px !important;
}

/* The desktop hover preview is conditionally omitted by the frozen Work app
   below its 901 px breakpoint. The hydrated desktop snapshot still contains
   that subtree, so keep it out of the mobile flow just as the runtime did. */
@media (max-width: 900px) {
  html.is-pleurat-parity .site-root:has(#work-gallery) .sv-wx-pop {
    display: none;
  }
}

/* The live Welcome footer switches the wide workflow board to its mobile
   1040-unit crop at this breakpoint. Preserve that native crop ratio so the
   illustration and the following footer grid retain their measured geometry. */
@media (max-width: 760px) {
  html.is-pleurat-parity .site-root .sv-footer .sv-board-view {
    aspect-ratio: 1040 / 168 !important;
  }

  /* The source AI rig deliberately remains a 620px horizontal canvas on
     narrow screens and scrolls inside its clipped viewport. The generic SVG
     safety rule above must not collapse it to the content column width. */
  html.is-pleurat-parity .sv-ai-page .sv-rig > svg {
    max-width: none;
  }
}
