/* ::before é absoluto dentro da célula — nunca empurra o layout */
.cell::before {
  content: '';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(var(--grid-size) / var(--grid-n) * 0.52);
  line-height: 1;
  pointer-events: none;
}

.cell.state-mark::before {
  content: '✕';
  color: #aaa;
  font-size: calc(var(--grid-size) / var(--grid-n) * 0.38);
}

.cell.state-star::before {
  content: '★';
  color: #c8860a;
}

.cell.hint-locked {
  background: rgba(245, 200, 66, 0.18);
  cursor: not-allowed;
}

.cell.hint-locked::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(245, 200, 66, 0.18);
  pointer-events: none;
}

.cell.conflict::before {
  color: #d32f2f !important;
}

.cell.conflict {
  background: rgba(211, 47, 47, 0.12);
}

