.cg-board-wrap{width:400px;height:400px;position:relative;display:block}.cg-board{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:0;background-size:cover;cursor:pointer}.cg-board square{position:absolute;top:0;left:0;width:12.5%;height:12.5%}.cg-board square.move-dest{background:radial-gradient(rgba(20,85,30,0.5) 22%,#208530 0,rgba(0,0,0,0.3) 0,rgba(0,0,0,0) 0)}.cg-board square.premove-dest{background:radial-gradient(rgba(20,30,85,0.5) 22%,#203085 0,rgba(0,0,0,0.3) 0,rgba(0,0,0,0) 0)}.cg-board square.oc.move-dest{background:radial-gradient(transparent 0,transparent 80%,rgba(20,85,0,0.3) 80%)}.cg-board square.oc.premove-dest{background:radial-gradient(transparent 0,transparent 80%,rgba(20,30,85,0.2) 80%)}.cg-board .cg-square.move-dest.drag-over,.cg-board .cg-square.premove-dest.drag-over{box-shadow:inset 0 0 10px 2px rgba(216,85,0,0.9)}.cg-board square.last-move{will-change:transform;background-color:rgba(155,199,0,0.41)}.cg-board square.selected{background-color:rgba(20,85,30,0.5)}.cg-board square.check{background:radial-gradient(ellipse at center,rgba(255,0,0,1) 0,rgba(231,0,0,1) 25%,rgba(169,0,0,0) 89%,rgba(158,0,0,0) 100%)}.cg-board square.current-premove{background-color:rgba(20,30,85,0.5)}.cg-board piece{position:absolute;top:0;left:0;width:12.5%;height:12.5%;background-size:cover;z-index:2;will-change:transform}.cg-board piece.dragging{cursor:move;z-index:9}.cg-board piece.anim{z-index:8}.cg-board piece.fading{z-index:1;opacity:.5}.cg-board-wrap div.over{position:absolute;top:0;left:0;background-color:rgba(20,85,30,0.3)}.cg-board-wrap piece.ghost{opacity:.3}.cg-board-wrap svg{overflow:hidden;position:relative;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:.6}.cg-board-wrap svg image{opacity:.5}.cg-board-wrap coords{position:absolute;display:flex;pointer-events:none;opacity:.8;font-size:9px}.cg-board-wrap coords.ranks{right:-15px;top:0;flex-flow:column-reverse;height:100%;width:9px}.cg-board-wrap coords.ranks.black{flex-flow:column}.cg-board-wrap coords.files{bottom:-16px;left:0;flex-flow:row;width:100%;height:16px;text-transform:uppercase;text-align:center}.cg-board-wrap coords.files.black{flex-flow:row-reverse}.cg-board-wrap coords coord{flex:1 1 auto}.cg-board-wrap coords.ranks coord{transform:translateY(39%)}.blue .cg-board-wrap{background-image:url(images/board/brown.svg)}.cburnett .cg-board piece.pawn.white{background-image:url('https://stepchess.ru/cg/assets/images/pieces/cburnett/wP.svg')}.cburnett .cg-board piece.bishop.white{background-image:url('https://stepchess.ru/cg/assets/images/pieces/cburnett/wB.svg')}.cburnett .cg-board piece.knight.white{background-image:url('https://stepchess.ru/cg/assets/images/pieces/cburnett/wN.svg')}.cburnett .cg-board piece.rook.white{background-image:url('https://stepchess.ru/cg/assets/images/pieces/cburnett/wR.svg')}.cburnett .cg-board piece.queen.white{background-image:url('https://stepchess.ru/cg/assets/images/pieces/cburnett/wQ.svg')}.cburnett .cg-board piece.king.white{background-image:url('https://stepchess.ru/cg/assets/images/pieces/cburnett/wK.svg')}.cburnett .cg-board piece.pawn.black{background-image:url('https://stepchess.ru/cg/assets/images/pieces/cburnett/bP.svg')}.cburnett .cg-board piece.bishop.black{background-image:url('https://stepchess.ru/cg/assets/images/pieces/cburnett/bB.svg')}.cburnett .cg-board piece.knight.black{background-image:url('https://stepchess.ru/cg/assets/images/pieces/cburnett/bN.svg')}.cburnett .cg-board piece.rook.black{background-image:url('https://stepchess.ru/cg/assets/images/pieces/cburnett/bR.svg')}.cburnett .cg-board piece.queen.black{background-image:url('https://stepchess.ru/cg/assets/images/pieces/cburnett/bQ.svg')}.cburnett .cg-board piece.king.black{background-image:url('https://stepchess.ru/cg/assets/images/pieces/cburnett/bK.svg')}


.cg-board-wrap {
    position: relative;
}
.cg-512 .cg-board-wrap {
    width: 512px;
    height: 512px;
    /* Fixes render artifacts after dropping a piece in firefox 47,48 */
    -moz-transform: translate3d(0, 0, 0);
}
.cg-board {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    line-height: 0;
    background-size: cover;
}
.cg-board.bh1 piece {
    opacity: 0.98;
}
.manipulable .cg-board {
    cursor: pointer;
}
.is2d .cg-board {
    top: 0;
    height: 100%;
}
square {
    position: absolute;
    top: 0;
    left: 0;
    width: 12.5%;
    height: 12.5%;
    pointer-events: none;
}
.cg-board square.move-dest {
    background: radial-gradient(rgba(20, 85, 30, 0.3) 17%, #208530 0, rgba(0, 0, 0, 0.3) 0, rgba(0, 0, 0, 0) 0);
    cursor: pointer;
    pointer-events: auto;
}
.cg-board square.oc.move-dest {
    background: radial-gradient(transparent 0%, transparent 80%, rgba(20, 85, 0, 0.3) 80%);
}
.cg-board square.premove-dest {
    background: radial-gradient(rgba(20, 30, 85, 0.2) 17%, #203085 0, rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0) 0);
    pointer-events: auto;
}
.cg-board square.oc.premove-dest {
    background: radial-gradient(transparent 0%, transparent 80%, rgba(20, 30, 85, 0.2) 80%);
}
.cg-board square.move-dest:hover {
    background: rgba(20, 85, 30, 0.3);
}
.cg-board square.premove-dest:hover {
    background: rgba(20, 30, 85, 0.2);
}
.cg-board square.check {
    background: radial-gradient(ellipse at center, rgba(255, 0, 0, 1) 0%, rgba(231, 0, 0, 1) 25%, rgba(169, 0, 0, 0) 89%, rgba(158, 0, 0, 0) 100%);
}
.cg-board square.selected {
    background-color: rgba(20, 85, 30, 0.5);
}
.cg-board square.last-move,
.mini_board .cg-board square.last-move {
    will-change: transform;
    background-color: rgba(155, 199, 0, 0.41);
}
.cg-board square.current-premove {
    background-color: rgba(20, 30, 85, 0.5);
}
.cg-board square.exploding1 {
    background-color: rgba(255, 255, 255, 0.5);
}
.cg-board square.exploding2 {
    background-color: rgba(255, 0, 0, 0.5);
    transition: background-color 0.1s;
}
piece {
    position: absolute;
    width: 12.5%;
    height: 12.5%;
    top: 0;
    left: 0;
    background-size: cover;
    z-index: 2; /* no less than 2 */
    pointer-events: none;
}
.cg-512 piece {
    will-change: transform, opacity;
    transition: opacity .1s;
    transition-timing-function: linear;
}
.mini_board piece {
    z-index: initial;
}
.blindfold .lichess_board piece,
.blindfold .other_games piece {
    opacity: 0;
}
.blindfold .lichess_board square.check {
    background: none;
}
piece.dragging {
    z-index: 5;
    cursor: move;
}
piece.anim {
    z-index: 3;
    cursor: move;
}
piece.ghost {
    will-change: transform;
    opacity: 0.3;
}
piece.fading {
    z-index: 2!important;
    opacity: 0.5;
}
.cg-board-wrap svg {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 4;
    opacity: 0.6;
}
.cg-board-wrap svg image {
    opacity: 0.5;
}

.cg-board-wrap coords {
    position: absolute;
    display: flex;
    pointer-events: none;
    opacity: 0.8;
}
.cg-board-wrap coords.ranks {
    right: -15px;
    top: 0;
    flex-flow: column-reverse;
    height: 100%;
    width: 12px;
}
.cg-board-wrap coords.ranks.black {
    flex-flow: column;
}
.cg-board-wrap coords.files {
    bottom: -15px;
    left: 0;
    flex-flow: row;
    width: 100%;
    height: 16px;
    text-align: center;
}
.cg-board-wrap coords.files.black {
    flex-flow: row-reverse;
}
.cg-board-wrap coords coord {
    flex: 1 1 auto;
}
.cg-board-wrap coords.ranks coord {
    transform: translateY(39%);
}

/* lichess */

#lichess {
    position: relative;
    min-height: 512px;
}
div.lichess_game {
    display: flex;
    /* for safari: */
    height: 512px;
}
div.lichess_game div.lichess_board_wrap {
    position: relative;
}
body.blind_mode .cg-board-wrap {
    display: none;
}
div.lichess_game div.lichess_ground {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    padding-left: 15px;
    width: 242px;
}
div.lichess_game div.lichess_ground.for_bot h1 {
    font-size: 2em;
}
div.lichess_game div.lichess_ground.for_bot p {
    margin: 1em 0;
}
div.lichess_board {
    position: relative;
}
div.lichess_board > svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* 2D boards */

.blue .is2d .cg-board {
    background-image: url(../images/board/svg/blue.svg);
}
.blue2 .is2d .cg-board {
    background-image: url(../images/board/blue2.jpg);
}
.wood2 .is2d .cg-board {
    background-image: url(../images/board/wood2.jpg);
}
.wood3 .is2d .cg-board {
    background-image: url(../images/board/wood3.jpg);
}
.blue3 .is2d .cg-board {
    background-image: url(../images/board/blue3.jpg);
}
.marble .is2d .cg-board {
    background-image: url(../images/board/marble.jpg);
}
.brown .is2d .cg-board {
    background-image: url(../images/board/svg/brown.svg);
}
.green .is2d .cg-board {
    background-image: url(../images/board/svg/green.svg);
}
.olive .is2d .cg-board {
    background-image: url(../images/board/olive.jpg);
}
.purple .is2d .cg-board {
    background-image: url(../images/board/svg/purple.svg);
}
.grey .is2d .cg-board {
    background-image: url(../images/board/grey.jpg);
}
.wood .is2d .cg-board {
    background-image: url(../images/board/wood-1024.jpg);
}
.canvas .is2d .cg-board {
    background-image: url(../images/board/canvas2-1024.jpg);
}
.leather .is2d .cg-board {
    background-image: url(../images/board/leather-1024.jpg);
}
.metal .is2d .cg-board {
    background-image: url(../images/board/metal-1024.jpg);
}
.maple .is2d .cg-board {
    background-image: url(../images/board/maple.jpg);
}

.is2d .kingOfTheHill .cg-board::before {
    width: 25%;
    height: 25%;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
    content: '';
    position: absolute;
    top: 37.5%;
    left: 37.5%;
}

/* Racing Kings board decorations */

.is2d .racingKings .cg-board-wrap.orientation-white::before {
    width: 100%;
    height: 12.5%;
    box-shadow: inset 0 -2px 10px rgba(0, 0, 0, 0.5);
    content: '';
    position: absolute;
    top: 0;
    left: 0;
}

.is2d .racingKings .cg-board-wrap.orientation-black::before {
    width: 100%;
    height: 12.5%;
    box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.5);
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
}

mono-piece {
    width: 32px;
    height: 32px;
    background-size: cover;
    display: inline-block;
}
mono-piece.pawn {
    background-image: url(../piece/mono/P.svg);
}
mono-piece.bishop {
    background-image: url(../piece/mono/B.svg);
}
mono-piece.knight {
    background-image: url(../piece/mono/N.svg);
}
mono-piece.rook {
    background-image: url(../piece/mono/R.svg);
}
mono-piece.queen {
    background-image: url(../piece/mono/Q.svg);
}
mono-piece.king {
    background-image: url(../piece/mono/K.svg);
}
div.lichess_overboard {
    position: absolute;
    z-index: 66; /* go over 3D pieces */
    width: 400px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 15px 0 22px 0;
    font-size: 14px;
    line-height: 1.8em;
    background: #fff;
    box-shadow: 0 0 95px 25px rgba(0, 0, 0, 0.6);
    text-align: center;
    box-sizing: border-box;
}
div.lichess_overboard.padded {
    padding: 15px;
}
#promotion_choice {
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    background: rgba(250, 250, 250, 0.7);
    text-align: center;
    z-index: 5;
}
#promotion_choice square {
    cursor: pointer;
    border-radius: 50%;
    background-color: #b0b0b0;
    box-shadow: inset 0 0 25px 3px #808080;
    box-sizing: border-box;
    transition: 0.2s;
}
#promotion_choice piece {
    pointer-events: auto;
}
.is2d #promotion_choice piece {
    width: 100%;
    height: 100%;
    transition: 0.2s;
    transform: scale(0.8);
}
#promotion_choice square:hover {
    box-shadow: inset 0 0 48px 8px #d85000;
    border-radius: 0%;
}
.is2d #promotion_choice square:hover piece {
    transform: none;
}
div.table_wrap {
    flex: 0 1 auto;
    width: 242px;
    position: relative;
}
div.table {
    border: 1px solid #ccc;
    padding: 10px 0;
}
.lichess_ground .replay .moves {
    border-top: 1px solid #e2e2e2;
    border-bottom: 1px solid #e2e2e2;
    height: 100px;
    overflow: auto;
    position: relative;
    will-change: scroll-position;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    display: flex;
    flex-flow: row wrap;
    align-content: flex-start;
}
.lichess_ground .replay index,
.lichess_ground .replay move {
    height: 25px;
    line-height: 25px;
}
.lichess_ground .replay index {
    display: flex;
    flex: 0 0 15%;
    max-width: 15%; /* required by IE 11 https://github.com/philipwalton/flexbugs/issues/3 */
    line-height: 27px;
    background: #e6e6e6;
    justify-content: center;
    font-family: 'Roboto';
    font-weight: 300;
}
.lichess_ground .replay move {
    flex: 0 0 42.5%;
    max-width: 42.5%; /* required by IE 11 https://github.com/philipwalton/flexbugs/issues/3 */
    box-sizing: border-box;
    font-family: 'ChessSansPiratf', sans-serif;
    font-size: 17px;
    line-height: 28px;
    padding-left: 8px;
}
body.piece_letter .lichess_ground .replay move {
    font-family: 'Noto Sans';
    font-size: 15px;
    line-height: 25px;
}
.lichess_ground .replay move:not(.empty) {
    cursor: pointer;
}
.lichess_ground .replay move:not(.empty):hover {
    background: #e6e6e6;
}
.lichess_ground .replay move.active {
    font-weight: bold;
    background: rgba(56,147,232,0.1)!important;
}
.lichess_ground .result_wrap {
    width: 100%;
}
.lichess_ground .result,
.lichess_ground .status {
    text-align: center;
}
.lichess_ground .result {
    border-top: 1px solid #ddd;
    font-weight: bold;
    font-size: 1.3em;
    padding: 5px 0 3px 0;
}
.lichess_ground .status {
    font-size: 1em;
    font-style: italic;
    padding-bottom: 7px;
}
.lichess_ground .replay .buttons {
    border-top: 1px solid #e2e2e2;
    font-size: 11px;
    display: flex;
    justify-content: space-between;
}
.lichess_ground .replay .fbt {
    padding: 5px 10px;
}
.lichess_ground .replay .noop {
    width: 30px;
}
.pocket {
    border-radius: 3px;
    box-shadow: 0 2px 3px rgba(0,0,0,0.3) inset;
    width: 100%;
    flex: 0 0 56px;
    background: #888;
    white-space: nowrap;
    display: flex;
}
.pocket.top {
    margin-bottom: 10px;
}
.pocket.bottom {
    margin-top: 10px;
}
.pocket piece {
    flex: 0 0 20%;
    height: 56px!important; /* 100% fails on older chrome */
    width: auto!important;
    position: relative!important;
    background-position: center;
}
.pocket.usable piece:first-child:hover {
    border-radius: 3px 0 0 3px;
}
.pocket.usable piece {
    cursor: pointer;
    pointer-events: auto;
}
.pocket.usable piece:hover {
    background-color: #999;
    transition: background-color 0.13s;
}
.pocket.usable piece.premove {
    background-color: #555;
}
.pocket.usable piece.premove:hover {
    background-color: #666;
}
.blindfold .pocket:not(.usable) {
    opacity: 0;
}
.pocket piece[data-nb='0'] {
    cursor: auto;
    opacity: 0.1;
}
.pocket piece::after {
    content: attr(data-nb);
    bottom: 0;
    right: 0;
    position: absolute;
    line-height: 14px;
    padding: 3px 5px 4px 5px;
    font-weight: bold;
    border-radius: 2px;
    font-size: 18px;
}
.pocket piece[data-nb='0']::after {
    content: none;
}
div.table.spectator {
    top: 160px;
}
div.table .ddloader {
    margin: 20px auto 10px auto;
}
div.table .username {
    white-space: nowrap;
    display: flex;
    margin: 0 3px;
    font-size: 1.25em;
}
div.table .username:first-child {
    margin-bottom: 6px;
}
div.table .username:last-child {
    padding-top: 6px;
}
div.table .username a {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
}
div.table .username.long a {
    letter-spacing: -0.5px;
}
div.table .username rating {
    flex: 0 0 auto;
    margin: 0 0.25em 0 0.3em;
    opacity: 0.6;
    letter-spacing: -0.5px;
}
div.table .username .line {
    display: flex;
    justify-content: center;
    align-items: center;
}
@keyframes connecting {
    0% { opacity: 0.1; }
    50% { opacity: 0.3; }
    100% { opacity: 0.1; }
}
div.table .connecting .line {
    animation: connecting 0.9s ease-in-out infinite;
}
div.table .username .rp {
    margin-right: 0.2em;
}
div.table .message {
    margin: 20px 10px;
}
div.table .message::before {
    font-size: 3em;
    float: left;
    margin-right: 10px;
}
div.table_wrap .whos_turn {
    height: 2em;
    line-height: 2em;
    width: 100%;
    text-align: center;
    font-weight: bold;
}
div.table_wrap .clock {
    position: relative;
    display: flex;
    justify-content: space-between;
}
div.table_wrap .clock .bar {
    position: absolute;
    width: 242px;
    height: 4px;
}
div.table_wrap .clock_top .bar {
    bottom: -4px;
}
div.table_wrap .clock_bottom .bar {
    top: -4px;
}
div.table_wrap .clock .bar {
    display: block;
    height: 4px;
    background: #759900;
    transform-origin: left;
}
div.table_wrap .clock .bar.berserk {
    background: #dc322f;
}
div.table_wrap.with_expiration .clock .bar {
    display: none;
}
div.table_wrap .clock > .time {
    border: 1px solid #ccc;
    padding: 0 8px;
    font-size: 38px;
    font-family: 'Roboto Mono', 'Roboto';
    height: 44px;
    line-height: 44px;
    white-space: nowrap;
    /* ensure updates don't redraw other parts of the document */
    will-change: transform;
}
div.table_wrap .correspondence.clock > .time {
    font-size: 20px;
}
div.table_wrap .clock tenths {
    font-size: 70%;
}
div.table_wrap .clock huns {
    font-size: 80%;
}
div.table_wrap .clock sep {
    opacity: 0.5;
    font-size: 0.8em;
    vertical-align: 4px;
    margin-left: -1px;
}
div.table_wrap .clock tenths sep {
    vertical-align: baseline;
}
div.table_wrap .clock sep.low {
    opacity: 0.15;
}
div.table_wrap .clock.running .time {
    background: #fff077;
    color: #444;
}
div.table_wrap .clock.running.emerg .time {
    background-color: #eFAAAA;
    color: #444;
}
div.table_wrap .clock.outoftime .time {
    background-color: #eFAAAA;
    color: #444;
}
div.table_wrap .clock_top .time {
    border-bottom: 0;
    border-radius: 2px 2px 0 0;
}
div.table_wrap .clock_bottom .time {
    border-top: 0;
    border-radius: 0 0 2px 2px;
}
div.table_wrap .berserk.fbt {
    font-size: 25px;
    padding: 0 12px;
}
div.table_wrap .tournament_rank,
div.table_wrap a.moretime,
div.table_wrap div.berserk_alert {
    flex: 0 1 auto;
    display: flex;
    align-items: center;
    font-size: 20px;
}
div.table_wrap a.moretime {
    opacity: 0.4;
}
div.table_wrap a.moretime:hover {
    opacity: 1;
}

div.table_wrap div.berserk_alert {
    font-size: 34px;
    color: #D85000;
}
div.control {
    text-align: center;
    width: 100%;
}
div.control.icons {
    display: flex;
    justify-content: center;
}
div.control.icons .fbt {
    font-size: 18px;
    padding: 8px 17px;
}
div.control.icons .takeback-yes span:before {
    display: inline-block;
    transform: translateY(1px);
}
div.control.icons .draw-yes span:before {
    display: inline-block;
    transform: translateY(-1px) rotate(-90deg);
}
div.control.icons .resign span:before {
    display: inline-block;
    transform: translateY(1px);
}
div.control.icons.confirm > button {
    visibility: hidden;
}
div.control.icons .act_confirm {
    visibility: visible;
    position: relative;
    width: 60px;
}
div.control.icons .act_confirm .no {
    padding: 8px 0;
    width: 30px;
    text-align: center;
    position: absolute;
    top: 0;
    right: -34px;
}

div.control.icons .act_confirm .yes  {
    position: absolute;
    right: 0;
    top: -3px;
    border-radius: 8px;
    color: #FFF;
    text-decoration: none;
    background: #82BF56!important;
    border-bottom: 5px solid #759900;
    text-shadow: 0 -1px #759900;
    transition: all 0.1s;
    transform: translate(0px,0px);
}
div.control.icons .act_confirm .yes:hover {
    filter: brightness(1.06);
}
div.control.icons .act_confirm .yes:active {
    transform: translate(0px,5px);
    border-bottom-width: 1px;
    text-shadow: 0 0 #759900;
    filter: brightness(1);
}

div.control .button.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.lichess_ground .suggestion,
.lichess_ground .pending,
.lichess_ground .negotiation {
    padding: 8px 7px;
    background: #d0d0d0;
}
.lichess_ground .suggestion p {
    margin-bottom: 7px;
}
.lichess_ground .suggestion .button {
    display: block;
}
.lichess_ground .expiration.emerg {
    background: #dc322f!important;
    color: #fff!important;
}
.lichess_ground .expiration {
    display: flex;
    justify-content: center;
    align-items: center;
}
.lichess_ground .expiration strong {
    font-size: 1.3em;
    margin-right: .3em;
}
.lichess_ground .pending {
    display: flex;
    align-items: center;
}
.lichess_ground .pending p {
    flex: 3 1;
    margin-right: 7px;
}
.lichess_ground .pending .button {
    flex: 1 1;
}
.lichess_ground .negotiation {
    display: flex;
    align-items: center;
}
.lichess_ground .negotiation p {
    flex: 1 1 auto;
    margin-right: 7px;
}
.lichess_ground .negotiation a {
    flex: 0 0 50px;
    height: 50px;
    line-height: 44px;
    font-size: 25px;
    display: block;
    background: #fff;
}
.lichess_ground .negotiation .accept {
    color: #759900;
    border-right: 1px solid #d0d0d0;
    border-radius: 3px 0 0 3px;
}
.lichess_ground .negotiation .decline {
    color: #dc322f;
    border-radius: 0 3px 3px 0;
}
.lichess_ground .negotiation a:hover {
    color: #fff;
    background: #759900!important;
}
.lichess_ground .negotiation a.decline:hover {
    background: #dc322f!important;
}
.lichess_ground .follow_up {
    position: relative;
}
.lichess_ground .follow_up .button {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border-radius: 0;
    padding: 12px 0;
    border-width: 1px 0 0 0;
}
.lichess_ground .follow_up > .button:first-child {
    border-top-width: 0;
}
.lichess_ground .follow_up > .button:last-child {
    border-bottom-width: 1px;
}
.variant_crazyhouse .lichess_ground .follow_up .button {
    padding: 9px 0;
}
.lichess_ground .rematch.button {
    padding: 0;
    height: 54px;
    font-size: 1.2em;
    display: flex;
    justify-content: center;
    align-items: center;
    text-transform: uppercase;
    transition: height 0.5s ease;
}
.variant_crazyhouse .lichess_ground .rematch.button {
    height: 60px;
}
.lichess_ground .rematch.me {
    background: rgba(56,147,232,0.8);
}
@keyframes rubberBand {
    from { transform: scale3d(1, 1, 1); }
    6% { transform: scale3d(1.25, 0.75, 1); }
    8% { transform: scale3d(0.75, 1.25, 1); }
    10% { transform: scale3d(1.15, 0.85, 1); }
    13% { transform: scale3d(.95, 1.05, 1); }
    15% { transform: scale3d(1.05, .95, 1); }
    20% { transform: scale3d(1, 1, 1); }
}
.lichess_ground .rematch.them {
    background: none;
    animation: fbt-glowing 1.5s ease-in-out infinite;
}
.lichess_ground .rematch.them span {
    animation: rubberBand 5s infinite;
}
.lichess_ground .rematch.button:not(.disabled):hover {
    background: rgba(56,147,232,0.8);
    color: #fff!important;
    animation: none;
    text-shadow: none;
}
.lichess_ground .rematch-decline {
    position: absolute;
    top: 0;
    right: -25px;
    width: 25px;
    height: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #ccc;
    border-left: 0;
    border-radius: 0 5px 5px 0;
    box-sizing: border-box;
    opacity: 0.7;
    transition: 0.3s;
}
.lichess_ground .rematch-decline:hover {
    background: #dc322f;
    color: #fff;
    right: -36px;
    width: 35px;
}
.lichess_ground .follow_up .fbt.strong {
    display: block;
    padding: 2em 0;
    font-size: 1.2em;
}
.lichess_ground .follow_up .weak {
    font-weight: normal;
    padding: 6px 0;
}
.lichess_ground .follow_up .weak::before {
    opacity: 0.7;
}
div.cemetery {
    flex: 0 0 32px;
    line-height: 0;
    white-space: nowrap;
    line-height: 0;
    height: 32px;
    max-height: 32px; /* or else firefox bumps to 35px when adding <score> */
}
div.cemetery:first-child {
    margin-bottom: 5px;
}
div.cemetery:last-child {
    margin-top: 5px;
}
div.cemetery tomb {
    display: inline-block;
    margin-left: 10px;
}
div.cemetery mono-piece {
    margin-left: -10px;
}
div.cemetery score {
    font-family: 'Roboto';
    font-weight: 300;
    font-size: 15px;
    line-height: 35px;
    vertical-align: top;
}
div.under_chat {
    width: 228px;
    margin: 10px 0 0 -30px;
}
@media (max-width: 1070px) {
    div.under_chat {
        margin-left: 0;
        width: 198px;
    }
}
div.under_chat .watchtv {
    display: block;
    height: 24px;
    line-height: 24px;
    text-align: center;
    margin-top: -24px;
}
div.under_chat .watchers {
    margin-top: 10px;
    opacity: 0.65;
    transition: 0.13s;
    min-height: 5em;
    max-height: 9em;
    overflow: hidden;
}
div.under_chat .watchers.hidden {
    visibility: hidden;
}
div.under_chat .watchers:hover {
    opacity: 1;
}
div.game_tournament {
    max-height: 300px;
    overflow: hidden;
}
div.game_tournament .clock {
    text-align: center;
    font-size: 20px;
    font-family: 'Roboto Mono', 'Roboto';
    margin: 10px 0;
}
div.tourStanding table {
    border-bottom: none;
}
div.tourStanding:hover {
    overflow-y: auto!important;
}
div.tourStanding td {
    padding: 0 10px;
    text-align: left;
    line-height: 1.8em;
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
div.tourStanding .slist td:first-child {
    padding-left: 10px;
}
div.tourStanding .name span {
    display: inline-block;
    width: 20px;
}
div.tourStanding .name span::before {
    font-size: 0.8em;
    opacity: 0.4;
}
div.tourStanding .total {
    font-weight: bold;
    text-align: right;
}
span.inline_userlist {
    display: inline;
    color: #9a9a9a;
}
span.inline_userlist a {
    color: #aaa;
    font-weight: bold;
}
div.underboard {
    display: flex;
}
div.underboard .center {
    text-align: center;
    padding-top: 15px;
    width: 512px;
    min-height: 81px;
    display: flex;
    flex-flow: column nowrap;
}
div.underboard .keyboard-move {
    text-align: left;
    order: -1;
    margin-top: 5px;
}
div.underboard .keyboard-move input {
    width: 35px;
    padding: 4px 8px;
    font-size: 1.2em;
    font-weight: bold;
    margin-right: 10px;
    border: 1px solid #ccc;
}
div.underboard .keyboard-move input.wrong {
    background: #dc322f;
    color: #fff;
}
div.underboard .keyboard-move em {
    opacity: 0.7;
}
div.underboard .blurs,
div.underboard .right {
    padding-left: 15px;
    width: 242px;
}
div.underboard .blurs {
    position: relative;
    padding-top: 25px;
    z-index: 1;
}
div.underboard a {
    display: inline-block;
}

#now_playing.other_games {
    width: 512px;
}
#now_playing .switcher {
    font-size: 0.7em;
    display: flex;
    height: 1.5em;
    line-height: 22px;
}
#now_playing .switcher label {
    cursor: pointer;
}
#now_playing .switcher .switch {
    margin-left: 10px;
}
#now_playing.other_games > a {
    padding: 5px;
}
#now_playing h3 {
    font-size: 1.4em;
    flex: 0 0 100%;
    display: flex;
    justify-content: space-between;
}
#now_playing .simul span {
    font-weight: bold;
    margin: 0 .5em;
}
#now_playing .simul .win {
    color: #759900;
}
#now_playing .simul .draw {
    color: #bf811d;
}
#now_playing .simul .loss {
    color: #ac524f;
}

body.playing.zen .table {
    padding: 0;
}
body.playing.zen .lichess_ground .replay .buttons {
    border: none;
}
body.playing.zen .lichess_ground div.control {
    margin-bottom: 8px;
}
body.playing.zen .under_chat,
body.playing.zen .table .moves,
body.playing.zen .table .username,
body.playing.zen rating,
body.playing.zen .tournament_rank,
body.playing.zen #friend_box,
body.playing.zen .board_left .side,
body.playing.zen #chat,
body.playing.zen .underboard .center .crosstable,
body.playing.zen #now_playing,
body.playing.zen .clock .moretime,
body.playing.zen #topmenu,
body.playing.zen #ham-plate,
body.playing.zen .dasher,
body.playing.zen .site_notifications,
body.playing.zen .challenge_notifications,
body.playing.zen .reports,
body.playing.zen #clinput,
body.playing.zen #site_title {
    display: none;
}
body.playing.zen .table_wrap .replay .buttons {
    opacity: 0!important;
}
body.playing.zen .table_wrap:hover .replay .buttons {
    opacity: 1!important;
}
#zentog {
    position: absolute;
    top: 0;
    left: 0;
    padding: 10px 15px;
    opacity: 0.5;
    z-index: 3;
    display: none;
}
body.playing.zen #zentog {
    display: block;
}
#zentog::before {
    font-size: 1.3em;
}
#zentog:hover {
    opacity: 1;
}
