.Video { opacity: 0; transition: opacity 0.8s ease-in-out; } .Video.fade-in { opacity: 1; } .MediaControlContainer { position: relative; /* CRITICAL: This creates the positioning context */ display: inline-block; width: max-content; /* Ensure container sizes to content */ height: max-content; } .MediaControlSpacer { display: flex; position: relative; padding: 0; margin: 0; width: 5rem; min-width: 5rem; height: 3.75rem; min-height: 3.75rem; background-color: #444; border-radius: 0.25rem; border: 2px dashed #666; /* Visual indicator for drop zone */ } .MediaControlSpacer.Medium { width: 11.5em; height: 8.625em; min-width: 11.5em; min-height: 8.625em; } .MediaControl { display: flex; position: absolute; /* Out of flow */ top: 0; /* Start at top of container */ left: 0; /* Start at left of container */ width: 5rem; height: 3.75rem; min-width: 5rem; min-height: 3.75rem; z-index: 1200; border-radius: 0.25rem; } .MediaControl .Video { display: flex; width: 100%; height: 100%; position: relative; top: 0; left: 0; background-color: #444; border-radius: 0.25rem; border: 1px solid black; } .MediaControl.Medium { width: 11.5em; height: 8.625em; min-width: 11.5em; min-height: 8.625em; } .MediaControl .Controls { display: flex; position: absolute; gap: 0; left: 0; bottom: 0; flex-direction: column; z-index: 1; align-items: flex-start; justify-content: center } .MediaControl.Small .Controls { justify-content: center; } .MediaControl .Controls > div { border-radius: 0.25em; cursor: pointer; } .MediaControl .Controls > div:hover { background-color: #d0d0d0; } .moveable-control-box { border: none; --moveable-color: unset !important; } .moveable-control-box .moveable-direction { border: none !important; }