* {
    box-sizing: border-box;
}

.section::after {
    content: none;
}

.root {
    display: grid;
    gap: 4px;
    padding: 4px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: min-content 480px min-content 600px 400px;
    grid-template-areas:
        "header         header"
        "controls       config"
        "simcontrols    simcontrols"
        "currentcanvas  bestcanvas"
        "log            log";
}

.app-header {
    grid-area: header;
}

.controls {
    grid-area: controls;
}

.config {
    grid-area: config;

    pre {
        height: 100%;
        min-height: 0;
        overflow: auto;
    }
}

.simcontrols {
    grid-area: simcontrols;
    display: flex;
    flex-direction: column;
    gap: 4px;

    .generateMapButton {
        width: 100%;
    }

    .GAControlsContainer {
        width: 100%;
        display: flex;
        flex-direction: row;
        gap: 16px;

        button {
            width: 100%;
        }
    }
}

.currentcanvas {
    grid-area: currentcanvas;

    display: flex;
    flex-direction: column;

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

.bestcanvas {
    grid-area: bestcanvas;

    display: flex;
    flex-direction: column;

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

.log {
    grid-area: log;

    .console {
        height: 100%;
        min-height: 0;
        overflow: auto;
    }
}
