/* Rule map: 41 columns of colour cells, plus the 8-entry lookup table. */
.fbw-ca-board{margin:18px 0}
.fbw-ca-grid{
  display:grid;
  grid-template-columns:repeat(41,minmax(0,1fr));
  gap:1px;
  width:100%;
  max-width:100%;
  background:#aebf9e;
  border:1px solid #aebf9e;
  border-radius:8px;
  overflow:hidden;
}
.fbw-ca-cell{
  aspect-ratio:1;
  min-width:0;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  display:block;
  cursor:pointer;
}
.fbw-ca-cell.fbw-ca-on{background:#1f4f43}
.fbw-ca-cell.fbw-ca-off{background:#f4f6ec}
.fbw-ca-cell.fbw-ca-parent{box-shadow:inset 0 0 0 2px #c4a35a}
.fbw-ca-cell.fbw-ca-selected{box-shadow:inset 0 0 0 2px #f7f1d8}
.fbw-ca-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:17px;margin:10px 0 18px;color:#596d63}
.fbw-ca-swatch{display:inline-block;width:14px;height:14px;border:1px solid #aebf9e;margin-right:6px;vertical-align:-2px}
.fbw-ca-swatch.on{background:#1f4f43}
.fbw-ca-swatch.off{background:#f4f6ec}
.fbw-ca-lookup{width:100%;font-size:16px}
.fbw-ca-lookup caption{text-align:left;font-size:17px;color:#5d7062;margin-bottom:8px}
.fbw-ca-lookup th,.fbw-ca-lookup td{text-align:left;padding:8px 6px;border-bottom:1px solid #d9e1d1}
.fbw-ca-current{background:#e5efdd;font-weight:700}
.fbw-ca-selects{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0}
.fbw-ca-selects label{font-size:18px;display:flex;align-items:center;gap:10px}
@media(max-width:480px){
  .fbw-ca-lookup{font-size:15px}
  .fbw-ca-lookup th,.fbw-ca-lookup td{padding:8px 4px}
  .fbw-ca-selects{grid-template-columns:1fr;gap:8px}
}
