/* Chess — game-specific */
.diff-seg { display:flex; gap:8px; }
.diff-seg button { flex:1; }

.board-wrap { flex:1; display:flex; align-items:center; justify-content:center; }
.ch-board {
  display:grid; grid-template-columns:repeat(8,1fr); grid-template-rows:repeat(8,1fr);
  width:100%; max-width:420px; aspect-ratio:1;
  border:5px solid var(--stroke); border-radius:12px; overflow:hidden; box-shadow:0 6px 0 var(--stroke);
  touch-action:manipulation;
}
.csq { position:relative; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.csq.light { background:#F3E1BC; } .csq.dark { background:#C79A63; }
.csq.sel { background:var(--yellow) !important; }
.csq.last { box-shadow:inset 0 0 0 4px rgba(94,232,130,0.6); }
.csq.check { background:#ff8b85 !important; }
.csq.move::after { content:''; width:30%; height:30%; border-radius:50%; background:rgba(28,24,20,0.3); }
.csq.cap::after { content:''; position:absolute; inset:8%; border:4px solid rgba(28,24,20,0.35); border-radius:50%; }
.piece {
  font-size:min(8vw,34px); line-height:1; user-select:none; position:relative; z-index:2;
}
.piece.w { color:#fff; text-shadow:0 0 1px #1C1814, 1px 1px 0 #1C1814, -1px 1px 0 #1C1814, 1px -1px 0 #1C1814, -1px -1px 0 #1C1814; }
.piece.b { color:#1C1814; text-shadow:0 1px 0 rgba(255,255,255,0.25); }

.status-line { text-align:center; font-weight:700; font-size:17px; margin-top:12px; min-height:24px; }
.turn-chip { background:var(--card); }
