.j3d-mirror__editor {
    margin-top: 24px;
}

.j3d-mirror__file-info {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 24px;
    margin: 0 0 20px;
    padding: 14px 16px;
    background: #fafbfe;
    border: 1px solid #eceef5;
    border-radius: 8px;
}

.j3d-mirror__file-info div {
    min-width: 150px;
}

.j3d-mirror__file-info dt {
    font-size: 12px;
    color: #7a8499;
}

.j3d-mirror__file-info dd {
    margin: 3px 0 0;
    color: #2d3748;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.j3d-mirror__mode-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}

.j3d-mirror__mode-buttons .btn-u {
    box-sizing: border-box;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 180px;
}

.j3d-converter .j3d-mirror__mode-buttons .is-active {
    background: #424cb9;
    border-color: #424cb9;
    color: #fff;
    font-weight: 700;
}

.j3d-mirror__preview-wrap {
    margin-bottom: 20px;
}

.j3d-mirror__canvas {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 2;
    min-height: 220px;
    max-height: 560px;
    margin: 0 auto;
    background-color: #f1f3f8;
    background-image: linear-gradient(45deg, #e5e8f0 25%, transparent 25%), linear-gradient(-45deg, #e5e8f0 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #e5e8f0 75%), linear-gradient(-45deg, transparent 75%, #e5e8f0 75%);
    background-position: 0 0, 0 8px, 8px -8px, -8px 0;
    background-size: 16px 16px;
    border: 1px solid #dfe3ed;
    border-radius: 8px;
}

.j3d-mirror__status {
    min-height: 22px;
    margin: 12px 0;
    color: #5a6278;
}

.j3d-mirror__status.is-error {
    color: #a12622;
}

.j3d-mirror__status.is-success {
    color: #176b3a;
}

.j3d-mirror__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.j3d-mirror__actions .btn-u {
    box-sizing: border-box;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.j3d-mirror__actions .btn-u:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.j3d-mirror__mode-buttons button:focus-visible,
.j3d-mirror__actions button:focus-visible {
    border-color: #424cb9;
    outline: 3px solid rgba(66, 76, 185, .25);
    outline-offset: 1px;
}

.j3d-mirror__canvas:focus-visible {
    outline: 3px solid rgba(66, 76, 185, .35);
    outline-offset: 2px;
}

@media (max-width: 640px) {
    .j3d-mirror__mode-buttons .btn-u,
    .j3d-mirror__actions .btn-u {
        flex: 1 1 100%;
    }

    .j3d-mirror__canvas {
        max-height: 420px;
    }
}
