.data-visualizer-frontend .plot-wrap.plot-16x9 {
    position: relative;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    min-height: 320px;
}

.data-visualizer-frontend .plot-wrap.plot-16x9 > div,
.data-visualizer-frontend .plot-wrap.plot-16x9 .js-plotly-plot,
.data-visualizer-frontend .plot-wrap.plot-16x9 .svg-container {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

.data-visualizer-frontend .plot-wrap .plotly,
.data-visualizer-frontend .plot-wrap .js-plotly-plot,
.data-visualizer-frontend .plot-wrap .svg-container {
    font-family: inherit;
    background: transparent !important;
}

.data-visualizer-frontend .plot-wrap .legend,
.data-visualizer-frontend .plot-wrap .legend g {
    transition: transform 120ms ease-in-out;
}

.data-visualizer-frontend .plot-wrap .legend g.legendpoints {
    transform-box: fill-box;
    transform-origin: center;
}

.data-visualizer-frontend .plot-wrap .legend text {
    font-size: 0.92rem;
}

.data-visualizer-frontend .plot-wrap .modebar {
    opacity: 0.95;
}

@media (max-width: 450px) {
    .data-visualizer-frontend .plot-wrap .legend g.legendpoints {
        transform: scale(0.55);
    }

    .data-visualizer-frontend .plot-wrap .legend text {
        font-size: 0.78rem;
    }

    .data-visualizer-frontend .plot-wrap .legend .traces {
        transform: translateY(-2px);
    }
}
