body {
    margin: 5px;
}

*, *:before, *:after {
    box-sizing: border-box;
}
html, body, .map, .content {
    overflow: hidden;
}

.unlocked {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4zjOaXUAAAAGZJREFUOE+ljEEOACEIA92f+f9XaQ822EUgajJJC4xtvu+BPnEXFSBff7Bk5N8yw8pgW2aojLwdRHhy+YOTjMzhiUgGDB6ZjMyiVGTAgeV0rB1wqMusL7iIjrVb0mPtypMMGC7k1geoEhcn0OEM6wAAAABJRU5ErkJggg==) no-repeat bottom right;
}

.hide, .hide:before, .hide:after, .hide *, .hide *:before, .hide *:after
{
    display: none;
}

.map {
    position: absolute;
    width: 100%;
}

.map:after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

.content {
    position: absolute;
    width: 100%;
    height: 100%;

    border: solid 2px rgba(252, 255, 88, 0.50);
    background-color: rgba(0, 0, 0, 0.25);
    border-radius: 50%;
}

.content>*
{
    position: absolute;
    display: block;

    width: 6px;
    height: 6px;

    border-radius: 50%;

    margin: -3px 0 0 -3px;
}

player
{
    top: 50%;
    left: 50%;

    background-color: red;
}

player:after
{
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;

    top: -3px;

    width: 100%;
    height: 100%;

    border: none;
    border-bottom: solid 6px red;
    border-right: solid 3px transparent;
    border-left: solid 3px transparent;
}

room
{
    width: 20% !important;
    height: 20% !important;

    margin: -10% 0 0 -10% !important;

    border: lightblue 2px solid !important;
    border-radius: 50% !important;
}

.blue
{
    background-color: blue;
}

.green
{
    background-color: greenyellow;
}

.lightblue
{
    background-color: lightblue;
}

.yellow
{
    background-color: yellow;
}

.purple
{
    background-color: purple;
}

.orange
{
    background-color: orange;
}

.white
{
    background-color: white;
}

.unlocked .map > .content {
    border: solid 2px rgba(252, 255, 88, 1);
    background-color: rgba(0, 0, 0, 0.75);
}