/* Takuzu — 6×6 ikili mantık bulmacası. */

.tahta.takuzu { --n: 6; --tahta-bosluk: 5px; }

.takuzu .hucre { font-size: clamp(1.1rem, 5.5vw, 1.7rem); }

/* Verilen (kilitli) hücre koyu zeminde: dokunulamayacağı renkle değil,
   ağırlıkla da belli oluyor — renk körlüğünde ayırt edilebilsin. */
.takuzu .hucre[data-kilit='1'] {
  background: var(--murekkep);
  color: var(--beyaz);
  cursor: default;
}

.takuzu .hucre[data-deger='1'] { color: var(--vurgu); }
.takuzu .hucre[data-deger='2'] { color: var(--komur); }

.takuzu .hucre[data-kilit='1'][data-deger='1'] { color: #ff8c84; }
.takuzu .hucre[data-kilit='1'][data-deger='2'] { color: var(--beyaz); }

/* Kural ihlali: kırmızı çerçeve + hafif zemin. Hata metni de var,
   renk tek sinyal değil. */
.takuzu .hucre.hata {
  border-color: #d92d20;
  background: #fee4e2;
  animation: hatasal 400ms ease-in-out;
}

@keyframes hatasal {
  0%, 100% { transform: translateX(0); }
  30% { transform: translateX(-3px); }
  70% { transform: translateX(3px); }
}

.takuzu.tamam .hucre { animation: parla 620ms ease-out; }

@keyframes parla {
  0% { box-shadow: 0 0 0 0 var(--parilti); }
  50% { box-shadow: 0 0 0 6px var(--parilti); }
  100% { box-shadow: 0 0 0 0 transparent; }
}

.uyari {
  min-height: 22px;
  margin: 0;
  font-size: 0.88rem;
  color: #b42318;
  text-align: center;
  font-weight: 500;
}
