.board {
  position: relative;
  width: min(94vmin, 540px);
  height: min(94vmin, 540px);
  background: linear-gradient(145deg, #e8bb65 0%, #c9953d 100%);
  background-image:
    radial-gradient(circle at 28% 18%, rgba(255,255,255,0.22), transparent 50%),
    radial-gradient(circle at 72% 82%, rgba(0,0,0,0.08), transparent 50%);
  border-radius: var(--radius-lg);
  box-shadow: 0 8px 28px rgba(120,75,20,0.30), 0 2px 8px rgba(0,0,0,0.18), 0 0 0 3px rgba(180,130,50,0.30);
  overflow: hidden;
  touch-action: manipulation;
  user-select: none;
}
body.dark .board {
  background: linear-gradient(145deg, #9a7040 0%, #6a4c22 100%);
  box-shadow: 0 8px 28px rgba(0,0,0,0.50), 0 2px 8px rgba(0,0,0,0.30), 0 0 0 3px rgba(80,55,15,0.60);
}

#canvas {
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.overlay {
  position: absolute;
  inset: 0;
  background: var(--overlay-bg);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  z-index: 10;
  animation: fadein .25s ease-in-out;
}
.overlay[hidden] { display: none; }
.overlay-text {
  font-size: clamp(36px, 8vmin, 56px);
  font-weight: 800;
  color: var(--text-strong);
  text-align: center;
}
@keyframes fadein { from { opacity: 0; } to { opacity: 1; } }
