html, body {
    margin: 0;
    border: 0;
    /*background: #000;*/
    color: #fff;
}

body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 110%;
    height: 110%;
    background-image: url("ioi.jpg");
    background-size: cover;
    background-position: center;
    filter: blur(0px);
    transform: scale(1.05);
    z-index: -1;
    animation: bgmove 70s ease-in-out infinite alternate;
}

@keyframes bgmove {
    0% {
        transform: translate(-1.5%, -1.5%) scale(1.05);
    }
    25% {
        transform: translate(1.5%, -0.75%) scale(1.05);
    }
    50% {
        transform: translate(0.75%, 1.5%) scale(1.05);
    }
    75% {
        transform: translate(-0.75%, 0.75%) scale(1.05);
    }
    100% {
        transform: translate(-1.5%, -1.5%) scale(1.05);
    }
}

.header {
    display: inline-block;
    margin-top: 20px;
    padding: 0px;
    text-align: center;
    /* background: #000; */
    position: relative;
    left: 50vw;
    transform: translateX(-50%);
    user-drag: none;
    user-select: none;
}

p {
    color: white;
    font-size: 20px;
}

.header > p {
    letter-spacing: 4px;
    position: relative;
}

.header > p:last-child {
    padding: 15px 15px 0 15px;
}

.header > p:last-child::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(to right, transparent, white, transparent);
}

.data {
    padding: 20px;
    text-align: center;
}

.data > p {
    font-size: 20px
}

span {
    display: inline-block;
    min-width: 5em;
    text-align: left;
}

.container {
    display: inline-block;
    text-align: left;
    vertical-align: top;
    position: relative;
    user-select: none;
}

.grid {
    display: inline-block;
    position: relative;
    font-size: 0;
    overflow: visible; 
    white-space: nowrap;
    text-align: center;
}

.grid > .corner.top-left,
.grid > .corner.top-right,
.grid > .corner.bottom-left,
.grid > .corner.bottom-right {
    position: absolute;
    width: 100px;
    height: 100px;
    background-image: url('decor-single.png');
    background-size: cover;
    background-repeat: no-repeat;
    pointer-events: none;
}

.corner.top-right {
    top: -18px;
    right: -20px;
}

.corner.bottom-right {
    bottom: -18px;
    right: -20px;
    transform: scaleY(-1);
}


.corner.bottom-left {
    bottom: -18px;
    left: -20px;
    transform: scale(-1, -1);
}

.corner.top-left {
    top: -18px;
    left: -20px;
    transform: scaleX(-1);
}

.answer-text {
    display: block;
    position: absolute;
    bottom: -40px;
    left: 0;
}

img {
    width: 800px;
    height: auto;
}

.small-img {
    min-width: 150px;
    width: 150px;
}

.tile {
    width: 50px;
    height: 50px;
    display: inline-block;
    vertical-align: top;
    user-drag: none;
    user-select: none; 
    font-size: 16px;
}

.gray {
    background: #888
}

.white {
    background: #fff
}

.black {
    background: #000
}

br {
    user-select: none;
}

.container br {
    display: block;
    clear: both;
    height: 0;
    line-height: 0;
    margin: 0;
    padding: 0;
    user-select: none;
}

.selectable {
    user-select: text;
    display: inline;
    caret-color: transparent;
    outline: none;
}

button {
    border: 2px outset white;
    /* background: black; */
    background: transparent;
    color: white;
    margin-right: 10px;
    margin-top: 30px;
    user-select: none;
}

button:hover {
    background: white;
    color: black;
    border-color: black;
}