.linklink-area { max-width:600px; }
.controls { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:16px; }
.stats { display:flex; gap:16px; color:var(--muted); font-size:14px; flex-wrap:wrap; }
.stats b { color:var(--ink); font-size:17px; }
.actions { display:flex; gap:8px; flex-wrap:wrap; }
.board { display:grid; grid-template-columns:repeat(8,1fr); gap:4px; margin:0 auto; }
.cell { aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; font-size:26px; border:1px solid var(--rule); background:var(--panel); cursor:pointer; border-radius:4px; transition:background .12s,transform .12s,border-color .12s; }
.cell:hover { border-color:var(--blue); }
.cell.empty { background:transparent; border-color:transparent; cursor:default; }
.cell.selected { border-color:var(--blue); background:var(--bluewash); transform:scale(1.06); }
.cell.hint { border-color:var(--orange); background:var(--bluewash); }
.cell.linked { border-color:var(--cyan); }
.win-panel { max-width:360px; margin:18px auto 0; padding:24px; text-align:center; }
.win-panel h2 { margin:0 0 6px; letter-spacing:-.03em; }
.win-panel p { color:var(--muted); font-size:14px; margin:0 0 14px; }
@media (max-width:780px) {
  .cell { font-size:19px; gap:3px; }
  .controls { flex-direction:column; align-items:stretch; }
  .stats { justify-content:space-between; }
  .actions { justify-content:center; }
}