/* Ref: FlatUI Colors */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video{
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* ---- general ---- */

body {
    color: white;
    font-family: "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
}

a {
    color: white;
    text-decoration: underline;
}

.screen {
    position: absolute;
    display: table;
    height: 100%;
    width: 100%;
}

.row { display: table-row; }
.cell { display: table-cell; }

img {
    max-height: 100%;
    max-width: 100%;
}

/* ---- main_screen ---- */

.lp {
    width: 50%;
    text-align: center;
    vertical-align: middle;
    font-size: 150px;
}

.lp.player { background-color: #1abc9c; }
.lp.opponent { background-color: #3498db; }
.lp.loser { background-color: #2c3e50; }
.lp.whiteout { background-color: white; }

#buttons {
    position: absolute;
    top: 20px;
    left: 20px;
}

.button {
    display: inline-block;
    color: #1abc9c;
    padding: 0px 15px;
    margin-right: 10px;
    line-height: 70px;
    font-size: 40px;
    opacity: 0.9;
    color: white;
    border: 3px solid white;
    border-radius: 10px;
}

#credits {
    position: absolute;
    bottom: 20px;
    right: 20px;
    font-size: 20px;
}

/* ---- history_screen ---- */

#history_screen {
    text-align: center;
    background-color: #9b59b6;
    z-index: 1;
}

#history_screen .cell {
    width: 100%;
}

#history_screen .closebtn {
    position: fixed;
    right: 30px;
    top: 30px;
    font-size: 50px;
}

#history_screen h1 {
    margin: 25px;
    font-size: 80px;
}

#history_screen p {
    margin: 25px;
    font-size: 30px;
}

#history_screen li {
    display: block;
    padding: 10px;
    margin: 25px 200px;
    background-color: white;
    color: #9b59b6;
    font-size: 50px;
}

#history_screen li.player { text-align: left; }
#history_screen li.opponent { text-align: right; }
#history_screen li.both { text-align: center; }

/* ---- diff_screen ---- */

#diff_screen .cell {
    opacity: 0.7;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    font-size: 300px;
    background-color: darkslategray;
    z-index: 1;
}

/* ---- grid_screen ---- */

#grid_screen {
    opacity: 0.2;
    display: table;
    font-size: 55px;
    z-index: 2;
}

#grid_screen .cell {
    border: solid 1px;
    text-align: center;
    vertical-align: middle;
}

#grid_screen .cell.cell_onmouse {
    background-color: #e98b39;
    width: 15%;
    height: 25%;
    font-size: 80px;
}

#grid_screen .cell.cell_onmouse.red {
    background-color: #e74c3c;
}

/* ---- initial_screen ---- */

#initial_screen {
    background-color: white;
    color: #2c3e50;
    z-index: 100;
}

#message_row .cell {
    text-align: center;
    vertical-align: middle;
    height: 100%;
}

#message_row h1 {
    margin: 110px 0px;
    font-size: 200px;
}

#message_row p {
    margin: 20px;
    font-size: 35px;
}

#ad_row .cell * {
    display: inline
}

/* ---- animation screen ---- */

#animation_screen {
    z-index: 50;
}

/* ---- counter ---- */

.counter {
    position: absolute;
    height: 80px;
    width: 80px;
    border-radius: 40px;
    background-color: #F26964;
    border-left: 3px solid #F26964;
    border-right: 3px solid #F26964;
    border-bottom: 3px solid #ee443e;
    border-top: 3px solid #f58d89;
}

.counter.grabbed {
    background-color: #ee443e;
}
