/* Word Search — game-specific */
.diff-seg { display:flex; gap:8px; }
.diff-seg button { flex:1; }
.game-shell { max-width:520px; }
body.playful { overflow-y:auto; }

.board-wrap { display:flex; justify-content:center; }
.ws-grid {
  display:grid; gap:3px; padding:8px; touch-action:none; user-select:none;
  background:var(--card); border:5px solid var(--stroke); border-radius:16px; box-shadow:0 6px 0 var(--stroke);
  grid-template-columns:repeat(var(--cols), 1fr); width:100%; max-width:460px;
}
.ws-cell {
  aspect-ratio:1; display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:18px; border-radius:8px; color:var(--stroke);
  background:transparent; transition:background 0.1s;
}
.ws-cell.sel { background:var(--yellow); }
.ws-cell.found { background:var(--green); color:#fff; }
.ws-cell.found2 { background:var(--blue); color:#fff; }
.ws-cell.found3 { background:var(--pink); color:#fff; }
.ws-cell.found4 { background:var(--purple); color:#fff; }

.word-list {
  display:flex; flex-wrap:wrap; gap:8px 16px; justify-content:center; margin-top:18px; padding:0 8px;
}
.word-chip { font-weight:700; font-size:16px; color:var(--text); }
.word-chip.done { text-decoration:line-through; color:var(--muted); }

@media (max-width:430px){ .ws-cell{ font-size:14px; } }
