/* /ships/biggest-casinos/: rankings of ship casinos by slot count, table count and size (tools/site/biggest-casinos.ts). */
.bc-prose { max-width: 78ch; }
.bc-prose p + p { margin-top: 12px; }
.bc-prose ul { margin-top: 14px; padding-left: 20px; display: grid; gap: 10px; }
.bc-jump { margin-top: 18px; font-size: .95rem; color: var(--muted); }
.bc-jump a { display: inline-block; padding: 8px 0; }

.bc-filter { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: flex-end; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); }
.bc-filter[hidden] { display: none; }
.bc-field { display: grid; gap: 6px; min-width: 0; }
.bc-field label, .bc-field legend { font-size: .82rem; font-weight: 600; letter-spacing: .04em; color: var(--muted); }
.bc-field select { min-height: 44px; min-width: 220px; max-width: 100%; font: inherit; font-size: 1rem; color: var(--paper-ink); background: #fff; border: 1px solid var(--paper-line); border-radius: 10px; padding: 8px 12px; }
.bc-measures { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 4px 6px; }
.bc-measures legend { width: 100%; margin-bottom: 6px; padding: 0; }
.bc-measures label { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1px solid var(--paper-line); border-radius: 999px; font-size: .95rem; letter-spacing: 0; font-weight: 500; color: var(--ink); cursor: pointer; background: #fff; }
.bc-measures input { width: 18px; height: 18px; margin: 0; accent-color: var(--teal-ink); }
.bc-measures label:has(input:checked) { border-color: var(--teal-ink); background: rgba(60,194,176,.12); }
.bc-status { width: 100%; font-size: .9rem; color: var(--muted); margin: 0; }

.bc-measure .section-head p { max-width: 78ch; }
.bc-h3 { margin-top: 26px; font-size: 1.15rem; }
.bc-sub { margin-top: 4px; font-size: .92rem; color: var(--muted); max-width: 78ch; }
.bc-table-wrap { margin-top: 12px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); overflow: hidden; }
.bc-table caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bc-table th[scope="row"] { white-space: normal; }
.bc-table th[scope="row"] a { font-weight: 600; }
.bc-table th[scope="row"] small { display: block; margin-top: 2px; font-weight: 400; font-size: .84rem; color: var(--muted); }
.bc-rank { white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--ink); font-weight: 600; }
.bc-fig b { font-size: 1.05rem; }
.bc-range { display: block; margin-top: 4px; font-size: .82rem; color: var(--warn); white-space: normal; }
.bc-kind { display: inline-block; font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--line); margin-right: 4px; }
.bc-kind-line { color: var(--ok); border-color: currentColor; }
.bc-kind-third { color: var(--muted); }
.bc-date { display: block; font-size: .84rem; color: var(--muted); margin-bottom: 4px; }
.bc-notes { margin: 0; padding-left: 16px; display: grid; gap: 4px; font-size: .88rem; }
.bc-none { font-size: .88rem; color: var(--muted); }
.bc-alt b { color: var(--ink); }
.bc-empty { padding: 14px 16px; color: var(--muted); }
.bc-table td a, .bc-table th a { word-break: break-word; }
.bc-table tr[hidden] { display: none; }

/* Phones: each row becomes a stacked card with labelled fields. */
@media (max-width: 760px) {
  .bc-table, .bc-table tbody, .bc-table tr, .bc-table td, .bc-table th { display: block; width: 100%; }
  .bc-table thead { display: none; }
  .bc-table tr { padding: 12px 14px; border-bottom: 1px solid var(--line); }
  .bc-table tbody tr:last-child { border-bottom: 0; }
  .bc-table td, .bc-table th { border: 0; padding: 4px 0; }
  .bc-table td::before { content: attr(data-label); display: block; font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--dim); margin-bottom: 2px; }
  .bc-table td.bc-rank::before { display: inline; margin-right: 8px; }
  .bc-table td.num { white-space: normal; }
  .bc-field select { min-width: 0; width: 100%; }
  .bc-filter .bc-field:first-child { width: 100%; }
}
/* Tap targets: ship and source links get at least 40px of height on touch screens. */
@media (pointer: coarse) {
  .bc-table th[scope="row"] a, .bc-table td a { display: inline-block; min-height: 40px; padding: 9px 0; line-height: 1.35; }
  .bc-jump a { min-height: 40px; padding: 10px 0; }
}
