body {
    font-family: Arial;
    margin: 1em auto;
    overflow: hidden;
    width: 100%;
}

.hidden {
    display: none;
}

#version {
    font-size: 0.75em;
    position: absolute;
    right: 1em;
    top: 0.5em;
}

.illusion {
    text-align: center;
}

.board {
    border: 1px solid black;
    display: none;
    margin: 0.5em auto;
    padding: 1px;
    position: relative;
}

.board .win {
    border-style: solid;
    border-width: 3px;
    display: none;
    font-family: Palatino;
    font-size: 1.7em;
    font-style: italic;
    height: 2.3em;
    left: 50%;
    margin-left: -2.5em;
    margin-top: -1.15em;
    padding: 0.1em 0 0 0;
    position: absolute;
    top: 50%;
    width: 5em;
}

header {
    margin: 0 auto;
    position: relative;
    width: 54%;
}

.title {
    margin: 0;
    padding: 0;
}

.puzzle.button {
    border: 1px solid #000;
    border-radius: 12px;
    box-shadow: 2px 2px 2px #444;
    color: white;
    font-size: 0.7em;
    padding: 3px 8px 4px;
    position: absolute;
    top: 0;
}

.puzzle.button:active {
    top: 1px;
}

.prev.puzzle.button {
    left: 0;
}

.next.puzzle.button {
    right: 0;
}

body.ocean,body.ocean .board {
    background-color: #00E7FF;
}

body.ocean .board .win {
    background-color: #00E7FF;
    border-color: #FFFFFF #0000FF #0000FF #FFFFFF;
    color: #0000FF;
}

body.ocean .puzzle.button {
    background: linear-gradient(#008EFF, #00E7FF) no-repeat;
    border-color: #008EFF;
}

body.desert,boy.desert .board {
    background-color: #F7BA8A;
}

body.desert .board .win {
    background-color: #F7BA8A;
    border-color: #FFFFFF #926138 #926138 #FFFFFF;
    color: #926138;
}

body.desert .puzzle.button {
    background: linear-gradient(#C7835D, #926138) no-repeat;
    border-color: #C7835D;
}

body.mountain,body.mountain .board {
    background-color: #D3E3FF;
    border-color: #FFFFFF;
}

body.mountain .board .win {
    background-color: #D3E3FF;
    border-color: #FFFFFF #616DA6 #616DA6 #FFFFFF;
    color: #616DA6;
}

body.mountain .puzzle.button {
    background: linear-gradient(#A6B6F7, #616DA6) no-repeat;
    border-color: #A6B6F7;
}

body.sky,body.sky .board {
    background-color: #82FFFF;
}

body.sky .board .win {
    background-color: #82FFFF;
    border-color: #FFFFFF #00A2FF #00A2FF #FFFFFF;
    color: #00A2FF;
}

body.sky .puzzle.button {
    background: linear-gradient(#1CD3FF, #00A2FF) no-repeat;
    border-color: #1CD3FF;
}