


:root {
  --ppg-over: #79d45c;
  --ppg-under: #ff7a4d;
  --bl-over-wash: rgba(121, 212, 92, 0.12);
  --bl-under-wash: rgba(255, 122, 77, 0.12);
}
:root[data-theme="light"] {
  --ppg-over: #3f9c28;
  --ppg-under: #d1481c;
  --bl-over-wash: rgba(63, 156, 40, 0.10);
  --bl-under-wash: rgba(209, 72, 28, 0.10);
}

.bl { padding-block: var(--s5) var(--s8); }
.bl__wrap { max-width: 980px; }
.bl-crumbs { margin: 0 0 var(--s4); font: 600 var(--t-micro)/1.4 var(--ui); letter-spacing: 0.04em; color: var(--muted); }
.bl-crumbs a { color: var(--muted); text-decoration: underline; text-underline-offset: 3px; }
.bl-crumbs a:hover { color: var(--brass-bright); }


.bl-report__head { display: grid; gap: var(--s3); padding-bottom: var(--s4); border-bottom: 1px solid var(--line); margin-bottom: var(--s5); }
.bl-report__kicker { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3); margin: 0; }
.bl-tag {
  font: 700 12px/1 var(--mono); letter-spacing: 0.1em; color: var(--brass-bright);
  padding: 5px 9px; border: 1px solid var(--line); border-radius: var(--radius-xs); background: var(--panel);
}
.bl-report__date { font: 500 var(--t-micro)/1 var(--ui); letter-spacing: 0.04em; color: var(--muted); }
.bl-report__label {
  margin-left: auto; display: inline-flex; align-items: center; gap: 7px;
  font: 700 11px/1 var(--mono); letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted);
}
.bl-report__label::before { content: ""; width: 7px; height: 7px; background: var(--brass); transform: rotate(45deg); }
.bl-report__h1 { margin: 0; font: 800 clamp(28px, 5vw, 44px)/1.05 var(--display), sans-serif; letter-spacing: -0.02em; color: var(--text); }
.bl-standfirst {
  margin: 0; font: 500 clamp(15px, 2.4vw, 18px)/1.5 var(--mono); color: var(--text);
  font-variant-numeric: tabular-nums;
}


.bl-chips {
  position: sticky; top: var(--masthead); z-index: 20;
  margin: 0 calc(var(--gutter) * -1) var(--s5); padding: var(--s3) var(--gutter);
  background: var(--bg); border-bottom: 1px solid var(--line-soft);
}
.bl-chips__row { display: flex; gap: var(--s2); overflow-x: auto; scrollbar-width: thin; padding-bottom: 2px; }
.bl-chip {
  flex: none; display: inline-flex; align-items: baseline; gap: 8px; min-height: 36px; padding: 0 12px;
  font: 700 12.5px/36px var(--ui); color: var(--text); text-decoration: none; white-space: nowrap;
  background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-xs);
}
.bl-chip:hover, .bl-chip:focus-visible { border-color: var(--brass); color: var(--brass-bright); }
.bl-chip__t { font: 500 11px/1 var(--mono); color: var(--muted); letter-spacing: 0.03em; }


.bl-games { display: grid; gap: var(--s4); }
.bl-game { scroll-margin-top: calc(var(--masthead) + 64px); border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel); overflow: hidden; }
.bl-game[open] { border-color: var(--brass); }
.bl-game__sum {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px var(--s3); padding: var(--s4);
  cursor: pointer; list-style: none; border-left: 3px solid transparent;
}
.bl-game[open] > .bl-game__sum { border-left-color: var(--brass); background: linear-gradient(90deg, var(--panel-2), transparent 60%); }
.bl-game__sum::-webkit-details-marker { display: none; }
.bl-game__teams { font: 700 16px/1.25 var(--display), sans-serif; color: var(--text); }
.bl-game__when { font: 600 12.5px/1 var(--mono); color: var(--brass-bright); letter-spacing: 0.03em; }
.bl-game__count { margin-left: auto; font: 500 11px/1 var(--mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.bl-game__body { display: grid; gap: 2px; padding: 0 var(--s3) var(--s3); }


.bl-strip {
  display: grid; gap: var(--s3) var(--s4); padding: var(--s4) var(--s2);
  grid-template-columns: minmax(0, 1fr); border-top: 1px solid var(--line-soft);
}
.bl-strip:first-child { border-top: 0; }
.bl-strip__who { display: flex; align-items: center; gap: var(--s3); min-width: 0; }
.bl-shot {
  position: relative; flex: none; width: 52px; height: 52px; display: grid; place-items: center;
  border-radius: var(--radius-xs); overflow: hidden; background: var(--panel-2); border: 1px solid var(--line);
}
.bl-shot__ini { font: 700 16px/1 var(--mono); color: var(--brass); letter-spacing: 0.04em; }
.bl-shot__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bl-strip__id { display: grid; gap: 2px; min-width: 0; }
.bl-strip__name { font: 700 16px/1.2 var(--ui); color: var(--text); text-decoration: none; }
.bl-strip__name:hover { color: var(--brass-bright); }
.bl-strip__meta { font: 500 12.5px/1.2 var(--ui); letter-spacing: 0.03em; color: var(--muted); }
.bl-strip__mkt { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px var(--s3); }
.bl-strip__market { font: 700 11px/1 var(--ui); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.bl-strip__line { font: 700 22px/1 var(--mono); color: var(--brass-bright); font-variant-numeric: tabular-nums; }
.bl-strip__best { font: 500 12.5px/1.3 var(--ui); color: var(--muted); }
.bl-strip__best b { font-family: var(--mono); color: var(--text); font-weight: 600; }
.bl-strip__last { display: grid; gap: var(--s2); }
.bl-last { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; margin: 0; padding: 0; list-style: none; max-width: 420px; }
.bl-cell {
  display: grid; gap: 1px; place-items: center; padding: 7px 4px; border-radius: var(--radius-xs);
  border: 1px solid var(--line-soft); background: var(--panel-2);
}
.bl-cell--over { background: var(--bl-over-wash); border-color: color-mix(in srgb, var(--ppg-over) 40%, transparent); }
.bl-cell--under { background: var(--bl-under-wash); border-color: color-mix(in srgb, var(--ppg-under) 40%, transparent); }
.bl-cell__v { font: 700 15px/1 var(--mono); font-variant-numeric: tabular-nums; color: var(--text); }
.bl-cell--over .bl-cell__v { color: var(--ppg-over); }
.bl-cell--under .bl-cell__v { color: var(--ppg-under); }
.bl-cell__o { font: 500 10px/1 var(--mono); letter-spacing: 0.02em; color: var(--muted); }
.bl-strip__rec { margin: 0; font: 500 13px/1.4 var(--ui); color: var(--text); }
.bl-strip__rec b { font-family: var(--mono); color: var(--brass-bright); font-weight: 700; }
.bl-strip__more { grid-column: 1 / -1; margin: 0; font: 500 12px/1.4 var(--mono); color: var(--muted); font-variant-numeric: tabular-nums; }

@media (min-width: 720px) {
  .bl-strip { grid-template-columns: minmax(160px, 1.1fr) minmax(130px, 0.9fr) minmax(0, 1.4fr); align-items: center; gap: var(--s4); }
  .bl-strip__more { grid-column: 1 / -1; }
}


.bl-results { margin-top: var(--s6); scroll-margin-top: calc(var(--masthead) + 64px); padding: var(--s5); border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel); }
.bl-results h2 { margin: 0 0 var(--s2); font: 800 var(--t-product)/1.15 var(--display), sans-serif; color: var(--text); }
.bl-results__p { margin: 0 0 var(--s4); font: 400 14px/1.5 var(--ui); color: var(--muted); }
.bl-results__list { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.bl-res { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px var(--s3); padding: 10px 0; border-top: 1px solid var(--line-soft); }
.bl-res a { font: 700 15px/1.2 var(--ui); color: var(--text); text-decoration: none; }
.bl-res a:hover { color: var(--brass-bright); }
.bl-res__line { font: 500 12.5px/1 var(--mono); color: var(--muted); }
.bl-res__out { margin-left: auto; font: 500 13px/1 var(--ui); padding: 4px 9px; border-radius: var(--radius-xs); }
.bl-res__out b { font-family: var(--mono); }
.bl-res__out.bl-cell--over { color: var(--ppg-over); }
.bl-res__out.bl-cell--under { color: var(--ppg-under); }


.bl-note { margin-top: var(--s6); scroll-margin-top: calc(var(--masthead) + 64px); }
.bl-note h2 { margin: 0 0 var(--s2); font: 800 var(--t-product)/1.15 var(--display), sans-serif; color: var(--text); }
.bl-note p { margin: 0; font: 400 15px/1.6 var(--ui); color: var(--text); max-width: 66ch; }
.bl-note a { color: var(--brass); }
.bl-note a:hover { color: var(--brass-bright); }
.bl-empty { margin: 0; font: 400 15px/1.6 var(--ui); color: var(--muted); }

.bl-cta {
  margin-top: var(--s6); padding: var(--s5) var(--s5) var(--s4);
  border: 1px solid var(--line); border-radius: var(--radius-sm);
  background: linear-gradient(180deg, var(--panel-2), var(--panel));
  box-shadow: inset 0 1px 0 var(--edge-hi), 0 1px 3px var(--shadow);
}
.bl-cta h2 { margin: 0 0 var(--s2); font: 800 var(--t-lead)/1.2 var(--display), sans-serif; color: var(--text); }
.bl-cta p { margin: 0 0 var(--s4); font: 400 15px/1.55 var(--ui); color: var(--text); max-width: 56ch; }
.bl-cta__row { display: flex; flex-wrap: wrap; gap: var(--s3); }
.bl-cta__row .btn { min-height: 44px; }

.bl-fine { margin: var(--s5) 0 0; font: 400 12.5px/1.55 var(--ui); color: var(--muted); }

.bl-share { margin: var(--s4) 0 0; }
.bl-share--inline { margin: var(--s3) 0 0; }
.bl-share__btn {
  min-height: 36px; padding: 0 14px; font: 600 12.5px/1 var(--ui); letter-spacing: 0.02em;
  color: var(--text); background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-xs); cursor: pointer;
}
.bl-share__btn:hover, .bl-share__btn:focus-visible { border-color: var(--brass); color: var(--brass-bright); }


.bl-eyebrow {
  display: inline-flex; align-items: center; gap: var(--s3); margin: 0 0 var(--s3);
  font: 500 var(--t-micro)/1 var(--ui); letter-spacing: 0.08em; text-transform: uppercase; color: var(--brass);
}
.bl-eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--brass); flex: none; }
.bl-byline {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2); margin: var(--s4) 0 0;
  font: 500 var(--t-micro)/1.4 var(--ui); letter-spacing: 0.02em; color: var(--muted); font-variant-numeric: tabular-nums;
}
.bl-byline__by { color: var(--parchment); font-weight: 600; }
.bl-byline__dot { color: var(--line); }
.bl-byline__upd { color: var(--brass); }

.bl-doc { padding-top: var(--s6); }

.bl-body { max-width: 66ch; }
.bl-body p, .bl-body li { font-size: 18px; line-height: 1.62; }
@media (max-width: 760px) { .bl-body p, .bl-body li { font-size: 17px; } }
.bl-body > p:first-of-type { margin-top: 0; }


.bl-toc { margin: 0 0 var(--s6); border: 1px solid var(--line); border-left: 3px solid var(--brass); border-radius: var(--radius-xs); background: var(--panel); padding: var(--s3) var(--s4); }
.bl-toc > summary { cursor: pointer; font: 700 12px/1 var(--ui); letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.bl-toc__list { margin: var(--s3) 0 0; padding-left: var(--s4); display: grid; gap: var(--s2); font-size: 14px; }
.bl-toc__list a { color: var(--brass); text-decoration: none; }
.bl-toc__list a:hover, .bl-toc__list a.is-current { color: var(--brass-bright); }
@media (min-width: 1040px) {
  .bl-toc { float: right; width: 15rem; margin: 0 0 var(--s5) var(--s6); position: sticky; top: calc(var(--masthead) + var(--s4)); }
}


.bl-body blockquote {
  margin: var(--s5) 0; padding: var(--s3) var(--s5); border-left: 4px solid var(--brass);
  background: linear-gradient(90deg, var(--panel-2), transparent 70%); color: var(--parchment);
  font-size: 19px; line-height: 1.5;
}
.bl-body blockquote p { font-size: inherit; margin: 0; }


.bl-picks { margin: var(--s7) 0 0; padding: var(--s5); border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel); }
.bl-picks__note {
  margin: 0 0 var(--s4); padding: var(--s3) var(--s4); font: 500 13px/1.5 var(--ui); color: var(--muted);
  border: 1px solid var(--line-soft); border-left: 3px solid var(--brass); border-radius: var(--radius-xs); background: var(--panel-2);
}
.bl-picks h2 { margin: 0 0 var(--s3); font: 800 var(--t-product)/1.15 var(--display), sans-serif; color: var(--text); }
.bl-picks__disc { margin: 0 0 var(--s3); font: 500 13px/1.5 var(--ui); color: var(--muted); font-style: italic; }
.bl-picks__list { display: grid; gap: var(--s2); margin: 0; padding: 0; list-style: none; }
.bl-picks__item { display: grid; gap: 2px; padding: var(--s3) 0; border-top: 1px solid var(--line-soft); }
.bl-picks__label { font: 700 11px/1 var(--ui); letter-spacing: 0.1em; text-transform: uppercase; color: var(--brass); }
.bl-picks__body { font: 500 15px/1.5 var(--ui); color: var(--text); }

.bl-article__cta { clear: both; }


.bl-featured { margin: 0 0 var(--s7); }
.bl-lead {
  display: block; padding: var(--s5); border: 1px solid var(--line); border-radius: var(--radius-sm);
  text-decoration: none; background: var(--panel); transition: border-color 0.15s ease;
}
.bl-lead:hover, .bl-lead:focus-visible { border-color: var(--brass); }
.bl-lead--article { background: linear-gradient(180deg, var(--panel-2), var(--panel)); box-shadow: inset 0 1px 0 var(--edge-hi); }
.bl-lead__eyebrow { margin: 0 0 var(--s3); }
.bl-lead__kicker { display: flex; align-items: center; gap: var(--s3); margin: 0 0 var(--s3); }
.bl-lead__label { font: 700 11px/1 var(--mono); letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); }
.bl-lead__title { margin: 0; font: 800 clamp(22px, 3.6vw, 30px)/1.12 var(--display), sans-serif; letter-spacing: -0.01em; color: var(--text); }
.bl-lead__dek { margin: var(--s3) 0 0; font: 400 16px/1.5 var(--ui); color: var(--text); max-width: 60ch; }
.bl-lead__meta { margin: var(--s3) 0 0; font: 500 var(--t-micro)/1.3 var(--ui); letter-spacing: 0.03em; color: var(--muted); }

.bl-sec-h { margin: 0 0 var(--s4); padding-bottom: var(--s2); border-bottom: 1px solid var(--line); font: 800 var(--t-product)/1.15 var(--display), sans-serif; color: var(--text); }
.bl-today { margin: 0 0 var(--s7); }
.bl-today__list { display: grid; gap: 0; margin: 0 0 var(--s4); padding: 0; list-style: none; border-top: 1px solid var(--line-soft); }
.bl-today__row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px var(--s3); padding: var(--s3) 0; border-bottom: 1px solid var(--line-soft); }
.bl-today__link { display: inline-flex; align-items: center; gap: var(--s3); text-decoration: none; }
.bl-today__title { font: 700 16px/1.25 var(--ui); color: var(--text); }
.bl-today__link:hover .bl-today__title { color: var(--brass-bright); }
.bl-today__meta { margin-left: auto; display: inline-flex; align-items: center; gap: var(--s3); font: 500 12.5px/1.3 var(--mono); color: var(--muted); font-variant-numeric: tabular-nums; }
.bl-today__label { display: inline-flex; align-items: center; gap: 6px; letter-spacing: 0.12em; text-transform: uppercase; font-size: 10px; }
.bl-today__label::before { content: ""; width: 6px; height: 6px; background: var(--brass); transform: rotate(45deg); }
.bl-arch { display: flex; flex-wrap: wrap; gap: var(--s2); }
.bl-arch__chip { display: inline-flex; min-height: 36px; align-items: center; padding: 0 14px; font: 600 12.5px/1 var(--ui); color: var(--text); text-decoration: none; border: 1px solid var(--line); border-radius: var(--radius-xs); }
.bl-arch__chip:hover { border-color: var(--brass); color: var(--brass-bright); }

.bl-fromfounder { margin: 0 0 var(--s6); }
.bl-hub__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-soft); }
.bl-hub__item { border-bottom: 1px solid var(--line-soft); }
.bl-hub__link { display: grid; gap: var(--s1); padding: var(--s4) var(--s4) var(--s4) var(--s5); position: relative; text-decoration: none; color: var(--text); border-left: 2px solid transparent; }
.bl-hub__link::before { content: ""; position: absolute; left: var(--s3); top: var(--s5); width: 6px; height: 6px; background: var(--brass); transform: rotate(45deg); opacity: 0.55; }
.bl-hub__link:hover, .bl-hub__link:focus-visible { border-left-color: var(--brass); background: linear-gradient(90deg, var(--panel-2), transparent 70%); outline: none; }
.bl-hub__name { font: 600 var(--t-body)/1.3 var(--ui); color: var(--parchment); }
.bl-hub__link:hover .bl-hub__name { color: var(--brass-bright); }
.bl-hub__note { font: 400 var(--t-micro)/1.45 var(--ui); color: var(--muted); }
@media (min-width: 720px) {
  .bl-hub__link { grid-template-columns: minmax(0, 20rem) minmax(0, 1fr); gap: var(--s5); align-items: baseline; }
}

@media (prefers-reduced-motion: reduce) {
  .bl-lead { transition: none; }
}


.bl-archive { padding-top: var(--s6); }
.bl-archive__h1 { margin: var(--s3) 0 var(--s4); }
.bl-pager { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2); margin: var(--s6) 0 var(--s5); }
.bl-pager__n,
.bl-pager__now { min-width: 40px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line-soft); border-radius: 999px; font: 600 14px/1 var(--ui); color: var(--text); text-decoration: none; }
.bl-pager__n:hover { border-color: var(--gold-bright); }
.bl-pager__now { border-color: var(--gold); color: var(--gold-bright); }
