/* Bingo card generator */
.ccc .bcg [hidden] { display: none !important; }
.bcg-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
.bcg-seg label { cursor: pointer; }
.bcg-seg input { position: absolute; opacity: 0; pointer-events: none; }
.bcg-seg span { display: block; background: var(--surface-2, #1c212a); border: 1px solid var(--c-line); border-radius: 10px; padding: 10px 12px; height: 100%; }
.bcg-seg b { display: block; font-size: 15px; }
.bcg-seg small { color: var(--c-muted); font-size: 12px; }
.bcg-seg input:checked + span { border-color: var(--c-accent); background: rgba(163, 230, 53, .07); }
.bcg-seg input:checked + span b { color: var(--c-accent); }
.bcg-seg input:focus-visible + span { outline: 2px solid var(--c-accent-2); }
.ccc .bcg-text input[type="text"] { width: 170px; font-family: var(--font, sans-serif); text-align: left; }
.ccc .bcg-field select { width: 92px; }
.bcg-actions { flex-wrap: wrap; }
.bcg-preview { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
.bcg-preview.bcg-g90 { grid-template-columns: 1fr; gap: 6px; }
.bcg-more { grid-column: 1 / -1; color: var(--c-muted); font-size: 13px; margin: 4px 0 0; }
/* the cards themselves: paper look on screen and in print */
.bcg-c75, .bcg-c90 { background: #fff; color: #111; border-radius: 8px; padding: 8px; font-family: var(--font, Arial, sans-serif); }
.bcg-title { text-align: center; font-weight: 800; font-size: 13px; letter-spacing: .02em; margin-bottom: 4px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ccc .bcg-c75 table, .ccc .bcg-c90 table, .bcg-print table { width: 100%; border-collapse: collapse; table-layout: fixed; margin: 0; }
.ccc .bcg-c75 th, .bcg-print .bcg-c75 th { background: #111; color: #fff; font-weight: 800; font-size: 14px; padding: 3px 0; text-align: center; border: 1px solid #111; }
.ccc .bcg-c75 td, .bcg-print .bcg-c75 td { border: 1px solid #333; text-align: center; font-weight: 700; font-size: 15px; height: 30px; padding: 0; color: #111; background: #fff; }
.ccc .bcg-c75 td.bcg-free, .bcg-print td.bcg-free { font-size: 9px; font-weight: 800; background: #e9ecef; letter-spacing: .03em; }
.bcg-serial { font-size: 9px; color: #666; text-align: right; margin-top: 3px; }
.bcg-t90 { display: flex; justify-content: space-between; font-size: 11px; font-weight: 700; margin-bottom: 3px; }
.ccc .bcg-c90 td, .bcg-print .bcg-c90 td { border: 1px solid #333; text-align: center; font-weight: 700; font-size: 14px; height: 26px; padding: 0; color: #111; background: #fff; }
.ccc .bcg-c90 td.bcg-blank, .bcg-print td.bcg-blank { background: #eef0f3; }
.bcg-print { display: none; }
@media (max-width: 520px) { .bcg-preview { grid-template-columns: 1fr; } }
@media print {
	@page { size: A4 portrait; margin: 10mm; }
	body.bcg-printing * { visibility: hidden !important; }
	body.bcg-printing { background: #fff !important; }
	body.bcg-printing .bcg.is-printing .bcg-print, body.bcg-printing .bcg.is-printing .bcg-print * { visibility: visible !important; }
	body.bcg-printing .bcg.is-printing .bcg-print { display: block; position: absolute; left: 0; top: 0; width: 100%; }
	body.bcg-printing .bcg-form { display: none; }
	.bcg-page { display: grid; gap: 8mm; page-break-after: always; break-after: page; }
	.bcg-page:last-child { page-break-after: auto; break-after: auto; }
	.bcg-pp1 { grid-template-columns: 1fr; padding: 0 25mm; }
	.bcg-pp2 { grid-template-columns: 1fr; padding: 0 35mm; }
	.bcg-pp4 { grid-template-columns: 1fr 1fr; }
	.bcg-pp6 { grid-template-columns: 1fr 1fr; gap: 5mm; }
	.bcg-page.bcg-g90 { grid-template-columns: 1fr; gap: 3mm; }
	.bcg-print .bcg-c75, .bcg-print .bcg-c90 { border: 1px solid #999; border-radius: 0; break-inside: avoid; }
	.bcg-pp1 .bcg-c75 td { height: 30mm; font-size: 30pt; } .bcg-pp1 .bcg-c75 th { font-size: 26pt; } .bcg-pp1 .bcg-title { font-size: 20pt; }
	.bcg-pp2 .bcg-c75 td { height: 18mm; font-size: 20pt; } .bcg-pp2 .bcg-c75 th { font-size: 16pt; } .bcg-pp2 .bcg-title { font-size: 14pt; }
	.bcg-pp4 .bcg-c75 td { height: 18mm; font-size: 18pt; } .bcg-pp4 .bcg-c75 th { font-size: 15pt; } .bcg-pp4 .bcg-title { font-size: 13pt; }
	.bcg-pp6 .bcg-c75 td { height: 12mm; font-size: 14pt; }
	.bcg-print .bcg-c90 td { height: 9.5mm; font-size: 14pt; }
	.bcg-print .bcg-c90 { padding: 2mm 3mm; }
	.bcg-print td.bcg-free { font-size: 10pt; }
	.bcg-pp1 .bcg-print td.bcg-free, .bcg-pp1 td.bcg-free { font-size: 16pt; }
	.bcg-print * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
