/* Cross Sums (Kakuro) — game-specific */
.diff-seg { display:flex; gap:8px; }
.diff-seg button { flex:1; }
.game-shell { max-width:460px; }

.board-wrap { flex:1; display:flex; align-items:center; justify-content:center; }
.kk-grid {
  display:grid; gap:0; border:5px solid var(--stroke); border-radius:10px; overflow:hidden;
  box-shadow:0 6px 0 var(--stroke); touch-action:manipulation;
  grid-template-columns:repeat(var(--cols), 1fr); width:100%; max-width:400px; aspect-ratio:var(--cols)/var(--rows);
}
.kk-cell { position:relative; border:1px solid #1C1814; aspect-ratio:1; }
.kk-cell.block { background:#3a342c; }
.kk-cell.clue {
  background:linear-gradient(to bottom right, #4a443a 0 49.3%, #1C1814 49.3% 50.7%, #4a443a 50.7% 100%);
}
.kk-cell.clue .r, .kk-cell.clue .d { position:absolute; font-size:12px; font-weight:800; color:#fff; }
.kk-cell.clue .r { top:1px; right:4px; }
.kk-cell.clue .d { bottom:1px; left:4px; }
.kk-cell.white {
  background:#FAFAFA; cursor:pointer; display:flex; align-items:center; justify-content:center;
  font-size:21px; font-weight:700; color:var(--blue);
}
.kk-cell.white.sel { background:var(--yellow); color:var(--stroke); }
.kk-cell.white.err { color:#FF3B30; }
.kk-cell.white.done { color:var(--green); }

.pad { display:grid; grid-template-columns:repeat(9, 1fr); gap:5px; margin-top:16px; max-width:400px; margin-left:auto; margin-right:auto; }
.pad button { font:inherit; font-size:20px; font-weight:700; color:var(--stroke); cursor:pointer; aspect-ratio:0.85;
  background:var(--card); border:3px solid var(--stroke); border-radius:10px; box-shadow:0 3px 0 var(--stroke); }
.pad button:active { transform:translateY(3px); box-shadow:0 0 0 var(--stroke); }
.pad-tools { display:flex; gap:8px; justify-content:center; margin-top:12px; }
.sbtn.small { width:auto; padding:10px 16px; font-size:14px; }
@media (max-width:430px){ .kk-cell.white{ font-size:17px; } .kk-cell.clue .r,.kk-cell.clue .d{ font-size:10px; } }
