img.map {
    position: absolute;
    width: 1100px;
    height: 2275px;
}

img.base {
    z-index: 1;
}

img.trail {
    z-index: 10;
}

img.trail.selected {
    filter: saturate(250%) hue-rotate(270deg);
}

#undo-button {
    z-index: 100;
    position: absolute;
    border: solid 2px #960000;
    color: #960000;
    background-color: red;
    position: fixed;
    top: 7rem;
    left: 1rem;
    height: 2rem;
    width: 3rem;
    border-radius: 1rem;
    cursor: pointer;
}

#undo-button:hover {
    border: solid 2px red;
    color: red;
    background-color: #960000;
}

#clear-button {
    z-index: 100;
    position: absolute;
    border: solid 2px black;
    color: black;
    background-color: wheat;
    position: fixed;
    bottom: 1rem;
    left: 1rem;
    height: 2rem;
    width: 6rem;
    border-radius: 1rem;
    cursor: pointer;
}

#clear-button:hover {
    border: solid 2px wheat;
    color: wheat;
    background-color: black;
}

button.junction {
    z-index: 20;
    position: absolute;
    height: 18px;
    width: 18px;
    font-size: 7px;
    font-weight: bold;
    border-radius: 9px;
    border: solid 1px #5B26F7;
    color: #5B26F7;
    background-color: #ECE6FE;
}

button.junction.current {
    border-color: #ECE6FE;
    color: #ECE6FE;
    background-color: #5B26F7;
}

button.add {
    z-index: 50;
    position: absolute;
    border: solid 2px green;
    color: green;
    background-color: #00FF00;
    font-size: 0.75rem;
    line-height: 0.5rem;
    font-weight: bold;
    height: 1rem;
    width: 1rem;
    padding: 0;
    border-radius: 0.5rem;
    cursor: pointer;
}

button.add:hover {
    border: solid 2px #00FF00;
    color: #00FF00;
    background-color: green;
}

button.add.n::before {
    content: "\f2191";
    position: relative;
    top: -5px;
}

button.add:not(.selectable) {
    display: none;
}
