/* Original-source demo only. A fixed reserved height avoids jumps when loading. */
.continuous-edition .flow-content .flow-media>.case-media:first-child>.case-plate[data-original-demo]:not(.video-stage):not(.op-player-stage):not(.op-motion-stage),
.continuous-edition .related-case-media>.case-media.op-media>.case-plate[data-original-demo],
.case-plate[data-original-demo]{position:relative;display:block;width:min(100%,960px)!important;max-width:100%!important;height:clamp(620px,195vw,760px)!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;overflow:hidden;background:var(--paper,#fff)}
@media(max-width:760px){
 .continuous-edition .flow-content .flow-media>.case-media:first-child>.case-plate[data-original-demo][data-original-demo-state]:not(.video-stage):not(.op-player-stage):not(.op-motion-stage),
 .continuous-edition .related-case-media>.case-media.op-media>.case-plate[data-original-demo][data-original-demo-state],
 .case-plate[data-original-demo][data-original-demo-state]{height:760px!important}
}
.continuous-edition .flow-content .flow-media>.case-media:first-child>.case-plate[data-original-demo]:not(.video-stage):not(.op-player-stage):not(.op-motion-stage)>img,
.case-plate[data-original-demo]>img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center!important}
.case-plate[data-original-demo]>.original-demo-frame{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:var(--paper,#fff);opacity:0;pointer-events:none}
/* Loaded only means the frame emitted load. The still remains in the DOM and
   the explicit return-to-still control also handles a loaded-but-blank frame. */
.case-plate[data-original-demo][data-original-demo-state=loaded]>.original-demo-frame{opacity:1;pointer-events:auto}
.case-plate[data-original-demo][data-original-demo-state=loaded]>img{visibility:hidden}
.original-demo-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px 20px;min-height:68px;align-content:start;margin:8px 0 0;font-size:13px}
.original-demo-actions :is(a,button){display:inline-flex;align-items:center;min-height:44px;padding:4px 0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:4px}
.original-demo-actions button{border:0;background:none;cursor:pointer}
.original-demo-actions button[hidden]{display:none}
.original-demo-actions :is(a,button):focus-visible{outline:2px solid var(--ink,#232426);outline-offset:3px}
.original-demo-status{flex-basis:100%;margin:0;color:var(--muted,#61636a);font-size:12px;line-height:1.5}
.original-demo-status:empty{display:none}

/* Related originals share the selected still's reference viewport in every
   loading state. Primary source demos retain the existing intrinsic reservation. */
.continuous-edition .flow-content .flow-media>.case-media:first-child>.case-plate[data-original-demo][data-original-demo-layout="scaled-reference"]:not(.video-stage):not(.op-player-stage):not(.op-motion-stage),
.continuous-edition .flow-content .related-case-media>.case-media.op-media>.case-plate[data-original-demo][data-original-demo-layout="scaled-reference"],
.case-plate[data-original-demo][data-original-demo-layout="scaled-reference"]{
 width:100%!important;max-width:100%!important;height:auto!important;
 min-height:0!important;max-height:none!important;
 aspect-ratio:var(--original-demo-ratio,1280 / 900)!important;
 overflow:hidden;
}
.continuous-edition .flow-content .related-case-media>.case-media.op-media>.case-plate[data-original-demo][data-original-demo-layout="scaled-reference"]>.original-demo-frame,
.case-plate[data-original-demo][data-original-demo-layout="scaled-reference"]>.original-demo-frame{
 inset:0 auto auto 0;width:var(--original-demo-reference-width,1280px)!important;
 height:var(--original-demo-reference-height,900px)!important;
 min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;
 transform:scale(var(--original-demo-scale,1));transform-origin:top left;
}
