.reversi-board {
  display: grid;
  grid-template-columns: repeat(8, 46px);
  grid-template-rows: repeat(8, 46px);
  gap: 3px;
  background: var(--felt-900);
  padding: 6px;
  border-radius: 8px;
}

@media (max-width: 480px) {
  .reversi-board { grid-template-columns: repeat(8, 8.6vw); grid-template-rows: repeat(8, 8.6vw); }
}

.reversi-cell {
  border: none;
  background: var(--felt-700);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}

.reversi-cell.playable {
  box-shadow: 0 0 0 2px rgba(212, 176, 108, 0.5) inset;
}

.reversi-disc {
  width: 78%;
  height: 78%;
  border-radius: 50%;
  transition: transform 0.25s var(--ease-spring);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5), 0 1px 0 rgba(255, 255, 255, 0.15) inset;
}
.reversi-disc.p0 { background: radial-gradient(circle at 32% 26%, var(--wine-500), var(--wine-800) 80%); }
.reversi-disc.p1 { background: radial-gradient(circle at 32% 26%, var(--brass-500), var(--brass-800) 80%); }
