/* FAQ hub and question pages. They sit on the shared article paper (blog-article.css) and add only what an answer page needs. */
.faq-page .faq-answer,
.faq-page .faq-lead {
  max-width: 1000px;
  margin: 0;
  color: var(--blog-ink);
  font-size: 21px;
  line-height: 1.6;
}

.faq-page .faq-questions {
  display: grid;
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
}
.faq-page .faq-questions li {
  padding: 20px 0;
  margin: 0;
  border-bottom: 1px solid var(--blog-rule);
}
.faq-page .faq-questions li:first-child { padding-top: 4px; }
.faq-page .faq-questions h3 { margin: 0 0 6px; font-size: 21px; line-height: 1.4; }
.faq-page .faq-questions p { margin: 0; color: var(--blog-secondary); }

/* Record tables: the caption is a title above the frame, numbers and records sit right-aligned in tabular figures,
   and short two-column tables stay compact while wider ones fill the reading column (scrolling inside it on phones). */
.faq-page .faq-table-figure { margin: 28px 0 36px; }
.faq-page .faq-table-title {
  margin: 0 0 12px;
  color: var(--blog-ink);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.35;
}
.faq-page .faq-table { margin: 0; border-radius: 6px; }
.faq-page .faq-table.faq-table-cols-2 { width: fit-content; min-width: min(100%, 440px); max-width: 100%; }
.faq-page .faq-table table { width: 100%; min-width: 0; border-collapse: collapse; }
.faq-page .faq-table-cols-4 table, .faq-page .faq-table-cols-5 table { min-width: 36rem; }
.faq-page .faq-table thead th {
  padding-block: 11px;
  font-size: 13px;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.faq-page .faq-table :is(th, td) { padding-inline: 18px; text-align: left; }
.faq-page .faq-table tbody th { font-weight: 700; }
/* blog-article.css left-aligns the last column of baseball pages at (0,4,1); this matches it and loads later. */
.blog-page.faq-page .faq-table :is(th, td).faq-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums lining-nums; }
.faq-page .faq-table tbody .faq-num { font-weight: 700; }
.faq-page .faq-table-note { margin: 12px 0 0; color: var(--blog-secondary); font-size: 16px; }

/* The live leaders read as a scoreboard on the paper: a ruled frame with a Live chip, one hairline-divided strip of
   leaders in the sport colors of the main menu, and records set in the display face. */
.faq-page .faq-live {
  --live-accent: var(--blog-accent);
  container-type: inline-size;
  margin: 12px 0 36px;
  border: 1px solid var(--blog-rule);
  border-radius: 6px;
  background: #fffdf7;
  color: var(--blog-ink);
  overflow: hidden;
  box-shadow: 0 10px 24px -18px #142b4366;
}
.faq-page .faq-live-single { border-top: 5px solid var(--live-accent); }
.faq-page :is(.faq-live, .faq-live-board)[data-sport="mlb"] { --live-accent: var(--sport-baseball-accent, #87ceeb); }
.faq-page :is(.faq-live, .faq-live-board)[data-sport="nba"] { --live-accent: var(--sport-basketball-accent, #ff9950); }
.faq-page :is(.faq-live, .faq-live-board)[data-sport="nhl"] { --live-accent: var(--sport-hockey-accent, #65d8e5); }
.faq-page :is(.faq-live, .faq-live-board)[data-sport="nfl"] { --live-accent: var(--sport-football-accent, #c8202b); }
.faq-page .faq-live-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 24px 0;
}
.faq-page .faq-live h3 { margin: 0; font-size: 24px; line-height: 1.3; text-wrap: balance; }
.faq-page .faq-live-pill {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 8px;
  margin-top: 3px;
  padding: 5px 11px;
  border-radius: 999px;
  background: #f1e9d6;
  color: var(--blog-ink);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.faq-page .faq-live-dot { width: 8px; height: 8px; border-radius: 50%; background: #d4471e; animation: faq-live-pulse 2.4s ease-out infinite; }
@keyframes faq-live-pulse { 0% { box-shadow: 0 0 0 0 #d4471e66; } 70%, 100% { box-shadow: 0 0 0 7px #d4471e00; } }
.faq-page .faq-live-intro { max-width: 68ch; margin: 6px 0 0; padding: 0 24px 20px; color: var(--blog-secondary); font-size: 16px; }

/* The strip: cells sit on a rule-colored grid, so a 1px gap draws every divider, including after a wrap. */
.faq-page .faq-live-boards {
  display: grid;
  gap: 1px;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--blog-rule);
  background: var(--blog-rule);
  list-style: none;
}
.faq-page :is(.faq-live-board, .faq-live-entry) { position: relative; min-width: 0; margin: 0; background: #fffdf7; }
.faq-page .faq-live-grid { grid-template-columns: minmax(0, 1fr); }
/* Narrow strips set each sport as a compact row, record on the right; wider ones stand each sport as a column. */
.faq-page .faq-live-board {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "title result" "leader result" "link link";
  column-gap: 16px;
  padding: 20px 18px 8px;
}
.faq-page .faq-live-board::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: var(--live-accent); }
.faq-page .faq-live-board h4 {
  grid-area: title;
  margin: 0 0 12px;
  font-family: var(--display, Anton, 'Arial Narrow', sans-serif);
  font-size: 26px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .01em;
  text-transform: uppercase;
}
.faq-page .faq-live-leader { grid-area: leader; display: flex; align-items: center; gap: 10px; min-width: 0; }
.faq-page .faq-live-result { grid-area: result; display: flex; flex-direction: column; align-items: flex-end; align-self: center; gap: 6px; margin: 0; }
.faq-page .faq-live-board .faq-live-record { font-size: 40px; }
.faq-page .faq-live-board .faq-live-link { grid-area: link; justify-self: start; margin-top: 8px; }

.faq-page .faq-live-rank {
  display: inline-grid;
  flex: none;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 2px solid var(--blog-rule);
  border-radius: 50%;
  background: #fffdf7;
  color: var(--blog-ink);
  font-size: 15px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.faq-page .faq-live-rank[data-rank="1"] { border-color: #c4952a; background: #f8ecc6; }
.faq-page .faq-live-rank[data-rank="2"] { border-color: #98a3ae; background: #f1e9d6; }
.faq-page .faq-live-rank[data-rank="3"] { border-color: #b4733d; background: #f3e4cf; }
.faq-page .faq-live-open .faq-live-rank { border-style: dashed; border-color: #a9b6c4; background: transparent; color: var(--blog-secondary); }
.faq-page .faq-live-name { min-width: 0; font-size: 18px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.faq-page .faq-live-record {
  color: var(--blog-ink);
  font-family: var(--display, Anton, 'Arial Narrow', sans-serif);
  font-size: 46px;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  letter-spacing: .01em;
}
.faq-page .faq-live-scale { color: var(--blog-secondary); font-size: 14px; }
.faq-page .faq-live-state { margin: 0; padding: 22px 24px; border-top: 1px solid var(--blog-rule); color: var(--blog-secondary); }
.faq-page .faq-live-board .faq-live-state { grid-column: 1 / -1; margin: 0; padding: 0; border: 0; }

/* One sport: a podium of up to three leaders, with a real open place linking to the sport while fewer are ranked. */
.faq-page .faq-live-podium { grid-template-columns: minmax(0, 1fr); }
.faq-page .faq-live-entry {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas: "rank name record" "rank name scale";
  align-items: center;
  gap: 2px 14px;
  padding: 16px 20px;
}
.faq-page .faq-live-entry .faq-live-rank { grid-area: rank; }
.faq-page .faq-live-entry .faq-live-name { grid-area: name; }
.faq-page .faq-live-entry .faq-live-record { grid-area: record; justify-self: end; font-size: 34px; }
.faq-page .faq-live-entry .faq-live-scale { grid-area: scale; justify-self: end; font-size: 13px; }
.faq-page .faq-live-open .faq-live-name { color: var(--blog-secondary); font-weight: 600; white-space: nowrap; }
.faq-page .faq-live-claim { grid-area: record / record / scale / scale; justify-self: end; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; }
.faq-page .faq-live-claim svg { width: 18px; height: 15px; flex: none; }
.faq-page .faq-live-foot { padding: 6px 24px; border-top: 1px solid var(--blog-rule); background: #f6f0df; }
.faq-page .faq-live-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; }

@container (min-width: 520px) {
  .faq-page .faq-live-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .faq-page .faq-live-board { display: flex; flex-direction: column; padding: 22px 22px 12px; }
  .faq-page .faq-live-board h4 { margin-bottom: 14px; }
  .faq-page .faq-live-result { align-items: flex-start; align-self: stretch; margin: 14px 0 10px; }
  .faq-page .faq-live-board .faq-live-record { font-size: 46px; }
  .faq-page .faq-live-board .faq-live-link { margin-top: auto; }
}
@container (min-width: 600px) {
  .faq-page .faq-live-podium { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .faq-page .faq-live-entry {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "rank name" "record record" "scale scale";
    align-content: start;
    gap: 0 12px;
    padding: 22px 22px 20px;
  }
  .faq-page .faq-live-entry .faq-live-record { justify-self: start; margin-top: 18px; font-size: 52px; }
  .faq-page .faq-live-entry .faq-live-scale { justify-self: start; margin-top: 6px; }
  .faq-page .faq-live-claim { justify-self: start; align-self: end; margin-top: 18px; }
  .faq-page .faq-live-entry:first-child:not(.faq-live-open) { background: #fdf6e2; }
}
@container (min-width: 900px) {
  .faq-page .faq-live-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) { .faq-page .faq-live-dot { animation: none; } }

.faq-page :is(.faq-live-link, .faq-cta) svg { width: 20px; height: 17px; flex: none; }
.faq-page .faq-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 22px;
  border-radius: var(--radius, 3px);
  background: var(--blog-band);
  color: var(--blog-on-band);
  font-weight: 700;
  text-decoration: none;
}
.faq-page .faq-cta:hover { background: var(--blog-ink); color: var(--blog-on-band); }

.faq-page .faq-sources ol { padding-inline-start: 26px; }
.faq-page .faq-sources li + li { margin-top: 6px; }
.faq-page .faq-checked { margin-top: 16px; color: var(--blog-secondary); font-size: 16px; }

@media (max-width: 760px) {
  .faq-page .faq-answer,
  .faq-page .faq-lead { font-size: 19px; }
  .faq-page .faq-live-head { padding: 20px 16px 0; }
  .faq-page .faq-live-intro { padding: 0 16px 16px; }
  .faq-page .faq-live h3 { font-size: 21px; }
  .faq-page .faq-live-foot, .faq-page .faq-live-state { padding-inline: 16px; }
  .faq-page .faq-table :is(th, td) { padding-inline: 12px; }
  .faq-page .faq-questions h3 { font-size: 19px; }
}
