body {
    font-family: sans-serif;
    margin: 0;
    padding: 0;
    transition: background-color 3.5s;
  }
  #controls, #status {
    padding: 10px;
    text-align: center;
  }
  #container {
    position: relative;
    width: max-content;
    margin: 20px auto;
  }
  #board {
display: grid;
grid-template-columns: repeat(var(--board-size), 40px);
grid-auto-rows: 40px;
gap: 2px;
background-image: url('https://www.transparenttextures.com/patterns/wood-pattern.png');
background-color: #deb887; /* fallback wood color */
background-size: cover;
padding: 10px;
border: 4px solid #8b5a2b;
position: relative;
z-index: 0;
}
  
  .cell {
    width: 40px;
    height: 40px;
    background-color: #a77736;
    border-radius: 50%;
    position: relative;
    cursor: pointer;
  }
  .logo {
width: 150px;
height: auto;
}
.navbar {
display: flex;
align-items: center;
justify-content: space-between;
background-color: #222;
padding: 10px 20px;
}

.logo {
width: 150px;
height: auto;
}

.menu {
display: flex;
gap: 20px;
}

.menu a {
color: white;
text-decoration: none;
font-size: 16px;
}

.menu-icon {
display: none;
font-size: 28px;
color: white;
cursor: pointer;
}

.menu-toggle {
display: none;
}

@media (max-width: 600px) {
.menu {
  display: none;
  flex-direction: column;
  background-color: #222;
  position: absolute;
  top: 60px;
  right: 0;
  width: 100%;
}

.menu a {
  padding: 10px 20px;
  border-top: 1px solid #444;
}

.menu-toggle:checked + .menu-icon + .menu {
  display: flex;
}

.menu-icon {
  display: block;
}
}

.black {
background: radial-gradient(circle at 30% 30%, #333 10%, #111 90%);
box-shadow:
  inset -2px -2px 6px rgba(255,255,255,0.2),
  inset 2px 2px 6px rgba(0,0,0,0.3),
  0 3px 6px rgba(0,0,0,0.5);
}

.white {
background: radial-gradient(circle at 30% 30%, #fff 10%, #ccc 90%);
box-shadow:
  inset -2px -2px 6px rgba(255,255,255,0.3),
  inset 2px 2px 6px rgba(0,0,0,0.2),
  0 3px 6px rgba(0,0,0,0.4);
border: 1px solid #bbb;
}
black:hover, .white:hover {
transform: scale(1.05);
transition: transform 0.1s ease-in-out;
}
  .last-move::after {
    content: '';
    position: absolute;
    top: 6px;
    left: 6px;
    width: 28px;
    height: 28px;
    border: 2px solid red;
    border-radius: 50%;
    pointer-events: none;
  }
  #lineOverlay {
    position: absolute;
    top: 10px;
    left: 10px;
    pointer-events: none;
    z-index: 5;
  }
  #gameControls {
    text-align: center;
    margin-top: 20px;
  }
  #notificationPopup {
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    background-color: gold;
    padding: 10px 20px;
    border-radius: 10px;
    font-weight: bold;
    display: none;
    z-index: 10;
  }
  button {
background: linear-gradient(145deg, #c8a165, #a07940);
border: 2px solid #7a5a33;
color: #fff8e1;
padding: 10px 16px;
font-size: 16px;
font-weight: bold;
font-family: 'Georgia', serif;
border-radius: 8px;
cursor: pointer;
box-shadow: 0 4px 0 #7a5a33;
transition: all 0.2s ease;
text-shadow: 1px 1px #4e3b24;
}

button:hover {
background: linear-gradient(145deg, #a07940, #c8a165);
box-shadow: 0 2px 0 #7a5a33;
transform: translateY(2px);
}

button:active {
box-shadow: inset 0 2px 4px rgba(0,0,0,0.4);
transform: translateY(4px);
}
select {
background: linear-gradient(145deg, #c8a165, #a07940);
border: 2px solid #7a5a33;
color: #c8a165;
padding: 8px 12px;
font-size: 16px;
font-family: 'Georgia', serif;
border-radius: 6px;
cursor: pointer;
box-shadow: 0 2px 4px rgba(0,0,0,0.3);
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
background-position: right 10px center;
background-repeat: no-repeat;
background-size: 12px;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon points='70,100 20,40 120,40' fill='%23fff8e1'/%3E%3C/svg%3E");
}

select:hover {
background: linear-gradient(145deg, #a07940, #c8a165);
}

select:focus {
outline: none;
box-shadow: 0 0 0 2px #fff3d1, 0 0 0 4px #7a5a33;
}