/* road-trip-bingo: this tool's own look, loaded only on its page (tools.css is shared and kept under 5 KB gz) */
.chqt-bingo-set { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 16px; }
.chqt-bingo { border: 2px solid var(--chqt-ink); border-radius: 12px; padding: 10px; background: #fff; }
.chqt-bingo.is-bingo { border-color: var(--chqt-accent); box-shadow: 0 0 0 3px var(--chqt-accent); }
.chqt-bingo-h { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; font-size: 13px; margin: 0 0 8px; color: var(--chqt-muted); }
.chqt-bingo-h b { color: var(--chqt-ink); letter-spacing: .06em; }
.chqt-bingo-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; }
.chqt-bingo-cell { aspect-ratio: 1; min-height: 44px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 2px; border: 1px solid var(--chqt-line); border-radius: 8px; background: #fff; color: var(--chqt-ink); font-size: 16px; cursor: pointer; overflow: hidden; }
.chqt-bingo-cell[aria-pressed="true"] { background: var(--chqt-accent); color: var(--chqt-accent-ink, var(--chqt-ink)); }
.chqt-bingo-cell.is-free { background: var(--chqt-cream); font-weight: 800; cursor: default; opacity: 1; }
.chqt-bingo-cell.is-line { outline: 3px solid var(--chqt-ink); outline-offset: -3px; }
.chqt-bingo-e { font-size: 24px; line-height: 1; }
.chqt-bingo-w { font-size: 11px; line-height: 1.1; text-align: center; }
.chqt-bingo-win { text-align: center; font-weight: 800; letter-spacing: .1em; margin: 8px 0 0; }
.chqt-plates { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 4px; }
.chqt-plates button { min-height: 44px; aspect-ratio: 1; font-size: 16px; font-weight: 700; border: 1px solid var(--chqt-line); border-radius: 8px; background: #fff; color: var(--chqt-ink); cursor: pointer; padding: 0; }
.chqt-plates button[aria-pressed="true"] { background: var(--chqt-accent); border-color: var(--chqt-ink); }
@media (max-width: 640px) {
  .chqt-plates { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .chqt-plates button { grid-row: auto !important; grid-column: auto !important; }
}
@media print {
  .chqt-print-root.chqt-print-cards { columns: auto; font: 12pt system-ui, sans-serif; }
  .chqt-print-cards .chqt-bingo { break-inside: avoid; page-break-inside: avoid; height: 12.2cm; margin: 0 0 .6cm; border: 2px solid #000; box-shadow: none; }
  .chqt-print-cards .chqt-bingo-grid { gap: 0; }
  .chqt-print-cards .chqt-bingo-cell { aspect-ratio: auto; height: 2cm; border: 1px solid #000; border-radius: 0; background: #fff; }
  .chqt-print-cards .chqt-bingo-win { display: none; }
}
/* the bingo answer is rendered in the page before any script: nothing to reserve room for */
.chqt[data-tool="road-trip-bingo"] .chqt-result { min-height: 0; }
