/* A recorded burst enters through a fixed outlet just beyond the right edge. */
.edge-smoke{position:fixed;inset:76px 0 0;z-index:20;overflow:hidden;pointer-events:none;mix-blend-mode:screen;contain:strict}
.edge-smoke__pass{position:absolute;right:-12px;top:30%;width:min(66vw,960px);aspect-ratio:16/9;opacity:0;transform-origin:100% 50%;will-change:transform,opacity;mask-image:linear-gradient(90deg,transparent,#000 12%),linear-gradient(0deg,transparent,#000 15%,#000 85%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%),linear-gradient(0deg,transparent,#000 15%,#000 85%,transparent);-webkit-mask-composite:source-in}
.edge-smoke__film{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
body.is-locked .edge-smoke{visibility:hidden}
/* Keep the media surface available to Safari's decoder between emissions.
   The pass is fully transparent while waiting; only dialogs hide the layer. */
.edge-smoke[data-state="unavailable"]{visibility:hidden}
.edge-smoke:not([data-state]),.edge-smoke[data-state="waiting"] .edge-smoke__pass{will-change:auto}
@media(max-width:760px){.edge-smoke{inset:68px 0 74px}.edge-smoke__pass{width:100vw;right:-10px}}
@media(prefers-reduced-motion:reduce){.edge-smoke{display:none}}
