/* ---- BINGO grid ---- */
.bingo-wrap{ margin-top:6px; }
.diff-row{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); margin-bottom:6px; }
.diff-row span{ text-align:center; font-size:13px; color:var(--purple-dark); }
.bingo-grid{
  display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); grid-template-rows:repeat(3, minmax(0, 1fr));
  gap:6px; width:100%; aspect-ratio:1 / 1;
}
.cell{
  border-radius:14px; padding:6px; position:relative;
  background:var(--white); box-shadow:var(--shadow);
  min-width:0; min-height:0; overflow:hidden;
}
.cell.boss{ background:var(--purple-light); box-shadow:0 3px 14px rgba(52,120,246,0.16); }
.cell-text-display{
  width:100%; height:calc(100% - 18px); overflow:hidden; cursor:pointer;
  display:flex; align-items:center; justify-content:center; text-align:center;
  padding:10px 6px 4px;
  font-family:'Manrope'; font-size:14px; line-height:1.2; font-weight:700;
  color:var(--ink); overflow-wrap:normal; word-break:normal; hyphens:manual;
}
.cell.boss .cell-text-display{ padding-top:14px; }
.cell-text-display.empty{ color:var(--muted); }
.cell .boss-flag{ position:absolute; top:6px; right:8px; font-size:13px; }
.cell-check{
  position:absolute; bottom:6px; right:6px; width:20px; height:20px; border-radius:50%;
  border:1.6px solid var(--purple); background:#fff; display:flex; align-items:center; justify-content:center;
  font-size:11px; color:#fff; cursor:pointer; z-index:2;
}
.cell-check.done{ background:var(--purple); }
.cell-check.locked{ opacity:.35; cursor:not-allowed; border-style:dashed; }
.cell.line-complete{ background:var(--purple-light); box-shadow:0 3px 14px rgba(60,110,150,0.25); }
.cell.line-complete.boss{ background:var(--purple-light); }
