﻿@media screen and (max-width: 1000px) and (display-mode: browser) {
    .lopa canvas {
        aspect-ratio: 3 / 2;
    }
}

@media screen and (min-width: 1001px) and (max-width: 2000px) and (display-mode: browser) {
    .lopa canvas {
        aspect-ratio: 16 / 9;
    }
}

@media screen and (min-width: 2001px) and (max-width: 3000px) and (display-mode: browser) {
    .lopa canvas {
        aspect-ratio: 5 / 2;
    }
}

@media screen and (min-width: 3001px) and (display-mode: browser) {
    .lopa canvas {
        aspect-ratio: 6 / 2;
    }
}

.lopa {
    position: relative;
    overflow: hidden;
    margin: 25px;
}

    .lopa canvas {
        border: 1px solid #ddd;
        border-radius: 5px;
        width: 100%;
        display: block;
    }

    .lopa .fullscreen-button {
        position: absolute;
        top: 15px;
        right: 55px;
        width: 24px;
        height: 24px;
        z-index: 1;
        cursor: pointer;
        opacity: 0.2;
        transition: opacity .2s;
    }

        .lopa .fullscreen-button:hover {
            opacity: 1.0;
            transition: opacity .2s;
        }

    .lopa .sidebar {
        position: absolute;
        top: 0;
        right: 0;
        height: 100%;
        width: 500px;
        max-width: 100%;
        z-index: 1;
        border-radius: 0 5px 5px 0;
        transform: translateX(460px);
        transition: transform 150ms ease-in-out;
    }

    .lopa .handle {
        position: absolute;
        top: 0;
        left: 0;
        background-color: rgba(220, 220, 220, 0.5);
        border-right: 1px solid rgb(220, 220, 220);
        border-left: 1px solid rgb(220, 220, 220);
        width: 40px;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        cursor: pointer;
        user-select: none;
    }

    .lopa .chevron-open {
        transform: rotate(180deg);
    }

    .lopa .acrylic {
        background: rgba(235, 235, 235, 0.7);
        -webkit-backdrop-filter: blur(30px);
        backdrop-filter: blur(30px);
    }

    .lopa .sidebar-open {
        transform: translateX(0);
    }

    .lopa .sidebar-content {
        margin-left: 40px;
        padding: 20px;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

        .lopa .sidebar-content .defect {
            display: grid;
            grid-template-columns: 6px 1fr 40px;
            border: 1px solid rgba(0,0,0,0.1);
            background-color: rgba(255, 255, 255, 0.5);
            border-radius: 5px;
            margin-bottom: 10px;
        }

            .lopa .sidebar-content .defect .defect-content {
                grid-column: 2;
                padding: 20px;
            }

            .lopa .sidebar-content .defect p {
                margin-bottom: 5px;
            }

            .lopa .sidebar-content .defect > .defect-nav {
                grid-column: 3;
                background-color: rgba(255, 255, 255, 0.5);
                border-left: 1px solid rgba(0, 0, 0, 0.1);
                border-radius: 0 5px 5px 0;
                display: flex;
                justify-content: center;
                align-items: center;
                cursor: pointer;
                user-select: none;
            }

            .lopa .sidebar-content .defect > .defect-highlight {
                border-radius: 5px 0 0 5px;
            }
