/* Shared NBL sports boards: WagerWise colours, club identities, real prices. */
.nbl-page {
    --nbl-surface: #161b22; --nbl-raised: #21262d; --nbl-border: #30363d;
    --nbl-muted: #a3acb6; --nbl-text: #f0f6fc; --nbl-green: var(--ww-green, #1cad75);
    --nbl-on-green: #08130e; --nbl-radius: 4px; --nbl-space: 16px;
    --nbl-control-border: #6e7681; --nbl-selection: #dcb55a; --nbl-copy: #c9d1d9;
    max-width: 1380px; padding: 20px 24px 64px; color: var(--nbl-text);
    font-family: 'Inter', sans-serif;
}
.nbl-page [hidden] { display: none !important; }
.nbl-page a:focus-visible, .nbl-page input:focus-visible, .nbl-page select:focus-visible,
.nbl-page summary:focus-visible, .nbl-page button:focus-visible, .nbl-stats-scroll:focus-visible, .nbl-odds-scroll:focus-visible { outline: 3px solid var(--nbl-green); outline-offset: 3px; }
.nbl-page a { text-decoration: none; }
.nbl-page p a { text-decoration: underline; text-underline-offset: 3px; }
.nbl-breadcrumb { display: flex; align-items: center; gap: 12px; margin: 0 0 4px; font-size: 14px; color: var(--nbl-muted); }
.nbl-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; color: var(--nbl-muted); }
.nbl-league-header { display: flex; align-items: center; gap: 24px; padding: 4px 0 20px; }
.nbl-league-mark { position: relative; width: 56px; height: 56px; flex: 0 0 56px; overflow: hidden; border-radius: 50%; background: white; }
.nbl-league-mark img { position: absolute; width: 235px; height: 88px; max-width: none; left: -58px; top: -14px; }
.nbl-page .sports-hero__copy { flex: 1; min-width: 0; }
.nbl-page .sports-hero__copy h1 { font-size: clamp(28px, 3vw, 36px); line-height: 1.2; margin: 0 0 8px; font-weight: 700; letter-spacing: -.015em; }
.nbl-page .sports-hero__lede { font-size: 16px; line-height: 1.6; color: var(--nbl-muted); margin: 0; max-width: 64ch; }
.nbl-page .sports-button { min-height: 44px; border-radius: 4px; font-size: 14px; padding: 10px 16px; gap: 12px; box-shadow: none; transition: background .15s ease, border-color .15s ease; }
.nbl-page .sports-button:hover { transform: none; }
.nbl-page .sports-button--primary, .nbl-page .sports-button--primary:hover { color: var(--nbl-on-green); background: var(--nbl-green); box-shadow: none; }
.nbl-page .sports-button--primary:hover { background: #20bd80; }
.nbl-page .sports-button--secondary { border-color: var(--nbl-border); color: var(--nbl-text); background: transparent; }
.nbl-page .sports-button--secondary:hover { background: var(--nbl-raised); border-color: var(--nbl-green); }
.nbl-section-nav { display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--nbl-border); }
.nbl-section-nav a { display: inline-flex; justify-content: center; align-items: center; padding: 12px 20px; min-height: 48px; border-bottom: 3px solid transparent; color: var(--nbl-muted); font-size: 15px; font-weight: 600; }
.nbl-section-nav a:hover, .nbl-section-nav a[aria-current="page"] { color: var(--nbl-green); border-bottom-color: var(--nbl-green); }
.nbl-team-strip { display: flex; justify-content: space-between; gap: 12px; padding: 16px 0; overflow-x: auto; border-bottom: 1px solid var(--nbl-border); scrollbar-width: thin; }
.nbl-team-strip a { flex: 0 0 auto; min-width: 76px; display: flex; align-items: center; flex-direction: column; gap: 8px; color: var(--nbl-muted); font-size: 12px; line-height: 1.4; padding: 4px; }
.nbl-team-strip img { width: 36px; height: 36px; object-fit: contain; padding: 3px; border-radius: 4px; background: white; }
.nbl-team-strip a:hover { color: var(--nbl-green); }
.nbl-section { margin-top: 28px; }
.nbl-section-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
.nbl-section-heading h2, .nbl-reading h2, .nbl-related h2, .nbl-explore > h2 { font-size: 22px; font-weight: 600; line-height: 1.4; letter-spacing: -.01em; margin: 0; }
.nbl-section-heading > a { color: var(--nbl-green); display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
.nbl-heading-count { color: var(--nbl-muted); margin-left: 8px; font-size: 18px; font-weight: 400; }
.nbl-hub-main { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(320px, 1fr); gap: 28px; }
.nbl-fixtures { border: 1px solid var(--nbl-border); border-radius: var(--nbl-radius); background: var(--nbl-surface); overflow: hidden; }
.nbl-fixture { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; align-items: center; gap: 20px; padding: 20px; scroll-margin-top: 100px; }
.nbl-fixture + .nbl-fixture { border-top: 1px solid var(--nbl-border); }
.nbl-fixture__date { display: flex; flex-direction: column; gap: 8px; }
.nbl-fixture__date time { font-size: 14px; line-height: 1.7; color: var(--nbl-text); }
.nbl-fixture__date > span { font-size: 12px; color: var(--nbl-muted); }
.nbl-team-line { display: flex; align-items: center; gap: 12px; min-height: 48px; }
.nbl-team-line + .nbl-team-line { margin-top: 8px; }
.nbl-team-line img { background: white; object-fit: contain; border-radius: 4px; padding: 3px; flex-shrink: 0; width: 32px; height: 32px; }
.nbl-team-line strong { font-size: 15px; font-weight: 600; line-height: 1.4; }
.nbl-fixture-price { margin-left: auto; font-size: 16px; color: var(--nbl-green); font-weight: 700; font-variant-numeric: tabular-nums; }
.nbl-hub-main .nbl-fixture { grid-template-columns: 92px minmax(0,1fr); gap: 16px; }
.nbl-hub-main .nbl-fixture > .sports-button { grid-column: 2; justify-self: end; min-height: 44px; padding: 8px 12px; }
.nbl-explore { margin-top: 40px; }
.nbl-explore-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 20px; }
.nbl-explore-links > a { display: flex; align-items: center; gap: 16px; padding: 20px 0; border-block: 1px solid var(--nbl-border); }
.nbl-explore-links > a > span { margin-left: auto; color: var(--nbl-green); }
.nbl-explore-links h3 { font-size: 18px; margin: 0 0 4px; }
.nbl-explore-links p { color: var(--nbl-muted); font-size: 14px; margin: 0; line-height: 1.6; }
.nbl-explore svg, .nbl-tip-empty svg { width: 28px; height: 28px; flex-shrink: 0; fill: none; stroke: var(--nbl-green); stroke-width: 1.5; stroke-linejoin: round; }
.nbl-tips-grid { display: block; border-top: 1px solid var(--nbl-border); }
.nbl-tips-board-head { display: grid; grid-template-columns: 104px minmax(0,1.3fr) minmax(0,1.1fr) 190px 140px; gap: 24px; padding: 12px 0; color: var(--nbl-muted); font-size: 12px; font-weight: 600; }
.nbl-tips-grid .nbl-tip { display: grid; grid-template-columns: 104px minmax(0,1.3fr) minmax(0,1.1fr) 190px 140px; grid-template-areas: 'edge matchup pick prices action' 'edge matchup reason prices action'; gap: 8px 24px; align-items: center; height: auto; padding: 20px 0; border: 0; border-bottom: 1px solid var(--nbl-border); border-radius: 0; background: transparent; }
.nbl-tips-grid .nbl-tip__header { grid-area: edge; flex-direction: column; align-items: flex-start; margin: 0; gap: 12px; }
.nbl-tips-grid .nbl-tip__teams { gap: 6px; }
.nbl-tips-grid .nbl-tip__teams img { width: 28px; height: 28px; padding: 2px; }
.nbl-tips-grid .nbl-tip__match-info { grid-area: matchup; }
.nbl-tips-grid .nbl-tip__fixture { margin: 0 0 8px; color: var(--nbl-text); font-weight: 500; font-size: 14px; }
.nbl-tips-grid .nbl-tip__pick { grid-area: pick; }
.nbl-tips-grid .nbl-tip__selection { font-size: 18px; }
.nbl-tips-grid .nbl-tip__prices { grid-area: prices; margin: 0; gap: 12px; }
.nbl-tips-grid .nbl-tip__prices dd { font-size: 24px; margin-bottom: 0; }
.nbl-tips-grid .nbl-tip__prices dt { font-size: 12px; }
.nbl-tips-grid .nbl-bookie-logo { width: 76px; height: 22px; }
.nbl-tips-grid .nbl-tip__reason { grid-area: reason; font-size: 12px; line-height: 1.6; margin: 0; }
.nbl-tips-grid .nbl-tip__actions { grid-area: action; }
.nbl-tips-grid .nbl-tip__actions .sports-button { background: transparent; border-color: transparent; color: var(--nbl-green); padding: 8px 0; width: auto; }
.nbl-tips-grid .nbl-tip__actions .sports-button:hover { text-decoration: underline; text-underline-offset: 4px; }
.nbl-tip { background: var(--nbl-surface); border: 1px solid var(--nbl-border); border-radius: var(--nbl-radius); padding: 20px; height: 100%; }
.nbl-tip__header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.nbl-tip__teams, .nbl-match-logos { display: flex; align-items: center; gap: 10px; }
.nbl-tip__teams img, .nbl-match-logos img { object-fit: contain; background: white; padding: 3px; border-radius: 4px; width: 36px; height: 36px; }
.nbl-tip__teams > span, .nbl-match-logos > span { font-size: 12px; color: var(--nbl-muted); }
.nbl-edge { display: inline-flex; gap: 6px; align-items: center; padding: 8px; color: var(--nbl-on-green); background: var(--nbl-green); border-radius: 3px; font-size: 18px; font-weight: 600; letter-spacing: 0; line-height: 1; white-space: nowrap; }
.nbl-edge > span { font-size: 12px; font-weight: 500; line-height: 1.4; letter-spacing: 0; }
.nbl-tip h3 { font-size: 17px; line-height: 1.45; margin: 0 0 8px; }
.nbl-tip__time { color: var(--nbl-muted); font-size: 13px; line-height: 1.6; }
.nbl-tip__pick { margin-top: 0; padding-top: 0; }
.nbl-tip__pick > span { color: var(--nbl-muted); font-size: 13px; text-transform: capitalize; }
.nbl-tip .nbl-tip__selection { font-size: 21px; font-weight: 600; margin: 4px 0 0; line-height: 1.4; color: var(--nbl-selection); }
.nbl-tip__fixture { font-size: 13px; color: var(--nbl-muted); line-height: 1.6; margin: 12px 0 4px; }
.nbl-tip__prices { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0; }
.nbl-tip__prices dt { font-size: 13px; color: var(--nbl-muted); margin-bottom: 4px; }
.nbl-tip__prices dd { margin: 0 0 8px; font-size: 28px; line-height: 1.3; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: 0; }
.nbl-tip__prices dd > strong { display: block; margin-bottom: 8px; }
.nbl-tip__prices dd .nbl-tip__source { letter-spacing: 0; font-weight: 400; }
.nbl-tip__prices > div:first-child dd { color: var(--nbl-green); }
.nbl-tip__source { display: block; font-size: 12px; color: var(--nbl-muted); overflow-wrap: anywhere; }
.nbl-tip__actions .sports-button { width: 100%; }
.nbl-bookie-logo { display: block; object-fit: contain; border-radius: 3px; max-width: 100%; }
.nbl-tip .nbl-bookie-logo { width: 100px; height: 25px; }
.nbl-page .sports-empty-state { padding: 32px 24px; border: 1px solid var(--nbl-border); background: var(--nbl-surface); box-shadow: none; backdrop-filter: none; border-radius: var(--nbl-radius); }
.nbl-page .sports-empty-state h3 { font-size: 20px; }
.nbl-page .sports-empty-state p { color: var(--nbl-muted); font-size: 15px; line-height: 1.7; margin: 12px 0 20px; }
.nbl-tip-empty svg { width: 40px; height: 40px; margin-bottom: 16px; }
.nbl-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; padding: 16px 0; background: transparent; border: 0; border-radius: 0; }
.nbl-filter { display: flex; flex-direction: column; gap: 8px; flex: 1 1 220px; }
.nbl-filters label { color: var(--nbl-muted); font-size: 14px; }
.nbl-filters input, .nbl-filters select { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--nbl-control-border); border-radius: 4px; background: #0d1117; color: var(--nbl-text); font-size: 16px; }
.nbl-feed-note, .nbl-table-note, .nbl-result-count, .nbl-scroll-hint { font-size: 14px; color: var(--nbl-muted); line-height: 1.6; margin: 16px 0; }
.nbl-date-group { margin-top: 24px; }
.nbl-date-group > h3 { margin: 0 0 12px; font-size: 18px; }
.nbl-date-zone { font-size: 13px; font-weight: 400; color: var(--nbl-muted); }
.nbl-page .nbl-odds-game { margin-top: 24px; background: var(--nbl-surface); border: 1px solid var(--nbl-border); border-radius: var(--nbl-radius); box-shadow: none; backdrop-filter: none; scroll-margin-top: 100px; }
.nbl-page .nbl-odds-game .sports-game-card__header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; padding: 24px; background: var(--nbl-raised); }
.nbl-odds-match { display: flex; align-items: center; gap: 20px; }
.nbl-page .sports-game-card__title-wrap h3 { font-size: 20px; line-height: 1.4; margin: 0 0 8px; }
.nbl-odds-game time { color: var(--nbl-muted); font-size: 14px; }
.nbl-odds-game .sports-game-card__header > a { min-height: 44px; display: inline-flex; align-items: center; color: var(--nbl-green); font-size: 14px; }
.nbl-page .nbl-odds-scroll { overflow-x: auto; width: 100%; margin: 0; padding: 0; scrollbar-width: thin; }
.nbl-page .nbl-odds-table { width: 100%; min-width: 900px; border-collapse: collapse; }
.nbl-page .nbl-odds-table th, .nbl-page .nbl-odds-table td { position: static; padding: 12px; min-width: 108px; text-align: center; white-space: nowrap; border-bottom: 1px solid var(--nbl-border); background: var(--nbl-surface); box-shadow: none; font-size: 14px; }
.nbl-page .nbl-odds-table th:first-child { position: sticky; left: 0; min-width: 200px; max-width: 250px; text-align: left; z-index: 1; white-space: normal; border-right: 1px solid var(--nbl-border); }
.nbl-page .nbl-odds-table thead th { height: 72px; font-weight: 600; border-bottom-color: var(--nbl-border); }
.nbl-page .nbl-odds-table tbody th { font-weight: 500; }
.nbl-odds-table .nbl-bookie-logo { width: 100px; height: 28px; margin: 0 auto; }
.nbl-market-label, .nbl-reference, .nbl-best-price > span { display: block; font-size: 12px; color: var(--nbl-muted); margin-bottom: 4px; }
.nbl-book-name { text-transform: capitalize; }
.nbl-price { display: inline-flex; justify-content: center; align-items: center; min-width: 64px; min-height: 44px; border: 1px solid transparent; border-radius: 4px; background: var(--nbl-raised); color: var(--nbl-text); font: inherit; font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; cursor: pointer; }
.nbl-price:hover { background: var(--nbl-raised); border-color: var(--nbl-green); }
.nbl-price--best { border-color: transparent; background: rgba(28,173,117,.12); color: var(--nbl-green); }
.nbl-best-price > strong { color: var(--nbl-green); font-size: 20px; font-variant-numeric: tabular-nums; }
.nbl-best-price > span { margin: 4px 0 0; }
.nbl-no-price { color: var(--nbl-muted); }
.nbl-table-note, .nbl-scroll-hint { padding: 0 24px; }
.nbl-reading, .nbl-related { margin-top: 48px; }
.nbl-reading { max-width: 80ch; }
.nbl-reading p, .nbl-reading li, .nbl-related p { color: var(--nbl-muted); font-size: 16px; line-height: 1.75; }
.nbl-reading h3 { font-size: 20px; margin: 28px 0 12px; }
.nbl-reading a, .nbl-related a, .nbl-feed-note a, .sports-empty-state a:not(.sports-button) { color: var(--nbl-green); }
.nbl-market-guide > div { padding: 16px 0; border-bottom: 1px solid var(--nbl-border); }
.nbl-market-guide dt { font-size: 17px; font-weight: 600; margin-bottom: 8px; }
.nbl-market-guide dd { margin: 0; color: var(--nbl-muted); line-height: 1.7; }
.nbl-formula { padding: 16px; border: 1px solid var(--nbl-border); border-radius: 6px; background: var(--nbl-surface); font-variant-numeric: tabular-nums; }
.nbl-reading details { padding: 12px 0; border-bottom: 1px solid var(--nbl-border); }
.nbl-reading summary { cursor: pointer; min-height: 44px; padding: 12px 0; font-size: 16px; font-weight: 600; }
.nbl-related { border-top: 1px solid var(--nbl-border); padding-top: 24px; }
.nbl-related__links { display: flex; flex-wrap: wrap; gap: 16px; margin: 16px 0; }
.nbl-related__links a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-right: 16px; }
.nbl-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
/* Editorial copy follows the same typography and borders as the sports boards. */
.nbl-topic-nav { display: flex; flex-wrap: wrap; gap: 0 24px; padding: 8px 0; border-bottom: 1px solid var(--nbl-border); }
.nbl-topic-nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--nbl-muted); font-size: 14px; }
.nbl-topic-nav a:hover { color: var(--nbl-green); text-decoration: underline; text-underline-offset: 4px; }
.nbl-guide { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 48px; margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--nbl-border); scroll-margin-top: 100px; }
.nbl-guide__intro h2 { margin: 0; font-size: 22px; font-weight: 600; line-height: 1.4; letter-spacing: -.01em; }
.nbl-guide__intro p { margin: 12px 0; color: var(--nbl-muted); font-size: 15px; line-height: 1.7; }
.nbl-guide__intro > a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-size: 14px; }
.nbl-guide a { color: var(--nbl-green); }
.nbl-guide__body { min-width: 0; }
.nbl-guide__body h3 { font-size: 18px; line-height: 1.5; font-weight: 600; margin: 0 0 12px; }
.nbl-guide__body p { max-width: 68ch; font-size: 15px; line-height: 1.8; color: var(--nbl-copy); margin: 0 0 16px; }
.nbl-guide__body p:last-child { margin-bottom: 0; }
.nbl-guide__columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
.nbl-guide__columns article { min-width: 0; scroll-margin-top: 100px; }
.nbl-guide__columns article p + p { margin-top: 12px; }
.nbl-worked-example { margin: 32px 0; padding: 24px; background: var(--nbl-surface); border: 1px solid var(--nbl-border); border-radius: var(--nbl-radius); }
.nbl-worked-example dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; margin: 20px 0; }
.nbl-worked-example dt { color: var(--nbl-muted); font-size: 13px; line-height: 1.6; margin-bottom: 8px; }
.nbl-worked-example dd { margin: 0; font-size: 26px; font-weight: 600; line-height: 1.3; font-variant-numeric: tabular-nums; }
.nbl-worked-example .nbl-example-highlight { color: var(--nbl-green); }
.nbl-worked-example > p { font-size: 14px; }
.nbl-worked-example > a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 8px; font-size: 14px; }
.nbl-season-summary { margin-bottom: 32px; padding-bottom: 24px; border-bottom: 1px solid var(--nbl-border); }
.nbl-season-summary > a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
.nbl-guide .nbl-market-guide { margin: 0 0 20px; }
.nbl-guide .nbl-market-guide > div:first-child { padding-top: 0; }
.nbl-guide .nbl-market-guide dd { color: var(--nbl-copy); font-size: 15px; line-height: 1.8; max-width: 68ch; }
.nbl-faq details { border-bottom: 1px solid var(--nbl-border); }
.nbl-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 64px; padding: 16px 0; cursor: pointer; list-style: none; font-size: 16px; font-weight: 500; line-height: 1.6; }
.nbl-faq summary::-webkit-details-marker { display: none; }
.nbl-faq summary::after { content: '+'; color: var(--nbl-muted); font-size: 22px; font-weight: 400; flex-shrink: 0; }
.nbl-faq details[open] summary::after { content: '−'; color: var(--nbl-green); }
.nbl-faq details[open] > p { padding: 0 32px 20px 0; margin: 0; }
.nbl-page [id] { scroll-margin-top: 100px; }
@media(max-width:1100px) {
    .nbl-guide { grid-template-columns: 200px minmax(0,1fr); gap: 32px; }
    .nbl-guide__columns { grid-template-columns: 1fr; gap: 28px; }
    .nbl-worked-example dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
    .nbl-guide { grid-template-columns: 1fr; gap: 24px; margin-top: 40px; padding-top: 24px; }
    .nbl-guide__intro > p { margin-bottom: 0; }
    .nbl-guide__intro > a { margin-top: 8px; }
    .nbl-guide__body p { font-size: 16px; line-height: 1.75; }
    .nbl-guide__columns { gap: 24px; }
    .nbl-worked-example { padding: 16px; margin: 24px 0; }
    .nbl-worked-example dl { gap: 20px 16px; }
    .nbl-worked-example dd { font-size: 24px; }
    .nbl-worked-example > p { font-size: 14px; }
    .nbl-topic-nav { gap: 0 20px; }
    .nbl-faq summary { font-size: 16px; }
    .nbl-faq details[open] > p { padding-right: 0; }
}
@media(max-width:1100px) {
    .nbl-tips-board-head { display: none; }
    .nbl-tips-grid .nbl-tip { grid-template-columns: 104px minmax(0,1fr) 190px; grid-template-areas: 'edge matchup prices' 'edge pick prices' 'edge reason action'; }
    .nbl-tips-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .nbl-hub-main { grid-template-columns: minmax(0,1.4fr) minmax(300px,1fr); gap: 20px; }
    .nbl-hub-main .nbl-fixture { grid-template-columns: 1fr; }
    .nbl-hub-main .nbl-fixture > .sports-button { grid-column: 1; }
}
@media(max-width:767px) {
    .nbl-tips-grid .nbl-tip { grid-template-columns: 100px minmax(0,1fr); grid-template-areas: 'edge pick' 'matchup matchup' 'prices prices' 'reason reason' 'action action'; gap: 16px; padding: 24px 0; }
    .nbl-tips-grid .nbl-tip__actions .sports-button { padding: 8px 0; }
    .nbl-page { padding: 12px 16px 40px; }
    .nbl-league-header { gap: 16px; padding-bottom: 20px; flex-wrap: wrap; }
    .nbl-league-mark { width: 58px; height: 58px; flex-basis: 58px; }
    .nbl-league-mark img { width: 235px; height: 88px; left: -58px; top: -14px; }
    .nbl-page .sports-hero__copy h1 { font-size: 28px; }
    .nbl-page .sports-hero__lede { font-size: 14px; }
    .nbl-league-header > .sports-button { margin-left: 74px; }
    .nbl-section-nav { gap: 0; justify-content: space-between; }
    .nbl-section-nav a { padding: 12px 10px; font-size: 14px; }
    .nbl-team-strip { padding: 16px 0; gap: 8px; justify-content: flex-start; }
    .nbl-section-heading h2, .nbl-reading h2, .nbl-related h2 { font-size: 22px; }
    .nbl-hub-main, .nbl-tips-grid, .nbl-explore-links { grid-template-columns: 1fr; }
    .nbl-hub-main { gap: 0; }
    .nbl-fixture { grid-template-columns: minmax(0,1fr) auto; gap: 12px; padding: 16px; }
    .nbl-fixture__date { grid-column: 1/-1; flex-direction: row; justify-content: space-between; }
    .nbl-fixture__date time { font-size: 13px; }
    .nbl-fixture .sports-button { padding: 8px; font-size: 12px; }
    .nbl-team-line { gap: 8px; }
    .nbl-team-line strong { font-size: 14px; }
    .nbl-team-line img { width: 36px; height: 36px; }
    .nbl-fixture-price { display: none; }
    .nbl-hub-main .nbl-fixture { grid-template-columns: 1fr auto; }
    .nbl-hub-main .nbl-fixture > .sports-button { grid-column: 2; }
    .nbl-tip { padding: 20px; }
    .nbl-filters { padding: 16px; }
    .nbl-filter { flex-basis: 100%; }
    .nbl-odds-match { align-items: flex-start; gap: 12px; flex-direction: column; }
    .nbl-page .nbl-odds-game .sports-game-card__header { padding: 16px; }
    .nbl-page .sports-game-card__title-wrap h3 { font-size: 18px; }
    .nbl-page .nbl-odds-table th:first-child { min-width: 140px; max-width: 160px; }
    .nbl-explore-links { gap: 0; }
    .nbl-explore-links > a + a { border-top: 0; }
}

/* NBL season, matchup form and scoreboards. */
.nbl-season-line { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; padding: 4px 0; font-size: 14px; color: var(--nbl-muted); border-bottom: 1px solid var(--nbl-border); }
.nbl-season-line > span:first-child { color: var(--nbl-text); font-weight: 600; }
.nbl-season-line a { color: var(--nbl-green); margin-left: auto; min-height: 44px; display: inline-flex; align-items: center; }
.nbl-featured-match { border: 0; border-bottom: 1px solid var(--nbl-border); border-radius: 0; background: transparent; padding: 24px 0; margin-top: 24px; }
.nbl-featured-match .nbl-section-heading { margin-bottom: 24px; }
.nbl-section-heading > time, .nbl-section-heading > span { color: var(--nbl-muted); font-size: 14px; }
.nbl-match-banner { display: grid; grid-template-columns: minmax(0,1fr) 40px minmax(0,1fr); gap: 24px; align-items: center; }
.nbl-match-banner__team { display: grid; grid-template-columns: 56px minmax(0,1fr); align-items: center; gap: 8px 16px; }
.nbl-match-banner__team > img { grid-row: span 2; width: 56px; height: 56px; background: white; border-radius: 4px; padding: 4px; object-fit: contain; }
.nbl-match-banner__team h3 { font-size: 22px; font-weight: 600; line-height: 1.4; margin: 0; }
.nbl-match-banner__price { display: flex; align-items: center; gap: 16px; }
.nbl-match-banner__price strong { color: var(--nbl-green); font-size: 28px; font-weight: 600; font-variant-numeric: tabular-nums; }
.nbl-match-banner__price img { object-fit: contain; }
.nbl-match-banner__vs { color: var(--nbl-muted); text-align: center; font-size: 16px; }
.nbl-featured-match__footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 0; margin-top: 8px; }
.nbl-featured-match__footer > span, .nbl-venue, .nbl-odds-venue { color: var(--nbl-muted); font-size: 14px; line-height: 1.6; }
.nbl-venue { margin: 12px 0 0; }
.nbl-final-score { margin-left: auto; font-size: 24px; font-weight: 700; font-variant-numeric: tabular-nums; }
.nbl-match-context { border-top: 1px solid var(--nbl-border); padding-top: 20px; }
.nbl-form-comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.nbl-form-comparison > div { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.nbl-form-comparison a { color: var(--nbl-text); font-weight: 600; font-size: 15px; min-height: 44px; display: inline-flex; align-items: center; }
.nbl-form-comparison > div > span:not(.nbl-form) { color: var(--nbl-muted); font-size: 14px; }
.nbl-form { display: inline-flex; gap: 4px; white-space: nowrap; }
.nbl-form > span, .nbl-result-letter { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 2px; font-size: 12px; font-weight: 600; }
.nbl-form__w { background: var(--nbl-green); color: var(--nbl-on-green); }
.nbl-form__l { background: #442d31; color: #f7c7ce; }
.nbl-scoring-comparison { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; padding: 20px 0; margin: 0; }
.nbl-scoring-comparison dt { color: var(--nbl-muted); font-size: 14px; margin-bottom: 8px; }
.nbl-scoring-comparison dd { font-size: 19px; font-weight: 600; margin: 0; font-variant-numeric: tabular-nums; }
.nbl-scoring-comparison dd > span { color: var(--nbl-muted); font-size: 13px; font-weight: 400; margin: 0 8px; }
.nbl-match-history { border-top: 1px solid var(--nbl-border); }
.nbl-match-history summary { min-height: 44px; padding: 16px 0; cursor: pointer; color: var(--nbl-green); font-size: 14px; }
.nbl-recent-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.nbl-match-history h4 { font-size: 15px; font-weight: 600; margin: 16px 0; }
.nbl-recent-form ol, .nbl-h2h-list, .nbl-scoreboard { list-style: none; margin: 0; padding: 0; }
.nbl-recent-form li { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--nbl-border); }
.nbl-recent-form li > div { display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.nbl-recent-form time { color: var(--nbl-muted); font-size: 12px; }
.nbl-recent-form li > strong { margin-left: auto; white-space: nowrap; font-size: 16px; }
.nbl-h2h-list li { display: flex; align-items: center; gap: 16px; font-size: 14px; line-height: 1.7; padding: 12px 0; border-bottom: 1px solid var(--nbl-border); }
.nbl-h2h-list time { color: var(--nbl-muted); white-space: nowrap; }
.nbl-h2h-list strong { color: var(--nbl-green); margin: 0 8px; white-space: nowrap; }
.nbl-season-grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); gap: 28px; margin-top: 20px; }
.nbl-season-grid > section { min-width: 0; }
.nbl-source { font-size: 13px; line-height: 1.7; color: var(--nbl-muted); margin: 16px 0; }
.nbl-source a, .nbl-text-link { color: var(--nbl-green); }
.nbl-stats-scroll { overflow-x: auto; border: 1px solid var(--nbl-border); border-radius: var(--nbl-radius); scrollbar-width: thin; }
.nbl-stats-table { border-collapse: collapse; width: 100%; font-size: 14px; background: var(--nbl-surface); font-variant-numeric: tabular-nums; }
.nbl-stats-table th, .nbl-stats-table td { padding: 12px; border-bottom: 1px solid var(--nbl-border); white-space: nowrap; text-align: center; }
.nbl-stats-table thead th { font-size: 12px; color: var(--nbl-muted); font-weight: 500; background: var(--nbl-raised); height: 52px; }
.nbl-stats-table tbody th { text-align: left; font-weight: 500; }
.nbl-stats-table th a { display: flex; align-items: center; gap: 8px; color: var(--nbl-text); min-height: 44px; }
.nbl-stats-table img { padding: 3px; object-fit: contain; background: white; border-radius: 3px; }
.nbl-stats-table tbody tr:last-child > * { border-bottom: 0; }
.nbl-scoreboard { list-style: none; display: block; margin: 0; padding: 0; border-top: 1px solid var(--nbl-border); }
.nbl-scoreboard > li { background: transparent; border: 0; border-bottom: 1px solid var(--nbl-border); border-radius: 0; padding: 16px 0; }
.nbl-scoreboard__date { display: flex; flex-wrap: wrap; gap: 12px; font-size: 12px; color: var(--nbl-muted); margin-bottom: 12px; }
.nbl-scoreboard__team { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 13px; line-height: 1.4; }
.nbl-scoreboard__team img { object-fit: contain; background: white; border-radius: 3px; padding: 3px; flex-shrink: 0; width: 28px; height: 28px; }
.nbl-scoreboard__team strong { font-size: 22px; margin-left: auto; }
.nbl-winning-score { color: var(--nbl-green); }
.nbl-matchup-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.nbl-matchup-panel { border: 0; border-top: 1px solid var(--nbl-border); border-radius: 0; background: transparent; padding: 20px 0; }
.nbl-matchup-panel > h3 { margin: 0 0 8px; font-size: 20px; line-height: 1.5; }
.nbl-matchup-panel > time { display: block; color: var(--nbl-muted); font-size: 14px; margin-bottom: 20px; }
.nbl-matchup-panel > a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; margin-top: 12px; }
.nbl-matchup-panel .nbl-scoring-comparison { grid-template-columns: repeat(2,minmax(0,1fr)); }
.nbl-tip__reason { margin: -4px 0 20px; font-size: 13px; line-height: 1.7; color: var(--nbl-muted); }
.nbl-bookmaker-strip { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; padding: 20px 0; }
.nbl-bookmaker-strip img { object-fit: contain; }
.nbl-price-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; padding: 20px 24px; border-block: 1px solid var(--nbl-border); }
.nbl-price-summary > div { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px 12px; }
.nbl-price-summary > div > span:first-child { font-weight: 600; font-size: 15px; }
.nbl-price-summary > div > span:last-child { grid-column: 1/-1; color: var(--nbl-muted); font-size: 13px; line-height: 1.6; }
.nbl-price-summary strong { color: var(--nbl-green); font-size: 24px; font-weight: 600; font-variant-numeric: tabular-nums; }
.nbl-odds-venue { padding: 0 24px; margin: 12px 0; }
.nbl-odds-context { padding: 0 24px 20px; }
.nbl-calculator { max-width: 700px; padding: 24px; border: 1px solid var(--nbl-border); border-radius: var(--nbl-radius); background: var(--nbl-surface); scroll-margin-top: 100px; }
.nbl-calculator h2 { font-size: 24px; margin: 0 0 16px; }
.nbl-calculator p { color: var(--nbl-muted); font-size: 14px; line-height: 1.7; }
.nbl-calculator-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.nbl-calculator input { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--nbl-control-border); border-radius: 4px; background: #0d1117; color: var(--nbl-text); font-size: 16px; }
.nbl-calculator-output { display: flex; flex-wrap: wrap; gap: 24px 48px; margin-top: 24px; }
.nbl-calculator-output > span { display: flex; flex-direction: column; gap: 8px; color: var(--nbl-muted); font-size: 14px; }
.nbl-calculator-output strong { font-size: 28px; font-weight: 600; color: var(--nbl-green); font-variant-numeric: tabular-nums; }
.nbl-show-more { display: block; margin: 24px auto; min-height: 44px; cursor: pointer; }
#fixtures-board .nbl-filters { display: grid; grid-template-columns: 1.5fr 1.5fr 1fr 1fr 1.4fr; }
#fixtures-board .nbl-filter { min-width: 0; }
@media(max-width:1100px) {
    .nbl-season-grid { grid-template-columns: 1fr; }
    .nbl-match-banner__team { grid-template-columns: 64px minmax(0,1fr); gap: 12px; }
    .nbl-match-banner__team > img { width: 64px; height: 64px; }
    .nbl-match-banner__team h3 { font-size: 20px; }
    #fixtures-board .nbl-filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width:767px) {
    .nbl-league-header { display: grid; grid-template-columns: 58px minmax(0,1fr); align-items: start; }
    .nbl-league-header > .sports-button { grid-column: 2; margin-left: 0; justify-self: start; }
    .nbl-season-line { gap: 8px 16px; font-size: 12px; }
    .nbl-season-line a { margin-left: 0; }
    .nbl-featured-match { padding: 24px 0; }
    .nbl-matchup-panel { padding: 20px 0; }
    .nbl-calculator { padding: 16px; }
    .nbl-match-banner { gap: 12px; grid-template-columns: minmax(0,1fr) 20px minmax(0,1fr); align-items: start; }
    .nbl-match-banner__team { display: flex; flex-direction: column; gap: 12px; text-align: center; }
    .nbl-match-banner__team h3 { font-size: 17px; min-height: 4.2em; display: flex; align-items: center; justify-content: center; }
    .nbl-match-banner__price { flex-direction: column; gap: 8px; }
    .nbl-match-banner__price strong { font-size: 28px; }
    .nbl-featured-match__footer { flex-direction: column; align-items: flex-start; }
    .nbl-form-comparison { gap: 16px; }
    .nbl-scoring-comparison { grid-template-columns: 1fr 1fr; gap: 20px 16px; }
    .nbl-scoring-comparison dd { font-size: 20px; }
    .nbl-scoring-comparison dd > span { margin: 0 4px; }
    .nbl-recent-form, .nbl-matchup-grid, .nbl-price-summary { grid-template-columns: 1fr; }
    .nbl-h2h-list li { align-items: flex-start; flex-direction: column; gap: 4px; }
    .nbl-season-grid { gap: 0; }
    .nbl-scoreboard { grid-template-columns: 1fr; }
    .nbl-price-summary, .nbl-odds-context { padding: 16px; }
    .nbl-bookmaker-strip { gap: 12px; }
    .nbl-bookmaker-strip img { width: 80px; height: 24px; }
    #fixtures-board .nbl-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
    #fixtures-board .nbl-filter:first-child { grid-column: 1/-1; }
}
