:root {
    --background-color: #262626;
    --background-color-active: #101010;
    --border-color: gray;
    --text-color: lightgray;
    --board-color: #d0ac74;
    --marker-color: #ff0000ff;
}

* {
    margin: 0;
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif;
}

html,
body {
    height: 100%;
}

.none {
    display: none;
}

#main {
    display: flex;
    height: 100%;
    background-color: var(--background-color);
    align-content: center;
    justify-content: center;
    flex-wrap: wrap;
    padding: min(1.5vh, 1.5vw);
}

#container {
    display: flex;
    flex-direction: column;
    gap: min(1.5vh, 1.5vw);
}

#wrapper {
    position: relative;
    height: min(calc(97vh - 38px - min(1.5vh, 1.5vw)), 97vw);
    width: min(calc(97vh - 38px - min(1.5vh, 1.5vw)), 97vw);
}

#grid {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: var(--board-color);
    border-radius: 0.5rem;
}

#board {
    position: absolute;
    border-radius: 0.5rem;
    border-collapse: collapse;
}

td {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-origin: content-box;
    padding: 0.05px;
}

#marker {
    width: 35%;
    height: 35%;
    margin: auto;
    border-radius: 50%;
    background-color: var(--marker-color);
}

.black {
    background-image: url("/static/img/black.png");
}

.white {
    background-image: url("/static/img/white.png");
}

#controls {
    display: flex;
    gap: 0.4rem;
    height: 38px;
    width: 100%;
}

button {
    padding: 0.3rem;
    background-color: var(--background-color);
    border: 2px solid var(--border-color);
    border-radius: 0.5rem;
    color: var(--text-color);
    cursor: pointer;
    flex: 1;
    font-size: 1rem;
    transition: background-color 0.3s;
    -webkit-tap-highlight-color: transparent;
}

button:active {
    background-color: var(--background-color-active);
}

#pass {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    font-size: 0.95rem;
    user-select: none;
}

svg {
    fill: var(--text-color);
    vertical-align: middle;
    height: 90%;
}

@media (max-width: 350px) or (max-height: 350px) {
    #controls {
        gap: 0.2rem;
        height: 35px;
    }

    #wrapper {
        height: min(calc(97vh - 35px - min(1vh, 1vw)), 97vw);
        width: min(calc(97vh - 35px - min(1vh, 1vw)), 97vw);
    }
}