
:root{
    --tan:rgb(162, 122, 77);
    --dark:rgb(117, 89, 58);
    --selectedTile:rgb(25, 175, 239);
    --lastMoved: rgb(255, 230, 85);
    --move:rgb(84, 202, 21);
    --attack:rgb(237, 41, 27);
    --promote:rgb(197, 204, 12);
    --white:rgb(212, 212, 212);
    --highlight: rgb(160, 209, 230);
}

body { 
    margin: 0; 
    background: #222; 
    display: flex; 
    font-size: medium;
    font-family: Cambria, 'Times New Roman', Times, serif;
    /* justify-content: center;  */
    /* align-items: center;  */
    /*height: 100vh;  */
}

button{
    font-size: medium;
    padding:3px;
    margin: 4px;
}

button.selected-board-layout {
    background: var(--highlight);
}

button.selected-menu-button {
    background: var(--highlight);
}

select{
    font-size: large;
    padding:3px;
    margin: 4px;
}

canvas { 
    /* box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);  */
    cursor: pointer; 
}

.fullscreen-button {
    position: fixed;
    left: .5rem;
    bottom: .5rem;
    z-index: 10;
}

.top-left-div{
    color:var(--white);
    font-size: large;
    position: absolute; 
    top: .2rem; 
    left: .2em;
    padding: 1rem;
}

.top-right-div{
    color:var(--white);
    font-size: large;
    position: absolute; 
    top: .2rem; 
    right: .2rem; 
    text-align: right;
    padding: 1rem;
}

dialog {
    border: none;
    border-radius: 8px;
    padding: 1rem;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    margin-left: 10px;
    margin-top: 10px;
}

.menu-section {
    margin-bottom: 1rem;
}

.host-actions {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.menu-status {
    min-height: 1.2rem;
    margin: 0.25rem 4px 0;
}

#availableMatchesRefreshTime {
    color: #666;
    font-size: smaller;
}

.laws-menu {
    max-width: 64rem;
    line-height: 1.35;
}

.law-piece-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

.law-piece {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 0.75rem 0;
}

.law-piece img {
    width: 4rem;
    height: 4rem;
    object-fit: contain;
    flex: 0 0 auto;
}

.law-piece h4 {
    margin: 0 0 0.2rem;
}

.law-piece p {
    margin: 0;
}

.promotion-choices {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    align-items: center;
}

.promotion-choice {
    background: var(--tan);
    border: 3px solid var(--dark);
    border-radius: 8px;
    padding: 0.5rem;
    cursor: pointer;
}

.promotion-choice:hover {
    background: var(--promote);
}

.promotion-choice img {
    display: block;
    width: 96px;
    height: 96px;
    object-fit: contain;
    border-radius: 6px;
}

.promotion-choice.black-piece img {
    filter: brightness(0.4) contrast(1.3);
}
