.play-field {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    margin: auto;
    width: 90vmin;
    height: 72vmin;
    padding: 0;
    vertical-align: middle;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    position: absolute;
}

.board {
    position: relative;
    width: 80%;
    height: 100%;
}

.cell {
    position: absolute;
    width: 10%;
    height: 10%;
    padding: 0;
}

.cell-line {
    stroke: rgb(0,0,0);
    stroke-width: 0.2%;
}

.border-line {
    stroke: rgb(0,0,0);
    stroke-width: 1%;
}

.dot {
    stroke: rgb(0,0,0);
    stroke-width: 1%;
    stroke-linecap: round;
}

.board-svg {
    height: 100%;
    width: 100%;
    stroke-linecap: square;
    /*background: #ddd;*/
}

.piece {
    position: absolute;
    width: 10%;
    height: 10%;
    padding: 0;
    transition: top 0.5s, left 0.5s;
    font-size: 5vmin;
    text-align: center;
}

.promoted {
    color: #e00;
}

.hand {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    width: 10%;
    height: 100%;
    position: relative;

    /* background: #ddd;*/
}

.captive {
    width: 100%;
    height: 10%;
    font-size: 4.5vmin;
    text-align: left;
    padding: 0.2vmin;
    align: center;

    /* background: #ccc;*/
}

.align-right {
    text-align: right;
}

.column-reverse {
    flex-direction: column-reverse;
}

.column-index {
    text-align: center;
    font-size: 2.3vmin;
    position: absolute;
    width: 10%;
    height: 2%;
    top: 1%;
    padding: 0;
}

.row-index {
    text-align: right;
    line-height: 300%;
    font-size: 2.5vmin;
    position: absolute;
    width: 2%;
    height: 10%;
    left: 96%;
    padding: 0;
}

.cell00 {
    visibility: hidden;
}
