/* Turkey Bowl Record Book. Override any of these in Appearance > Customize > Additional CSS. */
.tb {
  --tb-mint: #12a08a;
  --tb-pink: #e2456b;
  --tb-gold: #d69500;
  --tb-line: rgba(127, 127, 127, 0.28);
  --tb-soft: rgba(127, 127, 127, 0.08);
  --tb-radius: 10px;
  margin: 0 0 1.5em;
  font-variant-numeric: tabular-nums;
}
.tb .tb-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.tb table { border-collapse: collapse; width: 100%; margin: 0; font-size: 0.92em; }
.tb th, .tb td { padding: 0.5em 0.65em; border: 0; border-bottom: 1px solid var(--tb-line); text-align: right; white-space: nowrap; vertical-align: middle; }
.tb th { font-weight: 600; font-size: 0.85em; opacity: 0.75; }
.tb table.tb-sortable th { cursor: pointer; user-select: none; }
.tb th[data-dir="desc"]::after { content: " \2193"; }
.tb th[data-dir="asc"]::after { content: " \2191"; }
.tb .tb-l { text-align: left; }
.tb .tb-c { text-align: center; }
.tb .tb-wrap { white-space: normal; min-width: 12em; }
.tb tr.tb-cut td { border-bottom: 2px dashed var(--tb-mint); }
.tb .tb-up, .tb .tb-good { color: var(--tb-mint); }
.tb .tb-down, .tb .tb-bad { color: var(--tb-pink); }
.tb .tb-gold { color: var(--tb-gold); }
.tb .tb-muted { opacity: 0.65; }
.tb .tb-b { font-weight: 700; }
.tb .tb-note { opacity: 0.75; font-size: 0.9em; margin: 0 0 0.8em; }
.tb .tb-who { display: inline-flex; align-items: center; gap: 0.5em; font-weight: 600; }
.tb .tb-av { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; flex: none; background: var(--tb-soft); }
.tb .tb-av-none { display: inline-grid; place-items: center; font-size: 0.75em; font-weight: 700; }
.tb .tb-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0.8em; }
.tb .tb-card { border: 1px solid var(--tb-line); border-radius: var(--tb-radius); padding: 0.9em 1em; background: var(--tb-soft); }
.tb .tb-card h4 { margin: 0 0 0.5em; font-size: 0.9em; opacity: 0.75; font-weight: 600; }
.tb .tb-big { font-size: 1.9em; font-weight: 800; line-height: 1.1; }
.tb .tb-card ol { list-style: none; margin: 0.7em 0 0; padding: 0.6em 0 0; border-top: 1px solid var(--tb-line); font-size: 0.88em; }
.tb .tb-card li { display: flex; justify-content: space-between; gap: 0.6em; padding: 0.15em 0; }
.tb .tb-card li small { display: block; opacity: 0.65; }
.tb h3.tb-h { margin: 1.2em 0 0.6em; }
.tb .tb-match { border: 1px solid var(--tb-line); border-radius: var(--tb-radius); padding: 0.2em 0.8em; background: var(--tb-soft); }
.tb .tb-match div { display: flex; justify-content: space-between; align-items: center; padding: 0.45em 0; }
.tb .tb-match div + div { border-top: 1px solid var(--tb-line); }
.tb .tb-match .tb-won .tb-score { color: var(--tb-mint); font-weight: 800; }
.tb .tb-score { font-weight: 600; }
.tb .tb-tag { display: inline-block; font-size: 0.72em; font-weight: 700; padding: 0.15em 0.5em; border-radius: 999px; margin-bottom: 0.3em; border: 1px solid currentColor; }
.tb .tb-tag.playoff { color: var(--tb-gold); }
.tb .tb-tag.toilet_bowl { color: var(--tb-pink); }
.tb .tb-h2w { background: rgba(18, 160, 138, 0.14); }
.tb .tb-h2l { background: rgba(226, 69, 107, 0.12); }
.tb .tb-spark { vertical-align: middle; }
.tb .tb-bar { display: inline-block; width: 60px; height: 6px; border-radius: 3px; background: var(--tb-line); vertical-align: middle; margin-left: 0.5em; overflow: hidden; }
.tb .tb-bar i { display: block; height: 100%; background: var(--tb-mint); }
.tb .tb-chip { display: inline-block; min-width: 2.4em; text-align: center; border-radius: 4px; padding: 0.1em 0.3em; font-size: 0.75em; font-weight: 700; color: #10142a; background: #bfbfbf; }
.tb .tb-chip.QB, .tb .tb-pick.QB { background: #ef8eb3; }
.tb .tb-chip.RB, .tb .tb-pick.RB { background: #a2f3d4; }
.tb .tb-chip.WR, .tb .tb-pick.WR { background: #75d2f8; }
.tb .tb-chip.TE, .tb .tb-pick.TE { background: #fbbc78; }
.tb .tb-pick { border-radius: 6px; padding: 0.35em 0.45em; min-width: 110px; color: #10142a; background: #bfbfbf; font-size: 0.85em; white-space: normal; }
.tb .tb-pick small { display: block; opacity: 0.75; }
.tb .tb-board td { text-align: left; vertical-align: top; padding: 3px; border: 0; }
.tb .tb-results { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 0.8em; }
.tb .tb-bracket { display: flex; gap: 0.8em; overflow-x: auto; }
.tb .tb-round { flex: 1 0 220px; display: flex; flex-direction: column; gap: 0.6em; }
