html,
body.lsb-visualizer-document {
    margin: 0;
    min-height: 100%;
    background: #eceff2;
}

body.lsb-visualizer-document {
    color: #1f2328;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.lsb-visualizer-width {
    width: var(--lsb-visualizer-page-width, 100%);
    max-width: 100%;
    margin-inline: auto;
}

.lsb-visualizer-shell {
    width: 100%;
    margin: 0;
    padding: 18px;
    box-sizing: border-box;
}

.lsb-visualizer {
    grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
    gap: 22px;
    margin: 0;
    padding: 22px;
    box-sizing: border-box;
    overflow: hidden;
    border: 1px solid rgba(31, 35, 40, 0.08);
    border-radius: 10px;
    background: #f4f5f6;
    box-shadow: 0 10px 30px rgba(31, 35, 40, 0.12);
}

.lsb-visualizer .lsb-wizard-progress {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lsb-visualizer .lsb-builder__viewer {
    min-height: 560px;
    height: 100%;
}

.lsb-visualizer .lsb-builder__viewer canvas {
    height: 100%;
}

.lsb-visualizer .lsb-builder__viewer-column {
    top: 18px;
}

.lsb-visualizer .lsb-builder__heading h2 {
    font-size: clamp(28px, 4vw, 40px);
}

.lsb-visualizer .lsb-body-row__identity small:empty {
    display: none;
}

.lsb-visualizer__download-note {
    margin: 14px 0 0;
    padding: 12px 14px;
    border-left: 4px solid #2271b1;
    border-radius: 8px;
    color: #3c434a;
    background: #eef5fb;
}

@media (max-width: 980px) {
    .lsb-visualizer-width {
        width: 100%;
    }

    .lsb-visualizer-shell {
        padding: 12px;
    }

   .lsb-visualizer {
        grid-template-columns: 1fr;
    }

    .lsb-visualizer .lsb-builder__viewer-column {
        position: relative;
        top: auto;
    }

    .lsb-visualizer .lsb-builder__viewer,
    .lsb-visualizer .lsb-builder__viewer canvas {
        min-height: 480px;
        height: 480px;
    }
}

@media (max-width: 560px) {
    .lsb-visualizer-shell {
        padding: 8px;
    }

    .lsb-visualizer {
        padding: 12px;
    }

    .lsb-visualizer .lsb-builder__viewer,
    .lsb-visualizer .lsb-builder__viewer canvas {
        min-height: 420px;
        height: 420px;
    }

    .lsb-visualizer .lsb-wizard-progress__label {
        display: none;
    }
}

/* 1.6.1: keep the shared visualizer viewport fixed between wizard steps. */
.lsb-visualizer {
    --lsb-viewer-height: 640px;
    align-items: start;
}

.lsb-visualizer .lsb-builder__viewer,
.lsb-visualizer .lsb-builder__viewer canvas {
    height: var(--lsb-viewer-height) !important;
    min-height: var(--lsb-viewer-height) !important;
    max-height: var(--lsb-viewer-height) !important;
}

@media (max-width: 980px) {
    .lsb-visualizer {
        --lsb-viewer-height: 520px;
    }
}

@media (max-width: 560px) {
    .lsb-visualizer {
        --lsb-viewer-height: 420px;
    }
}

@media (max-width: 430px) {
    .lsb-visualizer {
        --lsb-viewer-height: 390px;
    }
}
