﻿.tic-tac-toe-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.tic-tac-toe-status {
    width: 100%;
    min-height: 32px;
    margin-bottom: 1rem;
    text-align: center;
    font-weight: 600;
}

.tic-tac-toe-board {
    width: min(100%, 330px);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.tic-tac-toe-cell {
    aspect-ratio: 1 / 1;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.5rem;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    font-size: clamp(2rem, 8vw, 3.25rem);
    font-weight: 700;
    line-height: 1;
    transition: background-color 0.15s ease, transform 0.1s ease, border-color 0.15s ease;
}

    .tic-tac-toe-cell:not(:disabled):hover {
        background: var(--bs-tertiary-bg);
        border-color: var(--bs-secondary-border-subtle);
    }

    .tic-tac-toe-cell:not(:disabled):active {
        transform: scale(0.96);
    }

    .tic-tac-toe-cell:disabled {
        opacity: 1;
        cursor: default;
    }

.tic-tac-toe-x {
    color: var(--bs-primary);
}

.tic-tac-toe-o {
    color: var(--bs-secondary-color);
}

@media (max-width: 767.98px) {
    .tic-tac-toe-board {
        width: min(100%, 290px);
    }

    .tic-tac-toe-cell {
        font-size: 2.5rem;
    }
}
