/* Football board — landscape, 11 x 8.5in at 96dpi. Separate from board.css so a change
   here can never move a basketball board. */
.fbwrap { display: flex; flex-direction: column; align-items: center; gap: 20px; padding: 18px; }

.fbpage {
  width: 1056px; height: 816px; box-sizing: border-box; background: #fff; color: #000;
  padding: 8px 10px; display: flex; flex-direction: column; overflow: hidden;
  font-family: "Barlow", Arial, Helvetica, sans-serif;
  box-shadow: 0 10px 34px rgba(10,20,40,.2);
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
  --accent: #00538C; --accent-ink: #fff;
}

.fbmast { display: flex; align-items: stretch; height: 44px; background: var(--accent); flex-shrink: 0; }
.fbmast .fblogo { height: 34px; width: 34px; object-fit: contain; align-self: center; margin-left: 8px; }
.fbmast .fbunit { font-family: "Barlow Condensed","Arial Narrow",Arial,sans-serif; font-weight: 800; font-size: 26px;
  letter-spacing: 1.5px; color: var(--accent-ink); display: flex; align-items: center; padding: 0 12px; }
.fbmast .fbteam { flex: 1; display: flex; align-items: center; font-family: "Barlow Condensed","Arial Narrow",Arial,sans-serif;
  font-weight: 700; font-size: 19px; letter-spacing: .5px; color: var(--accent-ink); white-space: nowrap; overflow: hidden; }
.fbmast .fbrec { background: #10233F; color: #fff; display: flex; flex-direction: column; justify-content: center;
  align-items: flex-end; padding: 0 12px; }
.fbmast .fbrec b { font-family: "Barlow Condensed","Arial Narrow",Arial,sans-serif; font-size: 18px; line-height: 1; }
.fbmast .fbrec span { font-size: 9px; letter-spacing: .5px; }

.fbmeta { display: flex; justify-content: space-between; align-items: baseline; padding: 2px 2px 3px;
  border-bottom: 2px solid #10233F; flex-shrink: 0; }
.fbmeta .cell { display: flex; gap: 5px; align-items: baseline; white-space: nowrap; min-width: 0; }
.fbmeta .lab { font-size: 8.5px; font-weight: 800; letter-spacing: .9px; text-transform: uppercase; color: var(--accent); }
.fbmeta .val { font-size: 12px; font-weight: 700; color: #000; overflow: hidden; }

/* Stat-carrying bands share whatever height is left over, so the page fills instead of
   leaving a void above the trends strip. Compact bands (line, specialists) keep their
   natural height — a guard's row gains nothing from being taller. */
.fbband { margin-top: 5px; display: flex; flex-direction: column; min-height: 0; flex: 1 1 auto; }
.fbband.line { flex: 0 0 auto; }
.fbband .fbslots { flex: 1 1 auto; }
.fbband .fbslot { display: flex; flex-direction: column; }
.fbband:not(.line) .fbp { flex: 1 1 0; }
.fbbandlab { font-family: "Barlow Condensed","Arial Narrow",Arial,sans-serif; font-weight: 700; font-size: 11px;
  letter-spacing: 1.6px; text-transform: uppercase; color: var(--accent-ink); background: var(--accent);
  padding: 1px 8px; display: flex; align-items: center; gap: 8px; }
.fbtools button { border: 1px solid rgba(255,255,255,.6); background: transparent; color: var(--accent-ink);
  border-radius: 4px; font-size: 9px; padding: 0 5px; }
.fbslots { display: flex; gap: 5px; margin-top: 3px; }
.fbslot { flex: 1; min-width: 0; border: 1px solid #C9D2E0; border-radius: 2px; overflow: hidden; }
.fbslotlab { text-align: center; font-family: "Barlow Condensed","Arial Narrow",Arial,sans-serif; font-weight: 700;
  font-size: 11px; letter-spacing: 1.2px; background: #10233F; color: #fff; padding: 1px 0; position: relative; }
.fbslotlab .x { position: absolute; right: 3px; top: 0; cursor: pointer; opacity: .55; font-size: 9px; }
.fbslotlab .x:hover { opacity: 1; }

.fbp { display: flex; gap: 5px; padding: 2px 4px; border-bottom: 1px solid #E4E9F1; min-height: 0; }
.fbp:last-child { border-bottom: 0; }
.fbp.alt { background: #F1F5FB; }
.fbnum { width: 28px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
  font-family: "Barlow Condensed","Arial Narrow",Arial,sans-serif; font-weight: 800; font-size: 18px;
  color: var(--accent-ink); background: var(--accent); border-radius: 2px; align-self: stretch; max-height: 30px; }
.fbnum.empty { background: #E4E9EF; color: #8A93A1; }
.fbnum .fbnumtext { min-width: 14px; text-align: center; }
.fbwho { flex: 1; min-width: 0; }
/* Name and bio are what you find a player by, so they run larger than the rest. */
.fbname { font-family: "Barlow Condensed","Arial Narrow",Arial,sans-serif; font-weight: 700; font-size: 18px;
  line-height: 1.05; color: #000; white-space: nowrap; overflow: hidden; }
.fbname.ph { color: #A6B0BC; font-weight: 600; font-size: 12px; }
.fbbio { font-size: 10px; color: #000; line-height: 1.15; white-space: nowrap; overflow: hidden; }

/* Stats and notes scale with the SM/MD/LG control — the two things whose density varies
   by how much a given board needs to carry. Names and bios stay fixed. */
.fbstat { font-size: 9px; font-weight: 700; color: #000; line-height: 1.2; white-space: nowrap; overflow: hidden; }
.fbbul { font-size: 9px; color: #000; line-height: 1.2; display: flex; gap: 3px; align-items: baseline; }
.size-sm .fbstat, .size-sm .fbbul { font-size: 8px; }
.size-lg .fbstat, .size-lg .fbbul { font-size: 10.5px; line-height: 1.25; }
.fbbul.hl { background: #FFE066; font-weight: 700; }
.fbbul .t { flex: 1; min-width: 0; }
.fbbul .x { display: none; cursor: pointer; color: #8A93A1; font-size: 8px; }
.fbp:hover .fbbul .x { display: inline; }
.fbaddbul { display: none; border: 1px solid #C7D0DA; background: #fff; border-radius: 4px; font-size: 8px;
  padding: 0 4px; color: #38414D; margin-top: 1px; }
.fbp:hover .fbaddbul { display: inline-block; }

/* the line and specialists carry no stats, so their rows are compact */
.fbband.line .fbp { padding: 1px 4px; }
.fbband.line .fbnum { font-size: 15px; max-height: 22px; }
.fbband.line .fbname { font-size: 13px; }

.fbtrends { margin-top: 6px; display: flex; gap: 5px; align-items: stretch; padding-top: 0; flex: 0 0 108px; }
.fbtbox { flex: 1; min-width: 0; border: 1px solid #C9D2E0; border-radius: 2px; display: flex; flex-direction: column; }
.fbtlab { font-family: "Barlow Condensed","Arial Narrow",Arial,sans-serif; font-weight: 700; font-size: 10px;
  letter-spacing: 1.1px; text-transform: uppercase; background: #10233F; color: #fff; padding: 1px 5px;
  position: relative; text-align: center; }
.fbtlab .x { position: absolute; right: 3px; top: 0; cursor: pointer; opacity: .55; font-size: 9px; }
.fbtbody { font-size: 8.5px; color: #000; line-height: 1.3; padding: 3px 5px; flex: 1; overflow: hidden; }
/* Computed boxes — points by quarter, per-game averages — as small tables. Read across
   a row instead of parsing a run of slashes. */
.fbtable { width: 100%; border-collapse: collapse; font-size: 9px; }
.fbtable th { text-align: left; font-weight: 700; color: #000; padding: 0 3px 0 0; white-space: nowrap; }
.fbtable td { text-align: center; font-variant-numeric: tabular-nums; font-weight: 700; color: #000; padding: 0 1px; }
.fbtable tr.hd td, .fbtable tr.hd th { font-size: 8px; font-weight: 800; color: #4A5C78; border-bottom: 1px solid #C9D2E0; }
.fbtable td.tot { border-left: 1px solid #C9D2E0; }
.fbtable tr.us td, .fbtable td.us { color: var(--accent); }
.fbtable.wide th { font-size: 8.5px; font-weight: 600; }
.fbnone { font-size: 8.5px; color: #8A93A1; }
.fbaddtrend { align-self: center; border: 1px solid #C7D0DA; background: #fff; border-radius: 5px;
  font-size: 10px; padding: 3px 7px; color: #38414D; }

@media print {
  .fbwrap { padding: 0; gap: 0; display: block; }
  .fbpage { box-shadow: none; margin: 0; page-break-after: always; break-after: page; }
  .fbpage:last-child { page-break-after: auto; break-after: auto; }
}
