/* 賓果專用樣式 */
.bg-tabs { grid-template-columns: repeat(2, 1fr); }
.bg-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.bg-tabs button, .dr-btns { user-select: none; -webkit-user-select: none; }
.bg-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.bg-actions .btn { flex: 1 1 160px; }

/* 賓果卡（螢幕預覽） */
.bg-sheet { margin: 12px 0; }
.bg-page { border: 1px dashed #c3cbe0; padding: 10px; margin: 10px 0; display: grid; gap: 14px; justify-items: center; }
.bg-page.p4 { grid-template-columns: 1fr 1fr; }
.bg-card { width: 100%; max-width: 340px; min-width: 0; }
.bg-h { display: grid; grid-template-columns: repeat(5, 1fr); border: 2px solid #111827; border-bottom: 0; background: #e8eefc; font-weight: 700; text-align: center; font-size: 1.1rem; line-height: 1.8; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.bg-grid { display: grid; grid-template-columns: repeat(5, 1fr); border: 2px solid #111827; background: #fff; }
.bg-c { aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; text-align: center; border: 1px solid #111827; font-size: clamp(.95rem, 4.4vw, 1.5rem); font-weight: 600; min-width: 0; overflow: hidden; overflow-wrap: anywhere; line-height: 1.15; padding: 2px; }
.bg-c.t1 { font-size: clamp(.8rem, 3.4vw, 1.1rem); }
.bg-c.t2 { font-size: clamp(.65rem, 2.6vw, .9rem); font-weight: 500; }
.bg-c.free { background: #f1f5f9; font-size: clamp(.7rem, 3vw, 1rem); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.bg-n { text-align: center; font-size: .8rem; color: var(--muted); margin-top: 2px; }
.bg-page.p4 .bg-card .bg-c { font-size: clamp(.8rem, 3.4vw, 1.2rem); }
.bg-page.p4 .bg-card .bg-c.t1 { font-size: clamp(.65rem, 2.6vw, .95rem); }
.bg-page.p4 .bg-card .bg-c.t2 { font-size: clamp(.55rem, 2.2vw, .8rem); }
.bg-page.p4 .bg-h { font-size: .9rem; }

/* 抽號機 */
.dr-cur { text-align: center; margin: 10px 0; }
.dr-big { display: inline-block; min-width: 160px; padding: 6px 24px; border: 3px solid var(--brand-dark); border-radius: 16px; background: #eff4ff; color: var(--brand-dark); font-size: clamp(2.6rem, 14vw, 4.5rem); font-weight: 800; line-height: 1.25; font-variant-numeric: tabular-nums; }
.dr-left { text-align: center; margin: 4px 0; font-weight: 600; }
.dr-btns { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 8px; margin: 10px 0; }
.dr-btns { grid-template-columns: 1.3fr 1fr 1fr; }
.dr-btns .btn { min-height: 54px; padding: 0 2px; font-size: .95rem; white-space: nowrap; }
.dr-draw { font-size: 1.3rem; font-weight: 700; }
.dr-opts { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 8px 0; }
.dr-board { display: grid; gap: 3px; margin: 10px 0; user-select: none; -webkit-user-select: none; }
.dr-board.std { grid-template-columns: 1.6em repeat(15, minmax(0, 1fr)); }
.dr-board.gen { grid-template-columns: repeat(auto-fill, minmax(38px, 1fr)); }
.dr-c { display: flex; align-items: center; justify-content: center; min-height: 28px; border: 1px solid #c3cbe0; border-radius: 4px; font-size: .8rem; color: #94a3b8; background: #fff; font-variant-numeric: tabular-nums; min-width: 0; }
.dr-board.gen .dr-c { min-height: 38px; font-size: .95rem; }
.dr-c.on { background: var(--brand); border-color: var(--brand); color: #fff; font-weight: 700; }
.dr-c.last { background: #f59e0b; border-color: #b45309; color: #111827; }
.dr-l { display: flex; align-items: center; justify-content: center; font-weight: 800; color: var(--brand-dark); }
@media (max-width: 480px) { .dr-board.std { gap: 2px; } .dr-board.std .dr-c { font-size: .62rem; min-height: 24px; } }

@media print {
  @page { size: A4; margin: 10mm; }
  .site-header, .site-footer, .breadcrumb { display: none !important; }
  main > *:not(#bg-sheet) { display: none !important; }
  .bg-nopr { display: none !important; }
  body { background: #fff; }
  #bg-sheet { margin: 0; }
  .bg-page { border: 0; padding: 0; margin: 0; height: 275mm; box-sizing: border-box; break-after: page; page-break-after: always; align-content: space-evenly; }
  .bg-page:last-of-type { break-after: auto; page-break-after: auto; }
  .bg-page.p1 { grid-template-columns: 1fr; }
  .bg-page.p2 { grid-template-columns: 1fr; }
  .bg-page.p4 { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; align-items: center; }
  .bg-page.p1 .bg-card { max-width: none; width: 170mm; }
  .bg-page.p2 .bg-card { max-width: none; width: 112mm; }
  .bg-page.p4 .bg-card { max-width: none; width: 88mm; }
  .bg-page.p1 .bg-c { font-size: 24pt; }
  .bg-page.p2 .bg-c { font-size: 17pt; }
  .bg-page.p4 .bg-c { font-size: 14pt; }
  .bg-page.p1 .bg-c.t1 { font-size: 15pt; } .bg-page.p1 .bg-c.t2 { font-size: 11pt; }
  .bg-page.p2 .bg-c.t1 { font-size: 11pt; } .bg-page.p2 .bg-c.t2 { font-size: 8pt; }
  .bg-page.p4 .bg-c.t1 { font-size: 9pt; } .bg-page.p4 .bg-c.t2 { font-size: 7pt; }
  .bg-page .bg-c.free { font-size: 12pt; }
  .bg-page.p1 .bg-h { font-size: 24pt; } .bg-page.p2 .bg-h { font-size: 18pt; } .bg-page.p4 .bg-h { font-size: 14pt; }
}
