body {
    background: url(../img/tile.jpg);
    text-align: center;
    /* suck it */
}

#game {
    padding: 10px;
}

table,
tr,
td {
    margin: 0;
    padding: 0;
}

p {
    max-width: 450px;
    margin: 1em auto;
}

h1 {
    margin-bottom: .2em;
}

#game table {
    background: #FFF;
    margin: 0 auto;
    box-shadow: 0 0 8px #666;
}

.cell {
    color: #B8860B;
    text-align: center;
    font-size: 24px;
    width: 48px !important;
    height: 48px !important;
    border: 1px solid lightgray;
}

.cell:not(.game-value) {
    cursor: pointer;
}

.cell:not(.game-value):hover {
    background: #EEE;
}

.first-row {
    border-top: 2px solid #000;
}

.first-col {
    border-left: 2px solid #000;
}

.mini-right {
    border-right: 2px solid #000;
}

.mini-bottom {
    border-bottom: 2px solid #000;
}

/* individual cells */

.cell-selected {
    background: lightBlue;
}

.game-value {
    font-weight: bold;
    cursor: default;
    color: #000;
}

.conflict {
    color: red;
}

/* timer */

#timer {
    margin: 10px;
    font-size: 1.5em;
}

/* ending dialog */

.ending {
    border: 1px solid black;
    width: 400px;
    margin: 0 auto;
    position: relative;
    top: -615px;
    background: green;
    border-radius: 10px;
    box-shadow: 0 0 10px #000;
    color: white;
}

/* input dialog */

.input-dialog,
.input-input {
    padding: 0;
    margin: 0;
    width: 48px;
    height: 48px;
    border-radius: 10px;
}

.input-dialog {
    position: absolute;
    background: white;
    border: 1px solid blue;
    box-shadow: 0 0 10px #000;
    opacity: 0.8;
}

.input-input {
    border: none;
    outline: none;
    text-align: center;
    font-size: 24px;
    line-height: 48px;
    /* fucking ie */
}

/* options */

#options-wrap *:not(div) {
    margin: 10px;
}

#options-wrap label {
    border: 1px solid gray;
    padding: 8px;
    border-radius: 8px;
    background: #CAE1FF;
}

.button {
    color: #006400;
    font-size: 100%;
    text-decoration: none;
    padding: 10px 15px !important;
    margin: 0 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    border: 1px solid gray;
    cursor: pointer;
    /* cross b gradient */
    background: #ccffcc;
    /* Old browsers */
    background: -moz-linear-gradient(top, #ccffcc 0%, #3fff3f 100%);
    /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ccffcc), color-stop(100%, #3fff3f));
    /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #ccffcc 0%, #3fff3f 100%);
    /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #ccffcc 0%, #3fff3f 100%);
    /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #ccffcc 0%, #3fff3f 100%);
    /* IE10+ */
    background: linear-gradient(top, #ccffcc 0%, #3fff3f 100%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ccffcc', endColorstr='#3fff3f', GradientType=0);
    /* IE6-9 */
}

.button:hover {
    color: #000;
    background: #7FFF7F;
    -webkit-box-shadow: 0 0 2px #666;
    -moz-box-shadow: 0 0 2px #666;
    box-shadow: 0 0 2px #666;
}

.button:active {
    color: #006400;
    border: 1px solid #7FFF7F;
    -webkit-box-shadow: inset 1px 1px 2px #444;
    -moz-box-shadow: inset 1px 1px 2px #444;
    box-shadow: inset 1px 1px 2px #444;
}

@media print {
    * {
        background: #FFF;
    }
    #options-wrap,
    #actions-wrap,
    #timer,
    #sc-info {
        display: none;
    }
}