
:root {
    --grid-color: #5588bbaa;
    --canvas-bg: color-mix(in srgb, var(--container-bg), currentColor 5%);
}

@media (prefers-color-scheme: dark) {
    :root {
        --grid-color: #7788bbaa;
    }
}

main {
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.header {
    text-align: center;
    width: 100%;
    max-width: 800px;
}

.wrapper {
    display: none;
    width: 100%;
    max-width: 1700px;
}

section {
    display: flex;
    flex-direction: column;
    gap: 1em;

    .section-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        h3 {
            margin: 0;
            font-size: 1.2rem;
        }
    }

    .instructions {
        font-size: 0.9rem;
        color: color-mix(in srgb, currentColor, transparent 30%)
    }
}

.canvas-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    background-color: var(--canvas-bg);
    outline: 2px solid var(--grid-color);

    &::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        pointer-events: none;
        background-size: 1.041667% 7.142857%;
        background-image:
            linear-gradient(to right, var(--grid-color) 1px, transparent 1px),
            linear-gradient(to bottom, var(--grid-color) 1px, transparent 1px);
        opacity: 0.5;
    }
}

.grid-1536::after {
    
}
.grid-512::after {
    background-size: 3.125% 7.142857%;
}

canvas {
    display: block;
    max-width: 100%;
    height: auto;
    cursor: grab;
    margin: 0 auto;

    &:active {
        cursor: grabbing;
    }
}

.loop-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    position: relative;
    background-color: var(--canvas-bg);
    background-image: var(--loop-image);
    background-repeat: repeat-x !important;
    background-position: center center !important;
    background-size: auto 100% !important;
    .canvas-container {
        width: 90%;
        flex-shrink: 0;
        z-index: 2;
        position: relative;
    }
}