.image-editor-sidebar.tilemap {
    width: 10rem;
    overflow: hidden;
}

.image-editor-tilemap-minimap {
    height: 10rem;
    background-color: #3d3d3d;
    border: 1px solid var(--sidebar-icon-inactive-color);
}

.image-editor-tile-buttons .timeline-frame-outer {
    width: 2rem;
    height: 2rem;
}

.image-editor-tile-button {
    margin: 2px;
    border: 1px solid transparent;
}

.image-editor-tile-button.selected {
    border: 1px solid #ffffff;
}

.image-editor-tile-buttons {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.image-editor-tile-buttons-outer {
    flex-grow: 1;
    overflow: hidden;
    position: relative;
}

.tile-palette {
    display: flex;
    flex-direction: column;
}

.tile-palette-fg-bg {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-content: center;
    align-items: center;

    padding: 0.25rem;
    margin-bottom: 0.25rem;
}

.tile-palette-swatch.selected {
    border: solid 2px var(--sidebar-icon-active-color);
}

.tile-palette-swatch:not(.selected) {
    margin: 2px;
}

.tile-palette-swatch .timeline-frame-outer,
.tile-palette-swatch.wall {
    background-color: #3d3d3d;
}

.tile-palette-swatch.fg .timeline-frame-outer {
    width: 3rem;
    height: 3rem;
}

.tile-palette-swatch.bg .timeline-frame-outer {
    width: 2rem;
    height: 2rem;
    margin-right: 0.5rem;
}

.tile-palette-swatch.wall {
    box-sizing: content-box;
    padding: .5rem;
    height: 2rem;
    width: 2rem;

    svg {
        width: 100%;
        height: 100%;
        fill: var(--sidebar-icon-inactive-color);
    }
}

.tile-palette-swatch.wall.selected {
    background-color: var(--wall-color);

    svg {
        fill: var(--sidebar-icon-active-color);
    }
}

.tile-palette-swatch .image-editor-button {
    margin: 0;
    line-height: 1.5rem;
    height: 1rem;
}

.tile-canvas-controls {
    width: 100%;
    text-align: center;
}

.tile-canvas {
    width: 9.5rem;
    height: 9.5rem;
    position: relative;

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(4, 1fr);
    gap: 1px;

    margin: 0.25rem;
    padding: 2px;
    background-color: #3d3d3d;
}

.tile-palette-controls {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-content: center;
    height: 2rem;
}

.tile-palette-controls .image-editor-button {
    line-height: 1.75rem;
}

.tile-palette-controls-outer {
    height: 2rem;
}

.tile-canvas-controls .common-carousel-nav {
    .common-carousel-nav-arrow {
        color: var(--sidebar-icon-inactive-color);
        transition: color 0.1s;

        &:hover {
            color: var(--sidebar-icon-active-color);
            filter: none;
        }
    }

    li .common-button {
        .common-carousel-nav-button-handle {
            background-color: var(--sidebar-icon-inactive-color);
            transition: background-color 0.1s;
        }

        &:hover {
            filter: none;

            .common-carousel-nav-button-handle {
                background-color: var(--sidebar-icon-active-color);
            }
        }
    }
}

.tile-palette-dropdown.common-dropdown {
    .common-dropdown-button {
        background: none;
        color: var(--sidebar-icon-active-color);
        border: 1px solid var(--sidebar-icon-inactive-color);
        min-width: unset;
        width: calc(10rem - 0.5rem);
        margin: 0 0.25rem;
        transition: border-color 0.1s;

        &:hover {
            border-color: var(--sidebar-icon-active-color);
            filter: none;
        }
    }

    .common-menu-dropdown-pane {
        max-height: 12rem;
        overflow-y: auto;
        overflow-x: hidden;
    }
}

.tile-button-outer {
    position: relative;
}


.image-editor-button.common-button.tile-button {
    margin: 0;
    width: 100%;
    height: 100%;
    background-color: var(--editing-tools-bg-color);
    border-radius: 0;

    canvas {
        width: 100%;
        height: 100%;

        image-rendering: pixelated;
    }
}


.image-editor-button.common-button.add-tile-button {
    margin: 0;
    height: 100%;
    width: 100%;
    margin-top: 0.2rem;
}

@media screen and (max-height: 720px) {
    .image-editor-tilemap-minimap {
        height: 7rem;
    }

    .tile-canvas {
        padding-bottom: 0;
    }

    .tile-palette-fg-bg {
        margin-bottom: 0;
    }
}