* {
    box-sizing: border-box;
    font-family: Verdana, serif;
    color: #ECEFF1;
}

html, body {
    margin: 0;
    padding: 0;
    height: 100vh;
    max-width: 100%;
}

body {
    background-color: #37474F;
}

main {
    padding: 1.5rem;
    margin: auto;
    background-color: #37474F;
    min-height: 100%;
}

#board {
    background-color: #ECEFF1;
    border-radius: 10%;
    border: 2vh solid #263238;
    position: relative;
    aspect-ratio: 2980 / 3737;
    height: calc(100vh - 3em);
    margin: auto;
}

.layer {
    width: calc(100% + .5em);
    position: absolute;
    top: -0.25em;
    right: -0.25em;
    left: -0.25em;
    bottom: -0.25em;
    transform: none;
    transition: opacity 1s, transform 1s;
    pointer-events: none;
}

.layer svg {
    width: 100%;
    height: auto;
    pointer-events: none;
}

g {
    pointer-events: none;
    transition: fill .5s
}

.layer.selected g {
    fill: #E53935;
    transition: fill 0s
}

path {
    pointer-events: auto;
}

.hidden {
    opacity: 0;
    transform: scale(1.1);
}

#info-wrapper {
    position: absolute;
    right: 0;
    bottom: 0;
}

#info-wrapper:hover {
    left: 0;
}

#info {
    background-color: #263238;
    border-radius: 1em 0 2em 0;
    color: #ECEFF1;
    padding: .5em 2em .5em 1em;
    width: fit-content;
}

#info-wrapper:hover #info {
    border-radius: 0 1em 0 2em;
    padding: .5em 1em .5em 2em;
}

@media only screen and (min-width: 768px) {
    main {
        max-width: 42rem;
    }
    table{
        font-size:inherit;
    }
}
