{"version":3,"file":"BVBlog.B_PM_2ah.mjs","names":["p","useMemo","useState","c","_Fragment"],"sources":["https:/framerusercontent.com/modules/NX0I2nWxui3Csq8Ki2zf/OuUEwflaghIr2z3Wzgx2/BVPosts.js","https:/framerusercontent.com/modules/JbQTpkZg16UaggKFqspD/yYG3q0C0jeAvAZzd3xHY/BVBlog.js"],"sourcesContent":["// Bookie Verdict blog posts. Content lives here (not in Framer CMS) so posts can be added from code.\n// Each post renders at /blog/<slug> through BVBlog. Body is light markdown: \"## \" headings, \"- \" bullets,\n// \"**bold**\", \"[text](url)\" links and blank-line paragraphs. matchIds pull live picks from the engine.\n// Rules: \"we\" for model/data posts (author \"team\"); \"I\" only for The Gaffer's columns (author \"gaffer\").\n// Never use anyone's real name. No promises of winnings; 18+ block is added by BVBlog on every post.\nexport const AUTHORS={team:{name:\"Bookie Verdict team\",bio:\"The people behind Bookie Verdict's model. We price every match from expected goals, form and the betting market, and publish every pick and every result.\"},gaffer:{name:\"The Gaffer\",bio:\"The Gaffer has followed European football and the betting markets for over a decade. He writes Bookie Verdict's opinion columns and, every so often, disagrees with our model.\"}};export const POSTS=[{slug:\"meet-cortex-ai-football-predictions\",title:\"Meet Cortex: the AI behind our football predictions\",seoTitle:\"AI Football Predictions: Meet Cortex | Bookie Verdict\",description:\"Cortex is Bookie Verdict's AI football prediction model. How it reads every match, weighs team news and form, compares its chances with the bookmakers and learns from every result.\",excerpt:\"Cortex reads every match, works out the chance of every result and learns from every miss. Here is what it does, what it doesn't, and how to judge it for yourself.\",category:\"Guide\",author:\"team\",published:\"2026-10-24T20:00:00+02:00\",updated:\"2026-10-24T20:00:00+02:00\",readMins:5,faq:[{q:\"What is Cortex?\",a:\"Cortex is the prediction model behind Bookie Verdict. It estimates the chance of every result for each match from expected goals, form, team news and the betting market, and it adjusts itself as results come in.\"},{q:\"Are AI football predictions accurate?\",a:\"No model gets every match right. What matters is whether its chances match reality over many games. Every Cortex pick is logged before kick-off and settled on our public track record, so you can judge it yourself.\"},{q:\"Can I challenge Cortex's prediction?\",a:\"Yes. On any match that hasn't kicked off you can tell Cortex why you think it's wrong. It checks the line-ups, injuries and the latest team news and tells you whether it agrees, and it only changes a pick when the data backs it up.\"},{q:\"Does Cortex guarantee winning bets?\",a:\"No. A 65% pick still loses about a third of the time. Cortex helps you judge chances and prices more clearly. Please bet only what you can afford to lose. 18+.\"}],body:`**Cortex is the AI model behind every Bookie Verdict prediction.** It reads every match, works out the chance of every result, gives one clear verdict and then learns from how that verdict turned out.\n\nHere is what it actually does, in plain English.\n\n## It reads the game\n\nBefore every match Cortex looks at:\n\n- how well both teams attack and defend, at home and away\n- recent form, with the latest games counting most and opponents' strength taken into account\n- team news: confirmed line-ups, injuries, suspensions and rotation\n- trusted news reports and manager press conferences in the build-up\n- the bookmakers' prices, which carry what the wider market knows\n\n## It plays the match thousands of ways\n\nFrom those inputs Cortex estimates each side's expected goals, then works out the chance of every scoreline: 0-0, 1-0, 2-1 and so on. Add those up and you get its chances for every market we show, from the match result to both teams to score and over 2.5 goals.\n\n## It checks the bookies\n\nCortex compares its own chance with the chance implied by the best price we can find. When its chance is clearly higher, the pick is marked **Value**. When nothing stands out, it says so, and gives its most likely sensible pick instead.\n\n## It explains itself\n\nEvery match comes with **Cortex's read**: a short, plain summary of what it sees. For example, a side in good form, a key player missing, a team that struggles away from home. If team news changes the picture before kick-off, Cortex updates its pick and tells you what changed and why.\n\n## You can challenge it\n\nThink Cortex has it wrong? Tell it. On any match that hasn't kicked off, pick a reason (a key player out, rotation, motivation, a derby) and add a note. Cortex checks the line-ups, injuries and latest news and replies in seconds. It will tell you when you have a point, and it will tell you when the data says otherwise. It never changes a pick just because someone disagrees.\n\n## It learns from every miss\n\nEvery pick is logged before kick-off and settled after full time on our public [track record](/track-record). When a verdict misses, Cortex looks at what it got wrong and adjusts how much weight it gives to things like recent form, team news and the bookmakers' view. Over time that keeps its chances closer to what really happens.\n\n## What Cortex is not\n\nCortex is not a crystal ball. Football is uncertain, and even its strongest picks lose regularly. It is a tool for judging chances and prices more clearly, and it is only as good as its record, which is why the record is public.\n\nSee [how our predictions work](/how-it-works) for the full picture, or head to [today's matches](/) to see Cortex's latest verdicts.\n\n18+. Please bet responsibly, and only with money you can afford to lose.`},{slug:\"sunday-premier-league-predictions-25-october-2026\",title:\"Sunday Premier League predictions: Liverpool v Brighton, Man Utd v Bournemouth and more\",seoTitle:\"Premier League Predictions Sunday 25 Oct 2026 | Bookie Verdict\",description:\"Our model's predictions for Sunday's Premier League games: Liverpool v Brighton, Man Utd v Bournemouth, Crystal Palace v Newcastle and Hull v Brentford, with chances, xG and best prices.\",excerpt:\"Four Premier League games kick off together on Sunday. Our model sees goals at both ends almost everywhere, and Brighton arrive at Anfield as the in-form side.\",category:\"Match preview\",author:\"team\",league:\"Premier League\",published:\"2026-10-24T15:30:00+02:00\",updated:\"2026-10-24T15:30:00+02:00\",readMins:5,matchIds:[\"1557444\",\"1557445\",\"1557441\",\"1557442\"],faq:[{q:\"Will both teams score in Liverpool v Brighton?\",a:\"Our model gives both teams to score a 65% chance. It expects Brighton to create more, with expected goals of 2.3 to Liverpool's 1.2.\"},{q:\"What is the best value pick on Sunday?\",a:\"None of the four games shows clear value at the prices available when we checked. Our picks are the most likely sensible outcomes, not value bets, and prices can change before kick-off.\"},{q:\"How are these predictions made?\",a:\"We estimate expected goals for each side, turn them into scoreline chances, blend that with the betting market's view, and compare the result with the best available price.\"}],body:`Four Premier League games kick off together on Sunday, and our model has a clear theme: goals at both ends. In three of the four, both teams to score comes out at 63% or higher.\n\nOne honest note before the picks. At the prices we found, none of these games shows real value: our chances and the bookmakers' chances are close. So treat these as our most likely outcomes rather than bets where we think the market has it wrong. Live prices and picks are in the boxes below and update through the day.\n\n## Liverpool v Brighton\n\nThis is the most interesting game on the card. Brighton come to Anfield third in the table with 16 points from 7 games and a last five of WWWWD. They are scoring 3.3 a game and conceding 0.7. Liverpool are fifth on 12 points (WLWDW).\n\nOur model is not convinced by the home side here. It gives Brighton the higher expected goals, 2.3 to Liverpool's 1.2, and its single most likely score is 1-2. Even so, home advantage keeps Liverpool or the draw at 66%.\n\n- **Our pick:** over 2.5 goals, 64% chance, best price 1.55\n- Both teams to score: 65%\n- Liverpool or draw: 66%\n\nThe bookmakers have Liverpool as favourites at 2.16. If you agree with our model that Brighton are the better side right now, that is the price that looks short.\n\n## Manchester United v Bournemouth\n\nTwo sides in the bottom half, and neither is winning much. United have drawn four of their last five (DDDLD) and sit 13th. Bournemouth are 15th and conceding 1.9 a game.\n\nOur model has United on top in chance creation (2.3 expected goals to 1.3) and makes 2-1 the most likely score. United or the draw is a 72% chance, but at 1.39 there is little in the price.\n\n- **Our pick:** both teams to score, 63% chance, best price 1.55\n- Over 2.5 goals: 60%\n- United or draw: 72%\n\n## Crystal Palace v Newcastle\n\nThe strongest both-teams-to-score case of the day. Palace concede 2.4 a game, Newcastle 2.0, and our model has expected goals of 2.2 for Palace and 1.8 for Newcastle.\n\n- **Our pick:** both teams to score, 69% chance, best price 1.46\n- Over 2.5 goals: 63%\n- Newcastle or draw: 66%\n\n## Hull City v Brentford\n\nThe tightest of the four. Brentford are the bookmakers' clear favourites at 1.73, and our model agrees they are the more likely winners at 53%, but it expects a closer game than that price suggests, with 1-1 the most likely score.\n\n- **Our pick:** both teams to score, 56% chance, best price 1.67\n- Brentford to win: 53%\n\n## How we'll grade this\n\nEvery pick above goes on our public [track record](/track-record) after full time, win or lose. If you add picks to the bet slip, remember that every leg of an accumulator has to win, so the combined chance drops quickly.`},{slug:\"how-our-football-predictions-work\",title:\"How Bookie Verdict's football predictions work\",seoTitle:\"How Our Football Predictions Work | Bookie Verdict\",description:\"How Bookie Verdict predicts football matches: expected goals, scoreline chances, blending with the betting market, finding value, and a public record of every pick.\",excerpt:\"No tipster hunches. Here is how our model turns expected goals and the betting market into a chance for every result, and why we publish every pick, win or lose.\",category:\"Guide\",author:\"team\",published:\"2026-10-24T15:30:00+02:00\",updated:\"2026-10-24T15:30:00+02:00\",readMins:6,faq:[{q:\"How accurate are Bookie Verdict's predictions?\",a:\"Every pick is logged before kick-off and settled after full time on our public track record, so you can check the results yourself rather than take our word for it.\"},{q:\"What does 'value' mean on Bookie Verdict?\",a:\"A pick is value when our chance of it happening is higher than the chance implied by the best bookmaker price. For example, if we make a result 55% likely and the best price is 2.00 (which implies 50%), that is value.\"},{q:\"Can a prediction model guarantee winning bets?\",a:\"No. Football is uncertain, and even a 70% pick loses three times in ten. A model can only help you judge chances and prices more clearly. Please bet only what you can afford to lose.\"}],body:`Most prediction sites give you a pick and nothing else. We would rather show our working: our chance for every result, the price you can get, and a public record of how every pick turned out. We call the model Cortex.\n\nHere is how it fits together, step by step.\n\n## 1. Expected goals for each side\n\nEverything starts with expected goals (xG): how many goals each team should score in this match on average. We build that from how well each side has been attacking and defending, adjusted for home and away, and for who they have been playing.\n\nFor example, before Chelsea v Tottenham on 24 October our model had Chelsea at 2.2 expected goals and Tottenham at 1.1.\n\n## 2. From expected goals to every scoreline\n\nGoals in football are rare, random events, so we can turn expected goals into a chance for every scoreline: 0-0, 1-0, 1-1, 2-1 and so on. Add those up and you get the chances for every market we cover:\n\n- home win, draw and away win\n- over and under 2.5 goals\n- both teams to score\n- the most likely correct scores\n\n## 3. A sanity check from the market\n\nBookmaker prices carry a lot of information: team news, injuries and the views of thousands of bettors. So we do not ignore them. Our final chance is a blend of our own numbers and what the market is saying. That stops the model from drifting too far on a hunch of its own, while still letting it disagree when the data supports it.\n\n## 4. Picking the verdict\n\nFor each match we rank the picks by how likely they are and how they compare with the best price available.\n\n- **Value pick:** our chance is higher than the chance the price implies. A price of 2.00 implies 50%; if we make it 55%, that is value.\n- **Most likely pick:** when nothing shows value, we say so and give you the most likely sensible outcome instead.\n\nYou will see a top pick plus a 2nd and 3rd pick for every game, each with our chance next to it.\n\n## 5. A public record of every pick\n\nEvery pick is logged before kick-off and settled after full time on our [track record](/track-record). We show wins and losses, by market, competition and team, so you can judge the model on its results rather than on our claims.\n\nThe model also learns from those results. Each settled game feeds back into how it weighs form, goals and the market, so it keeps getting checked against reality.\n\n## What a prediction is not\n\nA 65% pick still loses about a third of the time. No model, ours included, can guarantee a winning bet, and accumulators multiply the risk because every leg has to win. Use our numbers to judge chances and prices more clearly, and only bet what you can afford to lose.`},{slug:\"what-does-btts-mean\",title:\"What does BTTS mean? Both teams to score explained\",seoTitle:\"What Does BTTS Mean? Both Teams to Score Explained | Bookie Verdict\",description:\"BTTS means both teams to score. Learn how the bet works, what counts, how often it lands, and how we calculate the chance for every match.\",excerpt:\"BTTS is one of the most popular football bets. Here is exactly how it works, what counts and what doesn't, and how to judge whether a price is worth it.\",category:\"Guide\",author:\"team\",published:\"2026-10-24T15:30:00+02:00\",updated:\"2026-10-24T15:30:00+02:00\",readMins:4,faq:[{q:\"What does BTTS mean in betting?\",a:\"BTTS stands for both teams to score. A 'yes' bet wins if each team scores at least one goal in the match; a 'no' bet wins if at least one team fails to score.\"},{q:\"Does extra time count for BTTS?\",a:\"Usually not. Most bookmakers settle BTTS on 90 minutes plus stoppage time only, so goals in extra time and penalty shoot-outs do not count. Check your bookmaker's rules.\"},{q:\"Do own goals count for BTTS?\",a:\"Yes. An own goal counts for the team it is credited to, so it can make or break a BTTS bet.\"}],body:`**BTTS means \"both teams to score\".** You are betting on whether each team scores at least once, not on who wins.\n\n- **BTTS yes** wins if both teams score at least one goal. 1-1, 2-1 and 3-2 all win.\n- **BTTS no** wins if at least one team fails to score. 0-0, 1-0 and 3-0 all win.\n\nThe final result does not matter. A 1-1 draw and a 4-1 win are the same to a BTTS yes bet.\n\n## What counts and what doesn't\n\n- **Normal time only:** most bookmakers settle BTTS on 90 minutes plus stoppage time. Extra time and penalties usually don't count.\n- **Own goals count** for the team they are credited to.\n- **Abandoned matches** are usually void unless the result was already settled. Rules vary, so check your bookmaker.\n\n## How we work out the chance\n\nWe estimate expected goals for both teams, then work out how likely each side is to score at least once. Multiply the two (with a small adjustment, because goals at one end affect the game at the other) and you have the chance that both teams score.\n\nFor example, for Crystal Palace v Newcastle on 25 October our model had expected goals of 2.2 and 1.8, which gave both teams to score a 69% chance.\n\n## Is the price worth it?\n\nTurn the price into a chance by dividing 1 by the odds. A price of 1.50 implies 67%. If our chance is higher than that, the price is value; if it is lower, the bookmaker has the better of it.\n\nOn every match page we show our BTTS chance next to the best price, so you can see this at a glance.\n\n## Common mistakes\n\n- **Backing BTTS on favourites at home:** a strong side at home often wins 2-0 or 3-0, which loses a BTTS yes bet.\n- **Long BTTS accumulators:** five legs at 65% each have only about an 11% chance of all landing.\n- **Ignoring team news:** a missing striker can change a side's chance of scoring a lot.\n\nPlease bet responsibly, and only with money you can afford to lose.`},{slug:\"what-is-xg-in-football\",title:\"What is xG in football? Expected goals explained for bettors\",seoTitle:\"What Is xG in Football? Expected Goals Explained | Bookie Verdict\",description:\"Expected goals (xG) explained in plain English: what it measures, why it beats the scoreline for judging teams, and how we use it to predict matches.\",excerpt:\"xG is the number behind almost every serious football prediction. Here is what it measures, why it matters more than the scoreline, and how we use it.\",category:\"Guide\",author:\"team\",published:\"2026-10-24T19:00:00+02:00\",updated:\"2026-10-24T19:00:00+02:00\",readMins:5,faq:[{q:\"What does xG mean in football?\",a:\"xG stands for expected goals: how many goals a team would normally score from the chances it created, based on how often similar chances are scored.\"},{q:\"Is a high xG a guarantee of goals?\",a:\"No. A team can create 2.5 xG and score nothing, or 0.4 xG and score twice. Over many games, though, goals tend to follow xG, which is why it is useful for predictions.\"},{q:\"How does Bookie Verdict use xG?\",a:\"We estimate each side's expected goals for the coming match from their attack and defence at home and away, recent form and team news, then turn those into a chance for every scoreline and result.\"}],body:`**xG stands for expected goals.** It measures the quality of the chances a team creates, not just whether they went in.\n\nEvery shot gets a value between 0 and 1: how often a shot like that, from that spot and in that situation, is scored. A penalty is worth about 0.76. A header from the edge of the box might be worth 0.03. Add up a team's shots and you get their xG for the match.\n\n## Why the scoreline can lie\n\nFootball is low scoring, so luck plays a big part in any single result. A team can dominate, create 2.8 xG, hit the post twice and lose 1-0 to one deflected shot.\n\nThe scoreline says they lost. xG says they were the better side and will usually win games like that. Over a run of matches, xG is a far better guide to how good a team really is than results alone.\n\n## What xG tells you before a match\n\nTwo things matter most:\n\n- **xG for:** how many good chances a team creates. A side averaging 2.0 xG a game is creating a lot.\n- **xG against:** how many good chances it allows. A side conceding 0.8 xG a game is hard to break down.\n\nPut an attack against a defence and you get a reasonable estimate of how many goals each side should score in that match.\n\n## How we use it\n\nFor every match we estimate expected goals for both teams. We start from how well each side attacks and defends at home and away. Then we adjust for recent form, who is missing through injury, suspension or rotation, and the strength of the opponent.\n\nFrom those two numbers we work out the chance of every scoreline, 0-0, 1-0, 1-1, 2-1 and so on, and add them up into the chances you see on every match:\n\n- home win, draw and away win\n- over and under 2.5 goals\n- both teams to score\n\nFor example, before Chelsea v Tottenham on 24 October our model had Chelsea at 2.2 expected goals and Tottenham at 1.1. That made Chelsea clear favourites and over 2.5 goals more likely than not.\n\n## What xG does not tell you\n\n- **Finishing:** a team with a great striker can beat its xG for a while, and a team without one can fall short of it.\n- **Game state:** a side 2-0 up often sits deep and gives up chances, so its xG against rises without it being in real danger.\n- **Small samples:** five games of xG can still be noisy. That is why we weight recent games more but never ignore the season as a whole.\n\n## The short version\n\nxG measures chance quality. Over time it predicts goals better than goals do. It is the backbone of our model, but not the whole story: team news, form and the betting market all go into every verdict, and every pick goes on our public [track record](/track-record).\n\nPlease bet responsibly, and only with money you can afford to lose.`},{slug:\"what-is-value-betting\",title:\"What is value betting? How to tell if odds are worth it\",seoTitle:\"What Is Value Betting? Odds, Probability and Value Explained | Bookie Verdict\",description:\"Value betting explained simply: how to turn odds into a chance, what makes a price good value, and why value is not the same as a likely winner.\",excerpt:\"A likely winner is not always a good bet. Here is how to turn any price into a chance, and how to tell whether the odds are actually worth taking.\",category:\"Guide\",author:\"team\",published:\"2026-10-24T19:00:00+02:00\",updated:\"2026-10-24T19:00:00+02:00\",readMins:5,faq:[{q:\"What is a value bet?\",a:\"A value bet is one where the chance of something happening is higher than the chance implied by the odds. Over many bets, value is what decides whether you come out ahead or behind.\"},{q:\"How do you convert odds into a chance?\",a:\"Divide 1 by the decimal odds. Odds of 2.00 imply 50%, odds of 1.50 imply 67%, and odds of 4.00 imply 25%.\"},{q:\"Does value mean the bet will win?\",a:\"No. A value bet can easily lose. Value only means the price is better than the true chance deserves, so it pays off over a long run of similar bets, not on any single one.\"}],body:`Most people bet on who they think will win. The trouble is that a likely winner at a poor price can still be a bad bet. **Value betting** is about the price, not just the pick.\n\n## Step 1: turn the odds into a chance\n\nEvery price hides a chance. Divide 1 by the decimal odds:\n\n- **1.50** → 1 \\xf7 1.50 = **67%**\n- **2.00** → 1 \\xf7 2.00 = **50%**\n- **3.00** → 1 \\xf7 3.00 = **33%**\n\nThat is the chance the bookmaker is effectively offering you.\n\n## Step 2: compare it with the real chance\n\nNow ask how likely the outcome really is. If you think a team wins 55% of the time and the price is 2.00 (50%), the price is better than it should be. That is **value**.\n\nIf you think the chance is 45% at the same 2.00, the bookmaker has the better of it, even if the team is a decent pick.\n\n## Why the bookmaker usually wins\n\nBookmakers build a margin into every market. Add up the implied chances of home, draw and away and you usually get 104–108%, not 100%. That extra few percent is their edge. To win over time you have to find prices where your chance beats theirs by more than that margin, which is hard and rare.\n\n## How we show value\n\nOn every match we show our chance next to the best price we found. When our chance is clearly higher than the price implies, the pick gets a **Value** tag.\n\nMost matches have no real value at all, and we say so: when nothing stands out, we give you our most likely sensible pick instead of pretending.\n\n## Three honest warnings\n\n- **Value is not certainty.** A 55% value pick still loses 45% of the time.\n- **Short runs are noise.** You can bet well and lose for weeks, or badly and win for weeks. Only long runs tell you much.\n- **Accumulators multiply the margin.** Every extra leg stacks another bookmaker margin on top, so long accas almost never offer value.\n\nThat is why we log every pick, win or lose, on our public [track record](/track-record), and why Cortex, our model, keeps checking its own chances against what actually happens.\n\nPlease bet responsibly, and only with money you can afford to lose.`}];export function postBySlug(slug){return POSTS.find(p=>p.slug===slug);}\nexport const __FramerMetadata__ = {\"exports\":{\"AUTHORS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"POSTS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"postBySlug\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Post\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BVPosts.map","// Blog: the /blog index and one article per post. Posts live in BVPosts.tsx (code, not Framer CMS).\n// Index mode lists every post with category filters. Article mode renders one post by slug: light markdown body,\n// live picks from the engine for the post's matchIds, FAQ, author box, an 18+ block and more posts.\n// SEO: title, description, canonical and Open Graph are set client side (never on the Framer canvas); the JSON-LD is\n// rendered in the component's own markup, so it is in the served HTML for Google.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useMemo,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{BRAND,C,SANS,DISPLAY,LABEL,Logo,Crest,LeagueLogo,leagueBySlug,useBV,useBVGlobals,useWidth,isEditor,pct,odds}from\"https://framerusercontent.com/modules/EZptLJalFDyuo9exD2bV/tg6ErKDjRUMOc2CcQf7l/BVSite.js\";import{POSTS,AUTHORS,postBySlug}from\"https://framerusercontent.com/modules/NX0I2nWxui3Csq8Ki2zf/OuUEwflaghIr2z3Wzgx2/BVPosts.js\";import{picksOf}from\"https://framerusercontent.com/modules/HBQkrmQDXwANUG11NtSU/JxMn4J6IwLn6yc3ZJ6iw/BVPicks.js\";import{AddToSlip,SlipDock}from\"https://framerusercontent.com/modules/moY7rM1wnI21sjGDDaqj/ARTzhGT46fAmo4YK9yN8/BVSlip.js\";const SITE=`https://${BRAND.domain}`;const CATEGORIES=[\"Match preview\",\"Guide\",\"Column\",\"Tips\",\"Track record\"];const INDEX_TITLE=\"Football Predictions & Betting Guides | Bookie Verdict\";const INDEX_DESC=\"Football predictions, match previews and plain-English betting guides from Bookie Verdict: our model's chances, the best prices and a public record of every pick.\";const GOLD_LINE=\"rgba(255,201,77,.35)\";const sorted=()=>POSTS.slice().sort((a,b)=>b.published.localeCompare(a.published));const fmtDate=iso=>{try{return new Date(iso).toLocaleDateString(\"en-GB\",{day:\"numeric\",month:\"short\",year:\"numeric\",timeZone:\"UTC\"});}catch{return iso.slice(0,10);}};const sameDay=(a,b)=>fmtDate(a)===fmtDate(b);const slugify=s=>s.toLowerCase().replace(/\\*\\*/g,\"\").replace(/[^a-z0-9]+/g,\"-\").replace(/^-+|-+$/g,\"\");/** True on the Framer canvas or thumbnail: never touch the editor's document head there. */function onCanvas(){try{const t=RenderTarget.current();if(t===RenderTarget.canvas||t===RenderTarget.thumbnail)return true;}catch{}return isEditor();}/** Strictly the Framer canvas (never server rendering), so the slug fallback below can't cause a hydration mismatch. */function strictCanvas(){try{const t=RenderTarget.current();return t===RenderTarget.canvas||t===RenderTarget.thumbnail;}catch{return false;}}// ---------- light markdown ----------\n// \"## \" h2 (with an id), \"- \" list items, **bold**, [text](url) and blank-line paragraphs. Everything else is text,\n// rendered as React text nodes (React escapes it), so no raw HTML ever reaches the page.\nconst safeHref=u=>/^(\\/|#|https?:\\/\\/|mailto:)/i.test(u.trim())?u.trim():\"#\";function inline(src,key){const out=[];const re=/\\*\\*([^*]+)\\*\\*|\\[([^\\]]+)\\]\\(([^)\\s]+)\\)/g;let last=0;let m;let i=0;while(m=re.exec(src)){if(m.index>last)out.push(src.slice(last,m.index));if(m[1]!==undefined)out.push(/*#__PURE__*/_jsx(\"strong\",{children:inline(m[1],`${key}b${i}`)},`${key}b${i++}`));else{const href=safeHref(m[3]);const ext=/^https?:\\/\\//i.test(href)&&!href.includes(BRAND.domain);out.push(/*#__PURE__*/_jsx(\"a\",{href:href,target:ext?\"_blank\":undefined,rel:ext?\"noopener noreferrer\":undefined,children:m[2]},`${key}a${i++}`));}last=re.lastIndex;}if(last<src.length)out.push(src.slice(last));return out;}export function Markdown({body}){const blocks=[];const lines=body.replace(/\\r\\n/g,\"\\n\").split(\"\\n\");let para=[];let list=[];const ids={};const flushPara=()=>{if(para.length)blocks.push(/*#__PURE__*/_jsx(\"p\",{children:inline(para.join(\" \"),`p${blocks.length}`)},`p${blocks.length}`));para=[];};const flushList=()=>{if(list.length)blocks.push(/*#__PURE__*/_jsx(\"ul\",{children:list.map((li,j)=>/*#__PURE__*/_jsx(\"li\",{children:inline(li,`u${blocks.length}-${j}`)},j))},`u${blocks.length}`));list=[];};for(const raw of lines){const line=raw.trim();if(!line){flushPara();flushList();}else if(line.startsWith(\"## \")){flushPara();flushList();const text=line.slice(3).trim();let id=slugify(text)||\"section\";ids[id]=(ids[id]||0)+1;if(ids[id]>1)id=`${id}-${ids[id]}`;blocks.push(/*#__PURE__*/_jsx(\"h2\",{id:id,children:inline(text,`h${blocks.length}`)},`h${blocks.length}`));}else if(line.startsWith(\"- \")){flushPara();list.push(line.slice(2));}else{flushList();para.push(line);}}flushPara();flushList();return /*#__PURE__*/_jsx(\"div\",{className:\"bvb-prose\",children:blocks});}// ---------- SEO (client side) ----------\nfunction useHead(seo){useEffect(()=>{if(!seo||typeof document===\"undefined\"||onCanvas())return;const head=document.head;const restore=[];const prevTitle=document.title;document.title=seo.title;restore.push(()=>document.title=prevTitle);const upsert=(sel,make,attr,value)=>{let el=head.querySelector(sel);if(!el){el=make();head.appendChild(el);const made=el;restore.push(()=>made.remove());}else{const prev=el.getAttribute(attr);const kept=el;restore.push(()=>prev===null?kept.removeAttribute(attr):kept.setAttribute(attr,prev));}el.setAttribute(attr,value);};const meta=(key,k,v)=>upsert(`meta[${key}=\"${k}\"]`,()=>{const m=document.createElement(\"meta\");m.setAttribute(key,k);return m;},\"content\",v);meta(\"name\",\"description\",seo.description);meta(\"property\",\"og:title\",seo.title);meta(\"property\",\"og:description\",seo.description);meta(\"property\",\"og:url\",seo.canonical);meta(\"property\",\"og:type\",seo.type);upsert('link[rel=\"canonical\"]',()=>{const l=document.createElement(\"link\");l.setAttribute(\"rel\",\"canonical\");return l;},\"href\",seo.canonical);return()=>restore.reverse().forEach(f=>f());},[seo&&seo.canonical,seo&&seo.title]);}/** JSON-LD as a safe script body: \"<\" is escaped so the data can never close the script tag. */const ldJson=o=>JSON.stringify(o).replace(/</g,\"\\\\u003c\");// The post body may say the boxes below \"update through the day\". That is only true while the matches are still to\n// play, and Google keeps whatever the served HTML says. So the served (and pre-settle) text is a neutral line that is\n// true in both states, and once every match is settled readers see the settled line instead.\nconst STALE_LINE=/Live prices and picks are in the boxes below\\s+and update through the day\\.?/g;const NEUTRAL_LINE=\"Prices and picks are in the boxes below.\";const SETTLED_LINE=\"These matches have finished, so the picks below are now settled.\";const publisher={\"@type\":\"Organization\",name:BRAND.name,url:SITE+\"/\",logo:{\"@type\":\"ImageObject\",url:`${SITE}/favicon.png`}};function articleSeo(p){const url=`${SITE}/blog/${p.slug}`;const a=AUTHORS[p.author];const graph=[{\"@type\":\"Article\",headline:p.title,description:p.description,datePublished:p.published,dateModified:p.updated||p.published,author:{\"@type\":p.author===\"gaffer\"?\"Person\":\"Organization\",name:a.name,url:`${SITE}/about`},publisher,mainEntityOfPage:{\"@type\":\"WebPage\",\"@id\":url},articleSection:p.category,inLanguage:\"en\"},{\"@type\":\"BreadcrumbList\",itemListElement:[{\"@type\":\"ListItem\",position:1,name:\"Home\",item:SITE+\"/\"},{\"@type\":\"ListItem\",position:2,name:\"Blog\",item:`${SITE}/blog`},{\"@type\":\"ListItem\",position:3,name:p.title,item:url}]}];if(p.faq&&p.faq.length)graph.push({\"@type\":\"FAQPage\",mainEntity:p.faq.map(f=>({\"@type\":\"Question\",name:f.q,acceptedAnswer:{\"@type\":\"Answer\",text:f.a}}))});return{title:p.seoTitle||`${p.title} | ${BRAND.name}`,description:p.description,canonical:url,type:\"article\",jsonld:{\"@context\":\"https://schema.org\",\"@graph\":graph}};}function indexSeo(){const url=`${SITE}/blog`;return{title:INDEX_TITLE,description:INDEX_DESC,canonical:url,type:\"website\",jsonld:{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":[\"Blog\",\"CollectionPage\"],\"@id\":url,url,name:\"Football predictions & guides\",description:INDEX_DESC,publisher,inLanguage:\"en\",blogPost:sorted().map(p=>({\"@type\":\"BlogPosting\",headline:p.title,url:`${SITE}/blog/${p.slug}`,datePublished:p.published,dateModified:p.updated||p.published,author:{\"@type\":p.author===\"gaffer\"?\"Person\":\"Organization\",name:AUTHORS[p.author].name}}))},{\"@type\":\"BreadcrumbList\",itemListElement:[{\"@type\":\"ListItem\",position:1,name:\"Home\",item:SITE+\"/\"},{\"@type\":\"ListItem\",position:2,name:\"Blog\",item:url}]}]}};}// ---------- styles ----------\nconst CSS=`\n.bvb-card{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit;background:${C.card};border:1px solid ${C.line};border-radius:22px;padding:24px;min-width:0;transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .25s ease,box-shadow .25s ease,background-color .25s ease}\n.bvb-card:hover,.bvb-card:focus-visible{transform:translateY(-3px);border-color:${GOLD_LINE} !important;box-shadow:0 0 0 1px rgba(255,201,77,.12),0 18px 48px -18px rgba(255,201,77,.28);background:#141416}\n.bvb-card:hover .bvb-more{color:${C.gold}}\n.bvb-card:hover .bvb-arrow{transform:translateX(3px)}\n.bvb-arrow{display:inline-block;transition:transform .2s ease}\n.bvb-pill{height:36px;padding:0 16px;border-radius:999px;border:1px solid ${C.line};background:transparent;color:${C.body};font-family:${SANS};font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease}\n.bvb-pill:hover{border-color:rgba(255,255,255,.28);color:${C.ink}}\n.bvb-pill[aria-pressed=true]{background:${C.ink};border-color:${C.ink};color:#050506}\n.bvb-prose{font-family:${SANS};font-size:18px;line-height:1.7;color:${C.body}}\n.bvb-prose p{margin:0 0 22px}\n.bvb-prose h2{font-family:${DISPLAY};font-weight:600;font-size:28px;line-height:1.2;letter-spacing:-.025em;color:${C.ink};margin:48px 0 14px;scroll-margin-top:96px}\n.bvb-prose ul{margin:0 0 24px;padding-left:22px}\n.bvb-prose li{margin:0 0 8px;padding-left:4px}\n.bvb-prose li::marker{color:${C.gold}}\n.bvb-prose strong{color:${C.ink};font-weight:600}\n.bvb-prose a,.bvb-text a{color:${C.ink};text-decoration:underline;text-decoration-color:${GOLD_LINE};text-decoration-thickness:1px;text-underline-offset:4px;transition:text-decoration-color .15s ease}\n.bvb-prose a:hover,.bvb-text a:hover{text-decoration-color:${C.gold}}\n.bvb-crumb a{color:${C.muted};text-decoration:none}\n.bvb-crumb a:hover{color:${C.ink}}\n.bvb-faq summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;font-family:${SANS};font-size:17px;font-weight:600;color:${C.ink};letter-spacing:-.01em}\n.bvb-faq summary::-webkit-details-marker{display:none}\n.bvb-faq summary{list-style:none}\n.bvb-faq details[open] .bvb-plus{transform:rotate(45deg)}\n.bvb-plus{transition:transform .2s ease;flex-shrink:0;color:${C.gold}}\n.bvb-match{transition:border-color .25s ease}\n.bvb-match:hover{border-color:rgba(255,255,255,.16) !important}\n@media (prefers-reduced-motion: reduce){.bvb-card,.bvb-card:hover,.bvb-card:focus-visible{transform:none !important;transition:none !important}.bvb-arrow,.bvb-plus{transition:none !important}}\n`;// ---------- small pieces ----------\nfunction Avatar({author,size=36}){if(author===\"gaffer\")return /*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{width:size,height:size,borderRadius:999,flexShrink:0,display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",background:\"linear-gradient(135deg,#F7D27A,#E0A93A)\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:size*.58,height:size*.58,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"#050506\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"9\",cy:\"14\",r:\"5\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12.6 10.5L21 8v4.5l-6.2 1.2\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"9\",cy:\"14\",r:\"1.2\",fill:\"#050506\",stroke:\"none\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M5.5 9.5L3 5\"})]})});return /*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{width:size,height:size,borderRadius:999,overflow:\"hidden\",flexShrink:0,display:\"inline-flex\"},children:/*#__PURE__*/_jsx(Logo,{size:size})});}function Meta({p,compact}){return /*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",flexWrap:\"wrap\",alignItems:\"center\",gap:\"4px 8px\",fontFamily:SANS,fontSize:compact?13:13.5,color:C.muted},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:C.body,fontWeight:500},children:AUTHORS[p.author].name}),/*#__PURE__*/_jsxs(\"span\",{style:{whiteSpace:\"nowrap\"},children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",children:\"\\xb7 \"}),/*#__PURE__*/_jsx(\"time\",{dateTime:p.published,children:fmtDate(p.published)})]}),/*#__PURE__*/_jsxs(\"span\",{style:{whiteSpace:\"nowrap\"},children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",children:\"\\xb7 \"}),p.readMins,\" min read\"]})]});}function Kicker({children}){return /*#__PURE__*/_jsx(\"span\",{style:{fontFamily:SANS,fontSize:12.5,fontWeight:600,letterSpacing:\".06em\",textTransform:\"uppercase\",color:C.gold},children:children});}function PostCard({p,featured=false}){return /*#__PURE__*/_jsxs(\"a\",{className:\"bvb-card\",href:`/blog/${p.slug}`,style:featured?{padding:32,gap:16,background:\"linear-gradient(160deg, rgba(242,193,78,.07), rgba(17,17,19,1) 55%)\"}:undefined,children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:12},children:[/*#__PURE__*/_jsx(Kicker,{children:p.category}),featured&&/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:SANS,fontSize:12.5,fontWeight:500,color:C.muted},children:\"Latest\"})]}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:DISPLAY,fontWeight:600,fontSize:featured?30:21,lineHeight:1.2,letterSpacing:\"-0.025em\",color:C.ink},children:p.title}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:SANS,fontSize:featured?16.5:15,lineHeight:1.6,color:C.body,flex:1},children:p.excerpt}),/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:12,flexWrap:\"wrap\",paddingTop:6},children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:10,minWidth:0},children:[/*#__PURE__*/_jsx(Avatar,{author:p.author,size:28}),/*#__PURE__*/_jsx(Meta,{p:p,compact:true})]}),/*#__PURE__*/_jsxs(\"span\",{className:\"bvb-more\",style:{fontFamily:SANS,fontSize:14,fontWeight:600,color:C.ink,transition:\"color .2s ease\",whiteSpace:\"nowrap\"},children:[\"Read \",/*#__PURE__*/_jsx(\"span\",{className:\"bvb-arrow\",children:\"→\"})]})]})]});}// ---------- index ----------\nfunction Index({width}){const compact=width<700;const all=useMemo(sorted,[]);const cats=CATEGORIES.filter(c=>all.some(p=>p.category===c));const[cat,setCat]=useState(\"All\");useEffect(()=>{try{const q=new URLSearchParams(window.location.search).get(\"category\");if(q&&cats.includes(q))setCat(q);}catch{}},[]);const shown=cat===\"All\"?all:all.filter(p=>p.category===cat);const cols=width>=1e3?3:width>=640?2:1;return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:compact?24:32},children:[/*#__PURE__*/_jsxs(\"header\",{style:{display:\"flex\",flexDirection:\"column\",gap:14,paddingTop:compact?28:56,maxWidth:760},children:[/*#__PURE__*/_jsx(Kicker,{children:\"Blog\"}),/*#__PURE__*/_jsx(\"h1\",{className:\"bv-disp\",style:{margin:0,fontSize:compact?40:60,color:C.ink},children:\"Football predictions & guides\"}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontFamily:SANS,fontSize:compact?17:19,lineHeight:1.6,color:C.body},children:\"Match previews from our model, plain-English betting guides and the odd column, all with the working shown.\"})]}),cats.length>1&&/*#__PURE__*/_jsx(\"div\",{role:\"group\",\"aria-label\":\"Filter posts by category\",className:\"bv-noscroll\",style:{display:\"flex\",gap:8,overflowX:\"auto\",margin:compact?\"0 -16px\":0,padding:compact?\"2px 16px\":\"2px 0\"},children:[\"All\",...cats].map(c=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"bvb-pill\",\"aria-pressed\":cat===c,onClick:()=>setCat(c),children:c},c))}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:`repeat(${cols}, minmax(0,1fr))`,gap:compact?14:18},children:shown.map((p,i)=>/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",gridColumn:i===0&&cat===\"All\"&&cols>1?`span ${Math.min(2,cols)}`:undefined},children:/*#__PURE__*/_jsx(PostCard,{p:p,featured:i===0&&cat===\"All\"&&cols>1})},p.slug))}),!shown.length&&/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontFamily:SANS,color:C.muted},children:\"No posts in this category yet.\"})]});}// ---------- live picks ----------\nconst statusLabel=m=>m.status===\"FT\"?\"Full time\":m.status===\"HT\"?\"Half time\":m.status===\"LIVE\"?m.minute?`Live ${m.minute}'`:\"Live\":m.status===\"PST\"?\"Postponed\":m.status===\"CANC\"?\"Cancelled\":\"\";/** A match that can no longer change: full time, postponed or cancelled. */const isDone=m=>m.status===\"FT\"||m.status===\"PST\"||m.status===\"CANC\";const localKickoff=iso=>{try{return new Date(iso).toLocaleString(undefined,{weekday:\"short\",day:\"numeric\",month:\"short\",hour:\"2-digit\",minute:\"2-digit\"});}catch{return\"\";}};function MatchCard({m,compact}){const started=m.status!==\"NS\";const live=m.status===\"LIVE\"||m.status===\"HT\";const hasScore=started&&m.score&&typeof m.score.home===\"number\";const ps=picksOf(m,3);const lg=leagueBySlug(m.league);const team=(t,goals)=>/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",alignItems:\"center\",gap:10,minWidth:0},children:[/*#__PURE__*/_jsx(Crest,{name:t.name,logo:t.logo,size:26}),/*#__PURE__*/_jsx(\"span\",{style:{flex:1,minWidth:0,fontFamily:SANS,fontSize:16.5,fontWeight:600,letterSpacing:\"-0.015em\",color:C.ink,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:t.name}),hasScore&&/*#__PURE__*/_jsx(\"span\",{className:\"bv-num\",style:{fontFamily:SANS,fontSize:18,fontWeight:600,color:C.ink},children:goals})]});return /*#__PURE__*/_jsxs(\"div\",{className:\"bvb-match\",style:{display:\"flex\",flexDirection:\"column\",gap:14,padding:compact?16:20,borderRadius:20,background:C.card,border:`1px solid ${C.line}`,minWidth:0},children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:10},children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:8,minWidth:0},children:[lg&&/*#__PURE__*/_jsx(LeagueLogo,{src:lg.logo,size:18}),/*#__PURE__*/_jsx(\"span\",{style:{...LABEL,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:lg?.name||m.league})]}),started?/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:6,fontFamily:SANS,fontSize:12.5,fontWeight:600,color:live?C.red:C.muted,whiteSpace:\"nowrap\"},children:[live&&/*#__PURE__*/_jsx(\"span\",{className:\"bv-live\",\"aria-hidden\":\"true\",style:{width:7,height:7,borderRadius:99,background:C.red}}),statusLabel(m)]}):/*#__PURE__*/_jsx(\"time\",{dateTime:m.kickoff,className:\"bv-num\",style:{fontFamily:SANS,fontSize:12.5,fontWeight:500,color:C.body,whiteSpace:\"nowrap\"},children:localKickoff(m.kickoff)})]}),/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",flexDirection:\"column\",gap:8},children:[team(m.home,m.score?.home),team(m.away,m.score?.away)]}),ps.length>0?/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",borderTop:`1px solid ${C.line}`},children:ps.map((p,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:10,padding:\"10px 0\",borderBottom:i<ps.length-1?`1px solid ${C.line}`:undefined,minWidth:0},children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",flexDirection:\"column\",gap:2,flex:1,minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:SANS,fontSize:11.5,fontWeight:600,color:i===0?C.gold:C.muted},children:started?\"Our pick before kick-off\":[\"Top pick\",\"2nd pick\",\"3rd pick\"][i]}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:SANS,fontSize:14.5,fontWeight:600,color:C.ink,lineHeight:1.3},children:p.pick})]}),/*#__PURE__*/_jsxs(\"span\",{className:\"bv-num\",style:{display:\"flex\",flexDirection:\"column\",alignItems:\"flex-end\",gap:2,flexShrink:0,fontFamily:SANS},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14.5,fontWeight:600,color:C.ink},children:pct(p.prob)}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:12,color:p.price?C.gold:C.muted},children:p.price?`@ ${odds(p.price)}`:`fair ${odds(1/p.prob)}`})]}),!started&&/*#__PURE__*/_jsx(AddToSlip,{m:m,p:{market:p.market,pick:p.pick,prob:p.prob,price:p.price,short:p.short},icon:true})]},p.market+p.pick))}):/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontFamily:SANS,fontSize:13.5,color:C.muted},children:\"No pick for this match yet.\"}),/*#__PURE__*/_jsxs(\"a\",{href:`/?match=${encodeURIComponent(m.id)}`,className:\"bv-link\",style:{alignSelf:\"flex-start\",fontFamily:SANS,fontSize:14,fontWeight:600,color:C.ink,textDecoration:\"none\"},children:[\"See full analysis \",/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",children:\"→\"})]})]});}function LivePicks({ids,compact,width,onSettled}){const{data,error,sample,retry}=useBV(\"\",{action:\"matches\",league:\"all\",days:7},ids.length>0);const all=data?.matches||[];const found=sample?all.slice(0,ids.length):ids.map(id=>all.find(m=>String(m.id)===String(id))).filter(Boolean);const missing=data&&!sample?ids.length-found.length:0;// Settled: real data has loaded and every match in this post is finished or has left the feed, so nothing can change.\nconst settled=!!data&&!sample&&ids.length>0&&found.every(isDone);useEffect(()=>{if(onSettled)onSettled(settled);},[settled]);const cols=width>=900?2:1;return /*#__PURE__*/_jsxs(\"section\",{\"aria-labelledby\":\"bvb-live\",style:{display:\"flex\",flexDirection:\"column\",gap:14},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:6},children:[/*#__PURE__*/_jsx(\"h2\",{id:\"bvb-live\",className:\"bv-disp\",style:{margin:0,fontSize:compact?26:30,color:C.ink},children:settled?\"Our picks\":\"Live picks\"}),settled?/*#__PURE__*/_jsxs(\"p\",{className:\"bvb-text\",style:{margin:0,fontFamily:SANS,fontSize:14.5,lineHeight:1.55,color:C.muted},children:[\"These matches have finished, so these picks are now settled. See how every pick did, win or lose, on our \",/*#__PURE__*/_jsx(\"a\",{href:\"/track-record\",children:\"track record\"}),\".\"]}):/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,fontFamily:SANS,fontSize:14.5,lineHeight:1.55,color:C.muted},children:[sample?\"Example matches shown in the editor. The live site shows this post's matches. \":\"\",\"Straight from our model. Kick-off times are in your local time.\"]})]}),!data&&!error&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:`repeat(${cols}, minmax(0,1fr))`,gap:12},\"aria-busy\":\"true\",\"aria-label\":\"Loading live picks\",children:ids.slice(0,4).map(id=>/*#__PURE__*/_jsx(\"div\",{className:\"bv-skel\",style:{height:250,borderRadius:20}},id))}),error&&!data&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:12,flexWrap:\"wrap\",padding:18,borderRadius:18,border:`1px solid ${C.line}`,background:C.card},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:SANS,fontSize:15,color:C.body},children:\"The live picks didn't load. The rest of the article is still here.\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"bvb-pill\",onClick:retry,children:\"Try again\"})]}),found.length>0&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:`repeat(${cols}, minmax(0,1fr))`,gap:12},children:found.map(m=>/*#__PURE__*/_jsx(MatchCard,{m:m,compact:compact},m.id))}),missing>0&&!settled&&/*#__PURE__*/_jsxs(\"p\",{className:\"bvb-text\",style:{margin:0,fontFamily:SANS,fontSize:14,lineHeight:1.55,color:C.muted},children:[missing===ids.length?\"These matches are\":missing===1?\"One match is\":`${missing} matches are`,\" no longer in our live feed. Every settled pick is on our \",/*#__PURE__*/_jsx(\"a\",{href:\"/track-record\",children:\"track record\"}),\".\"]}),found.length>0&&!sample&&!settled&&/*#__PURE__*/_jsx(SlipDock,{compact:(typeof window!==\"undefined\"?window.innerWidth:width)<760})]});}// ---------- article ----------\nfunction Article({p,width}){const compact=width<700;const a=AUTHORS[p.author];const more=sorted().filter(x=>x.slug!==p.slug).slice(0,3);const updated=p.updated&&!sameDay(p.updated,p.published);const narrow={width:\"100%\",maxWidth:720,margin:\"0 auto\"};const moreCols=width>=1e3?3:width>=640?2:1;// Set by the picks box once every match in this post has finished; before that (and on the server) it is false,\n// so the served HTML carries the neutral line and readers get the settled line once nothing can change.\nconst[settled,setSettled]=useState(false);const body=p.body.replace(STALE_LINE,settled?SETTLED_LINE:NEUTRAL_LINE);return /*#__PURE__*/_jsxs(\"article\",{style:{display:\"flex\",flexDirection:\"column\",gap:compact?36:48,paddingTop:compact?20:40},children:[/*#__PURE__*/_jsxs(\"header\",{style:{...narrow,display:\"flex\",flexDirection:\"column\",gap:compact?16:20},children:[/*#__PURE__*/_jsx(\"nav\",{\"aria-label\":\"Breadcrumb\",className:\"bvb-crumb\",children:/*#__PURE__*/_jsxs(\"ol\",{style:{listStyle:\"none\",margin:0,padding:0,display:\"flex\",flexWrap:\"wrap\",alignItems:\"center\",gap:8,fontFamily:SANS,fontSize:13.5,color:C.muted},children:[/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"a\",{href:\"/\",children:\"Home\"})}),/*#__PURE__*/_jsx(\"li\",{\"aria-hidden\":\"true\",children:\"›\"}),/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"a\",{href:\"/blog\",children:\"Blog\"})}),/*#__PURE__*/_jsx(\"li\",{\"aria-hidden\":\"true\",children:\"›\"}),/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"a\",{href:`/blog?category=${encodeURIComponent(p.category)}`,\"aria-current\":\"page\",style:{color:C.gold},children:p.category})})]})}),/*#__PURE__*/_jsx(\"h1\",{className:\"bv-disp\",style:{margin:0,fontSize:compact?34:50,lineHeight:1.06,color:C.ink,...{textWrap:\"balance\"}},children:p.title}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontFamily:SANS,fontSize:compact?18:21,lineHeight:1.55,color:C.body,letterSpacing:\"-0.01em\"},children:p.excerpt}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:12,paddingTop:16,borderTop:`1px solid ${C.line}`},children:[/*#__PURE__*/_jsx(Avatar,{author:p.author,size:42}),/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",flexDirection:\"column\",gap:3,minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:SANS,fontSize:15,fontWeight:600,color:C.ink},children:a.name}),/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:\"2px 8px\",fontFamily:SANS,fontSize:13.5,color:C.muted},children:[/*#__PURE__*/_jsx(\"time\",{dateTime:p.published,children:fmtDate(p.published)}),updated&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",children:\"\\xb7\"}),/*#__PURE__*/_jsxs(\"span\",{children:[\"Updated \",/*#__PURE__*/_jsx(\"time\",{dateTime:p.updated,children:fmtDate(p.updated)})]})]}),/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",children:\"\\xb7\"}),/*#__PURE__*/_jsxs(\"span\",{children:[p.readMins,\" min read\"]})]})]})]})]}),/*#__PURE__*/_jsx(\"div\",{style:narrow,children:/*#__PURE__*/_jsx(Markdown,{body:body})}),p.matchIds&&p.matchIds.length>0&&/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",maxWidth:920,margin:\"0 auto\"},children:/*#__PURE__*/_jsx(LivePicks,{ids:p.matchIds,compact:compact,width:width,onSettled:setSettled})}),p.faq&&p.faq.length>0&&/*#__PURE__*/_jsxs(\"section\",{\"aria-labelledby\":\"bvb-faq\",className:\"bvb-faq\",style:narrow,children:[/*#__PURE__*/_jsx(\"h2\",{id:\"bvb-faq\",className:\"bv-disp\",style:{margin:\"0 0 6px\",fontSize:compact?26:30,color:C.ink},children:\"Questions\"}),/*#__PURE__*/_jsx(\"div\",{style:{borderTop:`1px solid ${C.line}`},children:p.faq.map(f=>/*#__PURE__*/_jsxs(\"details\",{style:{borderBottom:`1px solid ${C.line}`},children:[/*#__PURE__*/_jsxs(\"summary\",{children:[/*#__PURE__*/_jsx(\"span\",{children:f.q}),/*#__PURE__*/_jsx(\"svg\",{className:\"bvb-plus\",width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 5v14M5 12h14\"})})]}),/*#__PURE__*/_jsx(\"p\",{style:{margin:\"0 0 20px\",fontFamily:SANS,fontSize:16.5,lineHeight:1.7,color:C.body},children:f.a})]},f.q))})]}),/*#__PURE__*/_jsxs(\"section\",{\"aria-label\":\"About the author\",style:{...narrow,display:\"flex\",gap:16,alignItems:\"flex-start\",padding:compact?18:24,borderRadius:22,background:C.card,border:`1px solid ${C.line}`,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(Avatar,{author:p.author,size:52}),/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",flexDirection:\"column\",gap:6,minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:SANS,fontSize:12.5,fontWeight:600,color:C.muted},children:\"Written by\"}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:SANS,fontSize:18,fontWeight:600,color:C.ink,letterSpacing:\"-0.015em\"},children:a.name}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:SANS,fontSize:15,lineHeight:1.6,color:C.body},children:a.bio})]})]}),/*#__PURE__*/_jsxs(\"aside\",{\"aria-label\":\"Responsible gambling\",className:\"bvb-text\",style:{...narrow,display:\"flex\",gap:14,alignItems:\"flex-start\",padding:compact?18:22,borderRadius:18,border:`1px solid ${GOLD_LINE}`,background:\"rgba(242,193,78,.05)\",boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{flexShrink:0,width:38,height:38,borderRadius:999,border:`1.5px solid ${C.gold}`,color:C.gold,display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",fontFamily:SANS,fontSize:13,fontWeight:700},children:\"18+\"}),/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",flexDirection:\"column\",gap:6,fontFamily:SANS,fontSize:15,lineHeight:1.6,color:C.body},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:C.ink,fontWeight:500},children:\"18+. Odds can change. No prediction is guaranteed. Please bet responsibly.\"}),/*#__PURE__*/_jsxs(\"span\",{children:[\"Free, confidential help is available at\",\" \",/*#__PURE__*/_jsx(\"a\",{href:\"https://www.begambleaware.org\",target:\"_blank\",rel:\"noopener noreferrer\",children:\"BeGambleAware.org\"}),\". Tools and limits on our \",/*#__PURE__*/_jsx(\"a\",{href:\"/responsible-gambling\",children:\"responsible gambling\"}),\" page.\"]})]})]}),more.length>0&&/*#__PURE__*/_jsxs(\"section\",{\"aria-labelledby\":\"bvb-more\",style:{display:\"flex\",flexDirection:\"column\",gap:16,paddingTop:compact?8:16},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"baseline\",justifyContent:\"space-between\",gap:12},children:[/*#__PURE__*/_jsx(\"h2\",{id:\"bvb-more\",className:\"bv-disp\",style:{margin:0,fontSize:compact?26:30,color:C.ink},children:\"More from the blog\"}),/*#__PURE__*/_jsx(\"a\",{href:\"/blog\",className:\"bv-link\",style:{fontFamily:SANS,fontSize:14,fontWeight:600,color:C.body,whiteSpace:\"nowrap\"},children:\"All posts →\"})]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:`repeat(${moreCols}, minmax(0,1fr))`,gap:14},children:more.map(x=>/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\"},children:/*#__PURE__*/_jsx(PostCard,{p:x})},x.slug))})]})]});}function NotFound(){return /*#__PURE__*/_jsxs(\"div\",{style:{maxWidth:720,margin:\"0 auto\",padding:\"64px 0\",display:\"flex\",flexDirection:\"column\",gap:14},children:[/*#__PURE__*/_jsx(\"h1\",{className:\"bv-disp\",style:{margin:0,fontSize:40,color:C.ink},children:\"Post not found\"}),/*#__PURE__*/_jsxs(\"p\",{className:\"bvb-text\",style:{margin:0,fontFamily:SANS,fontSize:18,lineHeight:1.6,color:C.body},children:[\"This post may have moved. See \",/*#__PURE__*/_jsx(\"a\",{href:\"/blog\",children:\"all posts\"}),\".\"]})]});}/**\n * BV Blog\n *\n * @framerIntrinsicWidth 1200\n * @framerIntrinsicHeight 1400\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function BVBlog(props){useBVGlobals();const[ref,width]=useWidth();const compact=width<700;const mode=props.mode===\"article\"?\"article\":\"index\";// On the canvas an article instance without a valid slug previews the newest post, so it never renders empty.\nconst post=mode===\"article\"?postBySlug((props.slug||\"\").trim())||(strictCanvas()?sorted()[0]:undefined):undefined;const seo=useMemo(()=>mode===\"index\"?indexSeo():post?articleSeo(post):null,[mode,post&&post.slug]);useHead(seo);return /*#__PURE__*/_jsxs(\"section\",{ref:ref,className:\"bv\",style:{...props.style,width:\"100%\",fontFamily:SANS,color:C.ink},children:[/*#__PURE__*/_jsx(\"style\",{children:CSS}),seo&&!strictCanvas()&&/*#__PURE__*/_jsx(\"script\",{type:\"application/ld+json\",dangerouslySetInnerHTML:{__html:ldJson(seo.jsonld)}}),/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",maxWidth:1160,margin:\"0 auto\",padding:compact?\"0 16px 48px\":\"0 24px 72px\",boxSizing:\"border-box\"},children:mode===\"index\"?/*#__PURE__*/_jsx(Index,{width:width}):post?/*#__PURE__*/_jsx(Article,{p:post,width:width}):/*#__PURE__*/_jsx(NotFound,{})})]});}addPropertyControls(BVBlog,{mode:{type:ControlType.Enum,title:\"Mode\",options:[\"index\",\"article\"],optionTitles:[\"Index\",\"Article\"],defaultValue:\"index\",displaySegmentedControl:true},slug:{type:ControlType.String,title:\"Slug\",defaultValue:\"\",placeholder:\"how-our-football-predictions-work\",hidden:p=>p.mode!==\"article\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BVBlog\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"1400\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"1200\",\"framerSupportedLayoutHeight\":\"auto\"}},\"Markdown\":{\"type\":\"reactComponent\",\"name\":\"Markdown\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BVBlog.map"],"mappings":"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"}