/* Result placement; non-approved candidates remain hidden and inert. */
[data-ad-candidate][hidden]{display:none!important}[data-ad-candidate]{box-sizing:border-box;max-width:336px;min-height:280px;margin:150px auto 64px;border-top:1px solid #ded4db;padding-top:16px;text-align:center}[data-ad-candidate] .ad-label{display:block;font-size:.75rem;color:#6f6570}
/* Only the four approved page shells opt in. Preserve their asynchronous square
   result-image space and viewport gutter before image decoding/scroll growth. */
html[data-extra-ad-page="result-jp"]{scrollbar-gutter:stable}
body[data-advertising="manual-result-jp"] .result-share-image .image-preview{width:100%;aspect-ratio:1/1;display:grid;place-items:center}
body[data-advertising="manual-result-jp"] .result-share-image .image-preview>img{width:100%;height:100%;object-fit:contain}
/* Keep the footer below the first mobile viewport while the empty client host
   initializes. This has no effect once rendered, or when scripting is disabled. */
@media(max-width:760px) and (scripting:enabled){
html[data-extra-ad-page="result-jp"] #extra-app:empty,html[data-extra-ad-page="result-jp"] #memory62:empty{min-height:100vh;min-height:100svh}
}

/* The four live-ad routes ship their exact first screen before the controller loads.
   The inert preview is hidden without scripting; the existing noscript notice
   and method remain available. Mount replaces it with the identical live view. */
html[data-extra-ad-page="result-jp"] .extra-initial-view{display:none}
@media(scripting:enabled){html[data-extra-ad-page="result-jp"] .extra-initial-view{display:contents}}
