{"id":78394,"date":"2026-10-22T21:23:41","date_gmt":"2026-10-23T01:23:41","guid":{"rendered":"https:\/\/www.squawka.com\/us\/?post_type=news&#038;p=78394"},"modified":"2026-10-22T21:32:29","modified_gmt":"2026-10-23T01:32:29","slug":"match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls","status":"publish","type":"news","link":"https:\/\/www.squawka.com\/us\/news\/mls\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\/","title":{"rendered":"St. Louis City SC vs Portland Timbers: Predictions, Picks, Odds &#038; Lineups"},"content":{"rendered":"<p><strong><a class=\"sq-club-link\" href=\"https:\/\/www.squawka.com\/us\/stats\/clubs\/st-louis-city\/\">St. Louis City SC<\/a> host <a class=\"sq-club-link\" href=\"https:\/\/www.squawka.com\/us\/stats\/clubs\/portland-timbers\/\">Portland Timbers<\/a> at CITYPARK on Wednesday, October 28 (8:30 PM ET \/ 7:30 PM CT \/ 5:30 PM PT).<\/strong><\/p>\n<p>There are no fresh fitness concerns on either side heading into this one. St. Louis City SC should have their full attacking group available, with Simon <a href=\"https:\/\/www.squawka.com\/us\/outright-markets\/mls-2026-golden-boot-betting-odds\/\">Becher<\/a>, Rafael Navarro Leal and Carl Holse Justesen all in the mix after contributing nine, eight and six goals respectively this season, while Daniel Edelman and Tomas Totland offer control through midfield. Portland Timbers will lean on Kristoffer Velde up front, with David Pereira da Costa and Ariel Lassiter supplying the midfield craft behind him.<\/p>\n<p>US viewers can watch St. Louis City SC vs Portland Timbers on Apple TV&#8217;s MLS Season Pass.<\/p>\n\n\n<style>\n.sq-bpg{--sig:#a8e039;--acc:#a8e039;--acc-ink:#0d2a08;--ink:#eaf5e6;--dim:#a7cbb8;--line:rgba(255,255,255,.10);\n --v-strong:#a8e039;--v-value:#7ee081;--v-fair:#9fb6aa;--v-priced:#f0b429;\n font-family:'Bricolage Grotesque',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);\n max-width:960px;margin:16px auto 26px;border-radius:16px;overflow:hidden;position:relative;\n background:linear-gradient(168deg,#0f3b2b 0%,#08281c 62%,#06211a 100%);box-shadow:0 18px 44px rgba(6,26,18,.34)}\n.sq-bpg *{box-sizing:border-box}\n.sq-bpg[data-comp=\"epl\"]{--acc:#6f00ff;--acc-ink:#fff}\n.sq-bpg[data-comp=\"ucl\"]{--acc:#022ce8;--acc-ink:#fff}\n.sq-bpg[data-comp=\"mls\"]{--acc:#e01e13;--acc-ink:#fff}\n.sq-bpg[data-comp=\"liga-mx\"]{--acc:#4c9540;--acc-ink:#fff}\n.sq-bpg__wrap{position:relative;z-index:1;padding:20px 26px 22px}\n.sq-bpg__r{position:absolute;width:0;height:0;opacity:0;pointer-events:none}\n.sqsh__top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}\n.sqsh__mark{display:inline-flex;align-items:center;gap:9px}\n.sqsh__mark svg{display:block}\n.sqsh__wm{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:14px;letter-spacing:.02em;color:var(--ink)}\n.sqsh__wm b{color:var(--sig)}\n.sqsh__geo{margin-left:auto;display:flex;align-items:center;gap:9px}\n.sqsh__geoq{font-size:11px;color:var(--dim);font-weight:600;white-space:nowrap}\n.sqsh__pills{display:inline-flex;background:rgba(255,255,255,.08);border-radius:999px;padding:3px;font-size:11px;font-weight:700}\n.sqsh__pills label{padding:5px 11px;border-radius:999px;cursor:pointer;color:var(--dim);white-space:nowrap;transition:.15s}\n.sq-bpg__r--us:checked ~ * .l-us,.sq-bpg__r--row:checked ~ * .l-row{color:var(--acc-ink);background:var(--acc)}\n@media(max-width:520px){.sqsh__geoq{display:none}}\n.sq-bpg__ttl{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:19px;line-height:1.15;letter-spacing:-.01em;margin:14px 0 0;color:var(--ink)}\n.sqsh__hero{margin:12px 0 2px}\n.sqsh__lead{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:18px;line-height:1.24;letter-spacing:-.01em;margin:0;text-wrap:balance}\n.sqsh__mk{color:var(--dim)}\n.sqsh__sg{color:var(--sig)}\n.sqsh__gap{display:inline-flex;align-items:center;gap:9px;margin-top:10px;padding:5px 12px;border-radius:8px;background:rgba(168,224,57,.13);border:1px solid rgba(168,224,57,.4)}\n.sqsh__gap--agree{background:rgba(255,255,255,.06);border-color:var(--line)}\n.sqsh__big{font-family:'Bricolage Grotesque',sans-serif;font-size:18px;font-weight:800;color:var(--sig);letter-spacing:-.02em}\n.sqsh__gap--agree .sqsh__big{color:#cfe0d6}\n.sqsh__lbl{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--sig)}\n.sqsh__gap--agree .sqsh__lbl{color:var(--dim)}\n.sqsh__note{margin:9px 0 0;font-size:12px;color:var(--dim);line-height:1.4}\n.sqsh__act{margin:14px 0 6px}\n.sq-bpg__list{margin-top:16px}\n.sqsh__head,.sq-bpg__row,.sqsh__r3{display:grid;grid-template-columns:1fr 52px 62px minmax(72px,auto) 20px;gap:10px;align-items:center}\n.sqsh__head{padding:0 2px 8px;border-bottom:1px solid var(--line)}\n.sqsh__head span{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);text-align:right}\n.sqsh__head span.l{text-align:left}\n.sq-bpg__row{padding:11px 2px;border-bottom:1px solid var(--line)}\n.sq-bpg__row:last-child{border-bottom:0}\n.sqsh__cell{text-align:right;font-variant-numeric:tabular-nums}\n.sqsh__mcell{text-align:left;min-width:0}\n.sqsh__mname{display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);font-weight:700}\n.sq-bpg__pk{display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:15px;color:var(--ink);line-height:1.18;letter-spacing:-.01em;margin-top:1px}\n.sq-bpg__why{display:none}\n.sqsh__mk-n{font-size:14px;font-weight:700;color:var(--dim)}\n.sqsh__sg-n{font-size:15px;font-weight:800;color:var(--sig)}\n.sq-bpg__vd{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.03em;padding:3px 8px;border-radius:6px;white-space:nowrap;text-align:center}\n.sq-bpg__vd--strong{background:var(--v-strong);color:#0d2a08}\n.sq-bpg__vd--value{background:rgba(126,224,129,.16);color:var(--v-value);border:1px solid rgba(126,224,129,.4)}\n.sq-bpg__vd--fair{color:var(--v-fair);border:1px dashed rgba(255,255,255,.24)}\n.sq-bpg__vd--priced{color:var(--dim);border:1px solid var(--line)}\n.sq-bpg__vd--read{color:var(--dim);border:1px dashed rgba(255,255,255,.2)}\n.sq-bpg__vd--over{color:#e88aa8;border:1px dashed rgba(232,138,168,.4)}\n.sqsh__r3{padding:11px 2px;border-bottom:1px solid var(--line)}\n.sq-bpg__row[data-pick]{background:linear-gradient(90deg,rgba(168,224,57,.07),transparent 70%);border-radius:8px;margin:0 -6px;padding-left:8px;padding-right:8px}\n.sqsh__oc{display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:15px;color:var(--dim);line-height:1.18;letter-spacing:-.01em;margin-top:1px}\n.sqsh__pickflag{display:inline-block;margin-left:7px;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--sig);background:rgba(168,224,57,.12);border:1px solid rgba(168,224,57,.4);padding:1px 6px;border-radius:5px;vertical-align:middle}\n.sqsh__go{text-align:right}\n.sqsh__go a{display:none;width:20px;height:20px;border-radius:5px;align-items:center;justify-content:center;color:var(--dim);border:1px solid rgba(255,255,255,.14);text-decoration:none;font-weight:800}\n.sqsh__go a:hover{color:var(--acc-ink);background:var(--acc);border-color:var(--acc)}\n.sq-bpg__r--us:checked ~ * .sqsh__go a{display:inline-flex}\n.sqsh__foot{margin-top:16px}\n.sqsh__strip{display:flex;align-items:center;gap:9px;background:rgba(0,0,0,.20);border-radius:9px;padding:9px 12px;margin-bottom:12px;flex-wrap:wrap}\n.sqsh__strip .h{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-weight:800}\n.sqsh__strip .rec{margin-left:auto;font-size:11.5px;color:var(--dim);font-weight:600}\n.sqsh__cta a{display:none;align-items:center;justify-content:center;gap:8px;text-decoration:none;background:var(--acc);color:var(--acc-ink);font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:15px;letter-spacing:-.01em;padding:12px 16px;border-radius:10px}\n.sqsh__cta a:hover{filter:brightness(1.07)}\n.sqsh__cta svg{display:block}.sqsh__cta svg path{stroke:var(--acc-ink)}\n.sq-bpg__r--us:checked ~ * .sqsh__cta .go-us{display:flex}\n.sq-bpg__r--row:checked ~ * .sqsh__cta .go-row{display:flex}\n.sqsh__offer{font-size:11.5px;color:var(--dim);text-align:center;margin:11px 0 0;display:none}\n.sq-bpg__r--us:checked ~ * .sqsh__offer{display:block}\n.sqsh__offer b{color:var(--v-value)}\n.sqsh__compare{text-align:center;margin:9px 0 0}\n.sqsh__compare a{font-size:12px;color:var(--dim);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.22);padding-bottom:1px}\n.sqsh__compare a:hover{color:var(--acc)}\n.sqsh__src{font-size:11px;color:var(--dim);text-align:center;margin-top:9px}\n.sqsh__src .k{color:var(--ink)}\n.sqsh__compare .only-us,.sqsh__compare .only-row,.sqsh__src .only-us,.sqsh__src .only-row{display:none}\n.sq-bpg__r--us:checked ~ * .only-us{display:inline}\n.sq-bpg__r--row:checked ~ * .only-row{display:inline}\n\/* match-outcome \u2014 the horizontal 3-way (who wins), + the section divide before the tips *\/\n.sqsh__mo{margin:14px 0 0}\n.sqsh__mo-h{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin:0 0 9px}\n.sqsh__3way{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}\n.sqsh__3way .sq-bpg__row,.sqsh__3way .sqsh__r3{position:relative;display:block;padding:13px 10px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.03);text-align:center;margin:0;transition:border-color .15s,background .15s}\n.sqsh__3way .sq-bpg__row:last-child{border-bottom:1px solid var(--line)}\n.sqsh__3way .sq-bpg__row[data-pick]{border-color:rgba(168,224,57,.55);background:rgba(168,224,57,.10);box-shadow:inset 0 0 0 1px rgba(168,224,57,.22)}\n.sqsh__pgo{position:absolute;inset:0;z-index:3;display:none;border-radius:11px}\n.sq-bpg__r--us:checked ~ * .sqsh__pgo--us{display:block}\n.sq-bpg__r--row:checked ~ * .sqsh__pgo--row{display:block}\n.sqsh__3way .sqsh__r3:hover{border-color:var(--acc);background:rgba(255,255,255,.06)}\n.sqsh__3way .sq-bpg__row:hover{border-color:rgba(168,224,57,.85)}\n.sqsh__oc-in{display:flex;flex-direction:column;align-items:center;gap:3px}\n.sqsh__oc-name{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:14px;color:var(--ink);line-height:1.15;letter-spacing:-.01em}\n.sqsh__3way .sq-bpg__pk{display:none}\n.sqsh__oc-sig{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:25px;color:var(--sig);letter-spacing:-.02em;line-height:1}\n.sqsh__3way .sqsh__r3 .sqsh__oc-sig{color:#cfe0d6}\n.sqsh__oc-mkt{font-size:10px;color:var(--dim);font-weight:600;letter-spacing:.02em}\n.sqsh__oc-badge{margin-top:6px;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:5px}\n.sqsh__oc-badge--pick{color:var(--sig);background:rgba(168,224,57,.14);border:1px solid rgba(168,224,57,.45)}\n.sqsh__oc-badge--value{color:var(--v-value);background:rgba(126,224,129,.12);border:1px solid rgba(126,224,129,.4)}\n.sqsh__div{height:1px;background:var(--line);margin:18px 0 14px}\n@media(max-width:560px){.sqsh__head,.sq-bpg__row{grid-template-columns:1fr 44px 54px 62px 18px;gap:7px}\n .sq-bpg__pk{font-size:14px}.sq-bpg__ttl{font-size:17px}.sqsh__lead{font-size:16px}\n .sqsh__3way{gap:6px}.sqsh__3way .sq-bpg__row,.sqsh__3way .sqsh__r3{padding:10px 5px}\n .sqsh__oc-sig{font-size:21px}.sqsh__oc-name{font-size:13px}}\n<\/style>\n<div class=\"sq-bpg\" id=\"sq-bpg-stlo-cczuaet79ouhiqucfmyx29hck\" data-comp=\"\">\n <div class=\"sq-bpg__wrap\">\n  \n  <div class=\"sqsh__top\">\n    <span class=\"sqsh__mark\"><svg width=\"17\" height=\"17\" viewBox=\"0 0 696 696\" fill=\"#a8e039\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\"><path d=\"M473.282 222.72H696.002C696.002 99.6672 596.335 0 473.282 0H250.562C250.562 123.053 350.23 222.72 473.282 222.72Z\"\/><path d=\"M222.72 445.44V0C99.6672 0 0 99.6672 0 222.72C0 345.773 99.6672 445.44 222.72 445.44Z\"\/><path d=\"M473.281 250.563V696.003C596.334 696.003 696.001 596.336 696.001 473.283C696.001 350.231 596.334 250.563 473.281 250.563Z\"\/><path d=\"M222.72 473.277H0C0 596.33 99.6672 695.997 222.72 695.997H445.44C445.44 572.944 345.773 473.277 222.72 473.277Z\"\/><\/svg><span class=\"sqsh__wm\">Squawka <b>Signal<\/b><\/span><\/span>\n    \n  <\/div>\n  <div class=\"sqsh__mo\"><div class=\"sqsh__mo-h\">Match outcome &middot; who wins<\/div>\n  <div class=\"sqsh__3way\">\n   <div class=\"sq-bpg__row\" data-pick=\"1\" data-market=\"Result\" data-selection=\"St. Louis City SC\" data-prob=\"57\" data-odds=\"\" data-confidence=\"3\"><div class=\"sqsh__oc-in\"><span class=\"sqsh__oc-name\">St. Louis City SC<\/span><span class=\"sq-bpg__pk\">St. Louis City SC<\/span><span class=\"sqsh__oc-sig\">57%<\/span><span class=\"sqsh__oc-mkt\">mkt 70%<\/span><span class=\"sqsh__oc-badge sqsh__oc-badge--pick\">Our pick<\/span><span class=\"sq-bpg__why\"><\/span><a class=\"sqsh__pgo sqsh__pgo--us\" href=\"https:\/\/www.squawka.com\/us\/go\/kalshi?q=us-all-all-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\" aria-label=\"Trade St. Louis City SC on Kalshi\"><\/a><a class=\"sqsh__pgo sqsh__pgo--row\" href=\"https:\/\/www.squawka.com\/us\/go\/bet365?q=us-sg1-con-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\" aria-label=\"Back St. Louis City SC with bet365\"><\/a><\/div><\/div>\n   <div class=\"sqsh__r3\"><div class=\"sqsh__oc-in\"><span class=\"sqsh__oc-name\">Draw<\/span><span class=\"sq-bpg__pk\">Draw<\/span><span class=\"sqsh__oc-sig\">21%<\/span><span class=\"sqsh__oc-mkt\">mkt 24%<\/span><span class=\"sq-bpg__why\"><\/span><a class=\"sqsh__pgo sqsh__pgo--us\" href=\"https:\/\/www.squawka.com\/us\/go\/kalshi?q=us-all-all-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\" aria-label=\"Trade Draw on Kalshi\"><\/a><a class=\"sqsh__pgo sqsh__pgo--row\" href=\"https:\/\/www.squawka.com\/us\/go\/bet365?q=us-sg1-con-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\" aria-label=\"Back Draw with bet365\"><\/a><\/div><\/div>\n   <div class=\"sqsh__r3\"><div class=\"sqsh__oc-in\"><span class=\"sqsh__oc-name\">Portland Timbers<\/span><span class=\"sq-bpg__pk\">Portland Timbers<\/span><span class=\"sqsh__oc-sig\">23%<\/span><span class=\"sqsh__oc-mkt\">mkt 22%<\/span><span class=\"sq-bpg__why\"><\/span><a class=\"sqsh__pgo sqsh__pgo--us\" href=\"https:\/\/www.squawka.com\/us\/go\/kalshi?q=us-all-all-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\" aria-label=\"Trade Portland Timbers on Kalshi\"><\/a><a class=\"sqsh__pgo sqsh__pgo--row\" href=\"https:\/\/www.squawka.com\/us\/go\/bet365?q=us-sg1-con-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\" aria-label=\"Back Portland Timbers with bet365\"><\/a><\/div><\/div>\n  <\/div><\/div>\n  <h2 class=\"sq-bpg__ttl\">St. Louis City SC vs Portland Timbers: Best Bets &amp; Predictions<\/h2>\n  <div class=\"sqsh__hero\"><p class=\"sqsh__lead\">Signal has <span class=\"sqsh__sg\">St. Louis City SC<\/span> at 57% &mdash; no edge over the market on the result.<\/p><span class=\"sqsh__gap sqsh__gap--agree\"><span class=\"sqsh__big\">In line<\/span><span class=\"sqsh__lbl\">no standout edge on the result<\/span><\/span><\/div>\n<!-- SQMV-ACT-START v1 -->\n<style>\n.sqmv{margin:4px 0 0}\n.sqmv__rows{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}\n.sqmv__row{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);\n background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:9px;padding:7px 12px;font-size:12.5px}\n.sqmv__row:hover{border-color:rgba(168,224,57,.6)}\n.sqmv__row-v{color:var(--dim);font-weight:600}\n.sqmv__row-p{font-weight:800;font-variant-numeric:tabular-nums}\n.sqmv__cta a{display:flex;align-items:center;justify-content:center;text-decoration:none;background:var(--acc);\n color:var(--acc-ink);font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:15px;\n letter-spacing:-.01em;padding:13px 16px;border-radius:10px;text-align:center}\n.sqmv__cta a:hover{filter:brightness(1.07)}\n.sqmv__offer{display:block;text-align:center;font-size:11px;color:var(--dim);margin-top:7px;line-height:1.5}\n.sqmv__best{font-size:11px;color:var(--dim);text-align:center;margin:10px 0 0}\n.sqmv__none{font-size:12.5px;color:var(--dim);text-align:center;margin:0;padding:12px;border:1px dashed var(--line);border-radius:10px}\n.sqmv__b365{display:flex;align-items:center;justify-content:center;text-decoration:none;background:var(--acc);\n color:var(--acc-ink);font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:15px;\n padding:13px 16px;border-radius:10px}\n\n\/* SQMV-GEO-START *\/\n.sqmv__us{display:none}\n.sqmv__intl{display:block}\nbody[class*=\"country-us\"] .sqmv__us{display:block}\nbody[class*=\"country-us\"] .sqmv__intl{display:none}\nbody[class*=\"country-us\"] .sqsh__pgo--us{display:block}\nbody:not([class*=\"country-us\"]) .sqsh__pgo--row{display:block}\nbody[class*=\"country-us\"] .only-us{display:inline}\nbody:not([class*=\"country-us\"]) .only-row{display:inline}\n.sqmv__cta{display:none}\n.sqmv__cta--kalshi{display:block}\n\/* SQMV-GEO-END *\/\n<\/style>\n<div class=\"sqmv\"><div class=\"sqmv__us\"><div class=\"sqmv__rows\"><a class=\"sqmv__row sqmv__row--kalshi\" href=\"https:\/\/www.squawka.com\/us\/go\/kalshi?q=us-all-all-wof-s-spo\" rel=\"sponsored nofollow\" target=\"_blank\"><span class=\"sqmv__row-v\">Kalshi<\/span><span class=\"sqmv__row-p\">60&cent;<\/span><\/a><\/div><div class=\"sqmv__cta sqmv__cta--kalshi\"><a href=\"https:\/\/www.squawka.com\/us\/go\/kalshi?q=us-all-all-wof-s-spo\" rel=\"sponsored nofollow\" target=\"_blank\">Back St. Louis City SC @ 60&cent; &middot; Kalshi &middot; $100 &rarr; $167<\/a><span class=\"sqmv__offer\">New to Kalshi? Trade $25, Get $25 Bonus &middot; use code SQUAWKA &middot; 18+<\/span><\/div><p class=\"sqmv__best\">Best live price across US prediction markets &middot; buy YES on St. Louis City SC<\/p><\/div><div class=\"sqmv__intl\"><a class=\"sqmv__b365\" href=\"https:\/\/www.squawka.com\/us\/go\/bet365?q=us-sg1-con-wof-s-spo\" rel=\"sponsored nofollow\" target=\"_blank\">Back St. Louis City SC with bet365<\/a><\/div><\/div>\n<!-- SQMV-ACT-END v1 -->\n  <div class=\"sqsh__div\"><\/div>\n  <div class=\"sqsh__mo-h\">The tips &middot; best bets<\/div>\n  <div class=\"sq-bpg__list\">\n    <div class=\"sqsh__head\"><span class=\"l\">Market<\/span><span>Mkt&nbsp;%<\/span><span>Signal&nbsp;%<\/span><span>Read<\/span><span><\/span><\/div>\n    <div class=\"sq-bpg__row\" data-market=\"Correct Score\" data-selection=\"St. Louis City SC 2-1 Portland Timbers\" data-prob=\"10\" data-odds=\"\" data-confidence=\"3\"><div class=\"sqsh__mcell\"><span class=\"sqsh__mname\">Correct Score<\/span><span class=\"sq-bpg__pk\">St. Louis City SC 2-1 Portland Timbers<\/span><span class=\"sq-bpg__why\">St. Louis City SC have shown they can score freely, highlighted by a 6-2 win over LA Galaxy on October 12, while Portland&#x27;s -5 goal difference points to a tight finish that still goes the hosts&#x27; way.<\/span><\/div><div class=\"sqsh__cell\"><span class=\"sqsh__mk-n\">&mdash;<\/span><\/div><div class=\"sqsh__cell\"><span class=\"sqsh__sg-n\">10%<\/span><\/div><div class=\"sqsh__cell\"><span class=\"sq-bpg__vd sq-bpg__vd--read\">Model read<\/span><\/div><div class=\"sqsh__go\"><a href=\"https:\/\/www.squawka.com\/us\/go\/kalshi?q=us-all-all-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\" aria-label=\"Trade Correct Score on Kalshi\">&rsaquo;<\/a><\/div>\n    <\/div>\n    <div class=\"sq-bpg__row\" data-market=\"Both Teams to Score\" data-selection=\"Yes\" data-prob=\"65\" data-odds=\"\" data-confidence=\"3\"><div class=\"sqsh__mcell\"><span class=\"sqsh__mname\">Both Teams to Score<\/span><span class=\"sq-bpg__pk\">Both teams to score<\/span><span class=\"sq-bpg__why\">Simon Becher&#x27;s nine goals for St. Louis City SC and Kristoffer Velde&#x27;s eight for Portland give both sides a reliable route to the scoresheet.<\/span><\/div><div class=\"sqsh__cell\"><span class=\"sqsh__mk-n\">94%<\/span><\/div><div class=\"sqsh__cell\"><span class=\"sqsh__sg-n\">65%<\/span><\/div><div class=\"sqsh__cell\"><span class=\"sq-bpg__vd sq-bpg__vd--priced\">Priced in<\/span><\/div><div class=\"sqsh__go\"><a href=\"https:\/\/www.squawka.com\/us\/go\/kalshi?q=us-all-all-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\" aria-label=\"Trade Both Teams to Score on Kalshi\">&rsaquo;<\/a><\/div>\n    <\/div>\n    <div class=\"sq-bpg__row\" data-market=\"Over 2.5 Goals\" data-selection=\"Over 2.5\" data-prob=\"67\" data-odds=\"\" data-confidence=\"3\"><div class=\"sqsh__mcell\"><span class=\"sqsh__mname\">Over \/ Under 2.5<\/span><span class=\"sq-bpg__pk\">Over 2.5<\/span><span class=\"sq-bpg__why\">St. Louis City SC&#x27;s 6-2 win over LA Galaxy on October 12 underlines the firepower in this attack, and with Becher, Navarro Leal and Velde all among the more productive forwards on either roster, goals at both ends look likely.<\/span><\/div><div class=\"sqsh__cell\"><span class=\"sqsh__mk-n\">91%<\/span><\/div><div class=\"sqsh__cell\"><span class=\"sqsh__sg-n\">67%<\/span><\/div><div class=\"sqsh__cell\"><span class=\"sq-bpg__vd sq-bpg__vd--priced\">Priced in<\/span><\/div><div class=\"sqsh__go\"><a href=\"https:\/\/www.squawka.com\/us\/go\/kalshi?q=us-all-all-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\" aria-label=\"Trade Over 2.5 Goals on Kalshi\">&rsaquo;<\/a><\/div>\n    <\/div>\n    <div class=\"sq-bpg__row\" data-market=\"Anytime Goalscorer\" data-selection=\"Simon Becher\" data-prob=\"45\" data-odds=\"\" data-confidence=\"4\" data-player-id=\"2xewnia49fvj3u2x3y8tfq2ju\"><div class=\"sqsh__mcell\"><span class=\"sqsh__mname\">Anytime Scorer<\/span><span class=\"sq-bpg__pk\">Anytime Goalscorer \u2013 Simon Becher<\/span><span class=\"sq-bpg__why\">Simon Becher leads St. Louis City SC with nine goals from 69 shots this season, making him the most likely man to get on the scoresheet at Energizer Park.<\/span><\/div><div class=\"sqsh__cell\"><span class=\"sqsh__mk-n\">&mdash;<\/span><\/div><div class=\"sqsh__cell\"><span class=\"sqsh__sg-n\">45%<\/span><\/div><div class=\"sqsh__cell\"><span class=\"sq-bpg__vd sq-bpg__vd--read\">Model read<\/span><\/div><div class=\"sqsh__go\"><\/div>\n    <\/div>\n  <\/div>\n  <div class=\"sqsh__foot\">\n    <div class=\"sqsh__strip\"><span class=\"h\">Signal edge calls<\/span><span class=\"rec\">Record building &middot; settles at full-time<\/span><\/div>\n    <p class=\"sqsh__compare\"><a class=\"only-us\" href=\"https:\/\/www.squawka.com\/us\/bet\/best-prediction-markets\/\">Compare all markets &rsaquo;<\/a><a class=\"only-row\" href=\"https:\/\/www.squawka.com\/us\/bet\/betting-sites\/bet365\/\">bet365 review &rsaquo;<\/a><\/p>\n    <p class=\"sqsh__src\"><span class=\"only-us\">Available to US traders in all 50 states &middot; 18+<\/span><span class=\"only-row\">Odds from <span class=\"k\">bet365<\/span> &middot; 18+ &middot; <span class=\"k\">begambleaware.org<\/span><\/span><\/p>\n  <\/div>\n <\/div>\n<\/div>\n\n\n<h2>Season Form &amp; Standings<\/h2>\n<style>\n.sq-standings table{width:100%;border-collapse:collapse;table-layout:auto}\n.sq-standings th,.sq-standings td{text-align:center;padding:8px 10px;white-space:nowrap;vertical-align:middle}\n.sq-standings th:first-child,.sq-standings td:first-child{text-align:left}\n@media (max-width:600px){\n  .sq-standings{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}\n  .sq-standings table{min-width:560px}\n  .sq-standings th,.sq-standings td{padding:6px 8px;font-size:13px}\n}\n<\/style>\n\n<p>St. Louis City SC sit second in the <a href=\"https:\/\/www.squawka.com\/us\/mls\/\">Western Conference<\/a> with 51 points from 30 games, firmly in the <a href=\"https:\/\/www.squawka.com\/us\/outright-markets\/mls-2026-outright-winner-betting-odds\/\">playoff picture<\/a>, while Portland Timbers are 11th on 34 points, well adrift of the top of the West.<\/p>\n\n<p><strong>Western Conference<\/strong><\/p>\n<figure class=\"wp-block-table sq-standings\"><table>\n<thead>\n<tr><th>Team<\/th><th>Pos<\/th><th>GP<\/th><th>W<\/th><th>D<\/th><th>L<\/th><th>GF<\/th><th>GA<\/th><th>GD<\/th><th>Pts<\/th><\/tr>\n<\/thead>\n<tbody>\n<tr><td>St. Louis City SC<\/td><td>2<\/td><td>30<\/td><td>14<\/td><td>9<\/td><td>7<\/td><td>56<\/td><td>41<\/td><td>+15<\/td><td>51<\/td><\/tr>\n<tr><td>Portland Timbers<\/td><td>11<\/td><td>30<\/td><td>9<\/td><td>7<\/td><td>14<\/td><td>51<\/td><td>56<\/td><td>-5<\/td><td>34<\/td><\/tr>\n<\/tbody>\n<\/table><\/figure>\n\n<!-- sqstore:shop-the-match -->\n<!-- sqstore:fx home=st-louis-city away=portland-timbers -->\n<div style=\"font-family:'Bricolage Grotesque',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;border:1px solid #e7e2ec;border-radius:14px;overflow:hidden;margin:28px 0;background:#fff;\"><div style=\"background:#17121f;color:#fff;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;\"><span style=\"display:flex;align-items:center;gap:12px;flex-wrap:wrap;\"><span style=\"font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#b38bff;\">Shop the match<\/span><span style=\"font-size:15px;font-weight:600;\">St. Louis City <span style=\"color:#ffffff80;font-weight:400;\">v<\/span> Portland Timbers<\/span><\/span><span style=\"font-size:11.5px;color:#ffffff99;\">Official kits via Fanatics<\/span><\/div><div style=\"display:flex;gap:12px;flex-wrap:wrap;padding:16px;\"><a href=\"https:\/\/fanatics.93n6tx.net\/c\/2650836\/669352\/9663?prodsku=201663031&amp;u=https%3A%2F%2Fwww.fanatics.com%2Fmls%2Fst-louis-city-sc%2Fpolos%2Fst-louis-city-sc-adidas-2025-training-polo-silver%2Fo-2455%2Bt-32107847%2Bd-64226740%2Bf-454737657%2Bz-9-839913597&amp;intsrc=APIG_5042&amp;subId1=shop-the-match&amp;subId2=st-louis-city-v-portland-timbers&amp;subId3=squawka-us\" target=\"_blank\" rel=\"sponsored nofollow noopener\" style=\"flex:1 1 150px;min-width:150px;display:flex;flex-direction:column;text-decoration:none;color:#17121f;border:1px solid #e7e2ec;border-radius:10px;padding:12px;background:#fff;\"><span style=\"aspect-ratio:1\/1;border-radius:8px;background:#f6f4f8;border:1px solid #eee;display:flex;align-items:center;justify-content:center;overflow:hidden;\"><img decoding=\"async\" src=\"https:\/\/feeds.frgimages.com\/_ss5_p-201663031+u-o383dtdoayue79zlvbtf+v-d2dlko3layqnjuheqcie.jpg?_hv=2\" alt=\"Men&#x27;s adidas Silver St. Louis City SC 2025 Training Polo\" loading=\"lazy\" style=\"width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;\"><\/span><span style=\"margin-top:11px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8b8496;\">adidas<\/span><span style=\"margin-top:4px;font-size:13.5px;font-weight:600;line-height:1.3;flex:1;\">Men&#x27;s adidas Silver St. Louis City SC 2025 Training Polo<\/span><span style=\"margin-top:11px;display:flex;align-items:center;justify-content:space-between;gap:8px;\"><span style=\"font-size:17px;font-weight:800;letter-spacing:-.02em;\">$54.99<\/span><span style=\"background:#6f00ff;color:#fff;font-size:12px;font-weight:700;padding:7px 13px;border-radius:8px;\">Shop<\/span><\/span><\/a><a href=\"https:\/\/kitbag.evyy.net\/c\/2650836\/862785\/11316?prodsku=206669358&amp;u=https%3A%2F%2Fwww4.kitbag.com%2Fen%2Fmls%2Fportland-timbers%2Ffootball-kits%2Fportland-timbers-adidas-home-shirt-2025%2Fo-4600%2Bt-70784769%2Bd-784921508%2Bf-278321699%2Bz-9-2958131448%3Futm_medium%3Dcse%26cur%3DUSD%26loc%3Den-GB&amp;intsrc=APIG_6624&amp;subId1=shop-the-match&amp;subId2=st-louis-city-v-portland-timbers&amp;subId3=squawka-us\" target=\"_blank\" rel=\"sponsored nofollow noopener\" style=\"flex:1 1 150px;min-width:150px;display:flex;flex-direction:column;text-decoration:none;color:#17121f;border:1px solid #e7e2ec;border-radius:10px;padding:12px;background:#fff;\"><span style=\"aspect-ratio:1\/1;border-radius:8px;background:#f6f4f8;border:1px solid #eee;display:flex;align-items:center;justify-content:center;overflow:hidden;\"><img decoding=\"async\" src=\"https:\/\/feeds.frgimages.com\/_ss5_p-201964274+u-vtecweikiiokdtbowkp6+v-vxpiqbissnzqan6j5f3m.jpg?_hv=2&amp;w=520\" alt=\"Portland Timbers adidas Home Shirt 2025\" loading=\"lazy\" style=\"width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;\"><\/span><span style=\"margin-top:11px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8b8496;\">adidas<\/span><span style=\"margin-top:4px;font-size:13.5px;font-weight:600;line-height:1.3;flex:1;\">Portland Timbers adidas Home Shirt 2025<\/span><span style=\"margin-top:11px;display:flex;align-items:center;justify-content:space-between;gap:8px;\"><span style=\"font-size:17px;font-weight:800;letter-spacing:-.02em;\">$76.87<\/span><span style=\"background:#6f00ff;color:#fff;font-size:12px;font-weight:700;padding:7px 13px;border-radius:8px;\">Shop<\/span><\/span><\/a><a href=\"https:\/\/fanatics.93n6tx.net\/c\/2650836\/669352\/9663?prodsku=203985782&amp;u=https%3A%2F%2Fwww.fanatics.com%2Fmls%2Fst-louis-city-sc%2Fsweatshirts%2F-st-louis-city-sc-fleece-sweatshirt-blue%2Fo-1344%2Bt-32984536%2Bd-75660132%2Bf-346828442%2Bz-9-933823806&amp;intsrc=APIG_5042&amp;subId1=shop-the-match&amp;subId2=st-louis-city-v-portland-timbers&amp;subId3=squawka-us\" target=\"_blank\" rel=\"sponsored nofollow noopener\" style=\"flex:1 1 150px;min-width:150px;display:flex;flex-direction:column;text-decoration:none;color:#17121f;border:1px solid #e7e2ec;border-radius:10px;padding:12px;background:#fff;\"><span style=\"aspect-ratio:1\/1;border-radius:8px;background:#f6f4f8;border:1px solid #eee;display:flex;align-items:center;justify-content:center;overflow:hidden;\"><img decoding=\"async\" src=\"https:\/\/feeds.frgimages.com\/_ss5_p-203985782+u-bsxvs5loeryh53ze96xr+v-xruqjtbgxszozpgokmgr.jpg?_hv=2\" alt=\"Men&#x27;s  Blue St. Louis CITY SC Fleece Sweatshirt\" loading=\"lazy\" style=\"width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;\"><\/span><span style=\"margin-top:11px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8b8496;\">Gear For Sports<\/span><span style=\"margin-top:4px;font-size:13.5px;font-weight:600;line-height:1.3;flex:1;\">Men&#x27;s  Blue St. Louis CITY SC Fleece Sweatshirt<\/span><span style=\"margin-top:11px;display:flex;align-items:center;justify-content:space-between;gap:8px;\"><span style=\"font-size:17px;font-weight:800;letter-spacing:-.02em;\">$59.99<\/span><span style=\"background:#6f00ff;color:#fff;font-size:12px;font-weight:700;padding:7px 13px;border-radius:8px;\">Shop<\/span><\/span><\/a><\/div><div style=\"padding:11px 18px;background:#f6f4f8;border-top:1px solid #e7e2ec;font-size:11.5px;color:#8b8496;line-height:1.5;\">Squawka may earn a commission when you buy through these links, at no extra cost to you. Prices are set by the retailer and correct at time of publishing.<\/div><\/div>\n<!-- \/sqstore:shop-the-match -->\n\n<!-- SQ-LINEUPS-START -->\n\n\n<div class=\"sq-teamnews sq-teamnews--theme-mls sq-teamnews--predicted sq-teamnews--state-predicted\">\n<style>\n.sq-teamnews,.sq-teamnews *{box-sizing:border-box}\n.sq-teamnews{\n  \/* \u2500\u2500 THEME TOKENS \u2014 only these values change per competition \u2500\u2500 *\/\n  --sq-primary:#1B5E3B;      \/* forest green \u2014 accents, formation chip        *\/\n  --sq-accent:#A8E039;       \/* electric lime \u2014 chevron + confirmed pill      *\/\n  --sq-accent-2:#C8F24C;     \/* brighter lime \u2014 chevron highlight             *\/\n  --sq-gold:#F0B429;         \/* gold \u2014 goalkeeper jersey + note markers       *\/\n  --sq-ink:#16201b;          \/* body text                                     *\/\n  --sq-surface:#ffffff;      \/* card background                               *\/\n  --sq-ground:#F4F6F2;       \/* inset background                              *\/\n  --sq-line:#E4E7E2;         \/* hairline borders                             *\/\n  --sq-muted:#6B7770;        \/* caveat \/ footnote text                       *\/\n  --sq-headA:#0e3f29; --sq-headB:#08251a;  \/* header gradient stops          *\/\n  --sq-turfA:#1c7d4b; --sq-turfB:#125e37;  \/* pitch gradient stops           *\/\n  \/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  font-family:inherit;\n  color:var(--sq-ink);background:var(--sq-surface);\n  border:1px solid var(--sq-line);border-radius:16px;overflow:hidden;\n  box-shadow:0 18px 42px -30px rgba(14,36,25,.55);\n  max-width:100%;line-height:1.4;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;\n  margin:24px 0 32px;\n}\n\/* \u2500\u2500 header \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.sq-teamnews__head{position:relative;overflow:hidden;padding:16px 18px 15px;\n  background:linear-gradient(105deg,var(--sq-headA) 0%,var(--sq-headB) 100%);\n  border-left:5px solid var(--sq-accent);color:#f4f8f1;}\n.sq-teamnews__head::before{content:\"\";position:absolute;inset:0;opacity:.06;pointer-events:none;\n  background-size:560px 560px;\n  background-image:url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 3000 3000' preserveAspectRatio='xMidYMid slice'><defs><pattern id='a' width='78' height='175.5' patternTransform='rotate(-45)' patternUnits='userSpaceOnUse'><path fill='%23ffffff' d='m-38.22 157.05-.78-78 78-.78c.45 43.12-34.12 78.33-77.22 78.78'\/><path fill='%23ffffff' d='M77.22 0 78 81.6l-78 .78C-.45 35.67 34.12.45 77.22 0'\/><path fill='%23ffffff' d='m37.78 158.05-.78-78 78-.78c.45 43.12-34.12 78.33-77.22 78.78'\/><\/pattern><\/defs><rect width='100%25' height='100%25' fill='url(%23a)'\/><\/svg>\");}\n.sq-teamnews__brandrow{position:relative;display:flex;align-items:center;gap:9px;margin-bottom:10px;}\n.sq-teamnews__chev{width:19px;height:19px;flex:none;display:block;}\n.sq-teamnews__kicker{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--sq-accent-2);}\n.sq-teamnews__pill{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:10.5px;\n  letter-spacing:.12em;text-transform:uppercase;font-weight:800;padding:5px 11px;border-radius:999px;white-space:nowrap;}\n.sq-teamnews__pill-dot{width:6px;height:6px;border-radius:50%;flex:none;}\n.sq-teamnews--predicted .sq-teamnews__pill{background:rgba(240,180,41,.16);color:var(--sq-gold);border:1px solid rgba(240,180,41,.5);}\n.sq-teamnews--predicted .sq-teamnews__pill-dot{background:var(--sq-gold);}\n.sq-teamnews--confirmed .sq-teamnews__pill{background:var(--sq-accent);color:var(--sq-headB);border:1px solid var(--sq-accent);}\n.sq-teamnews--confirmed .sq-teamnews__pill-dot{background:var(--sq-headB);}\n.sq-teamnews__h2{position:relative;margin:0;font-size:18px;line-height:1.15;font-weight:800;letter-spacing:-.015em;color:#fff;text-wrap:balance;}\n\/* \u2500\u2500 caveat \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.sq-teamnews__caveat{display:flex;gap:8px;align-items:flex-start;margin:0;padding:11px 18px;\n  background:var(--sq-ground);border-bottom:1px solid var(--sq-line);\n  font-size:12px;line-height:1.45;color:var(--sq-muted);font-style:italic;}\n.sq-teamnews__caveat svg{flex:none;margin-top:1px;opacity:.8;}\n\/* \u2500\u2500 teams grid \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.sq-teamnews__teams{display:grid;grid-template-columns:1fr;gap:16px;padding:16px;}\n.sq-teamnews__team{min-width:0;}\n.sq-teamnews__teamhead{display:flex;align-items:center;gap:10px;margin-bottom:10px;}\n.sq-teamnews__crest{width:32px;height:32px;flex:none;border-radius:7px;overflow:hidden;object-fit:cover;\n  background:var(--sq-ground);box-shadow:inset 0 0 0 1px var(--sq-line);}\n.sq-teamnews__name{flex:1;margin:0;font-size:16px;font-weight:800;letter-spacing:-.01em;}\n.sq-teamnews__formation{flex:none;font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--sq-primary);\n  background:rgba(27,94,59,.09);border:1px solid rgba(27,94,59,.2);border-radius:7px;padding:4px 9px;}\n\/* \u2500\u2500 the pitch \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.sq-teamnews__pitch{position:relative;overflow:hidden;border-radius:11px;min-height:330px;\n  background:repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 12.5%,rgba(0,0,0,.05) 12.5% 25%),\n    linear-gradient(180deg,var(--sq-turfA) 0%,var(--sq-turfB) 100%);\n  box-shadow:inset 0 0 0 2px rgba(255,255,255,.14),0 6px 18px -12px rgba(14,36,25,.5);}\n.sq-teamnews__pk{position:absolute;pointer-events:none;}\n.sq-teamnews__pk--half{left:7%;right:7%;top:50%;border-top:2px solid rgba(255,255,255,.18);}\n.sq-teamnews__pk--circle{left:50%;top:50%;width:86px;height:86px;transform:translate(-50%,-50%);border:2px solid rgba(255,255,255,.18);border-radius:50%;}\n.sq-teamnews__pk--spot{left:50%;top:50%;width:5px;height:5px;transform:translate(-50%,-50%);background:rgba(255,255,255,.3);border-radius:50%;}\n.sq-teamnews__pk--boxb{left:24%;right:24%;bottom:0;height:19%;border:2px solid rgba(255,255,255,.18);border-bottom:none;}\n.sq-teamnews__pk--boxt{left:24%;right:24%;top:0;height:19%;border:2px solid rgba(255,255,255,.18);border-top:none;}\n.sq-teamnews__pk--goalb{left:41%;right:41%;bottom:-2px;height:7px;border:2px solid rgba(255,255,255,.28);border-bottom:none;background:rgba(255,255,255,.06);}\n.sq-teamnews__pk--goalt{left:41%;right:41%;top:-2px;height:7px;border:2px solid rgba(255,255,255,.28);border-top:none;background:rgba(255,255,255,.06);}\n\/* bands: GK at the bottom (goal), FWD at the top (attacking) *\/\n.sq-teamnews__bands{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column-reverse;padding:12px 4px;}\n.sq-teamnews__band{flex:1;display:flex;align-items:center;justify-content:space-evenly;gap:2px;}\n.sq-teamnews__node{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;min-width:0;max-width:98px;}\n.sq-teamnews__jersey{width:27px;height:24px;flex:none;color:#ffffff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));}\n.sq-teamnews__band[data-role=\"GK\"] .sq-teamnews__jersey{color:var(--sq-gold);}\n.sq-teamnews__pname{font-size:10.5px;font-weight:700;line-height:1.12;color:#fff;text-align:center;\n  letter-spacing:-.01em;max-width:100%;overflow-wrap:break-word;\n  text-shadow:0 1px 3px rgba(0,0,0,.75),0 0 2px rgba(0,0,0,.55);}\n.sq-teamnews__mark{color:var(--sq-gold);font-weight:800;}\nsup.sq-teamnews__mark{font-size:.72em;margin-left:1px;text-shadow:none;}\n\/* \u2500\u2500 cold-start placeholder body \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.sq-teamnews__placeholder{margin:0;padding:22px 18px;background:var(--sq-ground);\n  font-size:13.5px;line-height:1.5;color:var(--sq-muted);text-align:center;}\n\/* \u2500\u2500 footnotes (auto-hides when there are none) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.sq-teamnews__notes{list-style:none;margin:0;padding:14px 16px 2px;display:flex;flex-direction:column;gap:5px;}\n.sq-teamnews__notes:empty{display:none;}\n.sq-teamnews__notes li{font-size:11.5px;line-height:1.4;color:var(--sq-muted);}\n.sq-teamnews__notes strong{color:var(--sq-ink);font-weight:700;}\n.sq-teamnews__notes .sq-teamnews__mark{text-shadow:none;}\n\/* \u2500\u2500 footer \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.sq-teamnews__foot{display:flex;align-items:center;gap:7px;margin-top:14px;padding:10px 16px;\n  border-top:1px solid var(--sq-line);background:var(--sq-ground);\n  font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--sq-muted);}\n\/* \u2500\u2500 narrow phones: stop the header pill + 4-across bands clipping \u2500\u2500 *\/\n@media(max-width:559px){\n  .sq-teamnews__head{padding:14px 14px 13px;}\n  .sq-teamnews__kicker{font-size:10px;letter-spacing:.12em;}\n  .sq-teamnews__pill{font-size:9.5px;padding:4px 9px;letter-spacing:.08em;}\n  .sq-teamnews__h2{font-size:16.5px;}\n  .sq-teamnews__teams{padding:12px;gap:12px;}\n  .sq-teamnews__bands{padding:10px 2px;}\n  .sq-teamnews__band{gap:1px;}\n  .sq-teamnews__node{max-width:none;}\n  .sq-teamnews__pname{font-size:9px;line-height:1.05;}\n  .sq-teamnews__jersey{width:23px;height:20px;}\n}\n\/* \u2500\u2500 desktop: pitches side-by-side \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n@media(min-width:560px){\n  .sq-teamnews__teams{grid-template-columns:1fr 1fr;}\n  .sq-teamnews__head{padding:18px 20px 17px;}\n  .sq-teamnews__h2{font-size:21px;}\n  .sq-teamnews__name{font-size:17px;}\n  .sq-teamnews__pitch{min-height:372px;}\n  .sq-teamnews__pname{font-size:11px;}\n}\n<\/style>\n\n  <!-- \u2500\u2500 HEADER \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n  <div class=\"sq-teamnews__head\">\n    <div class=\"sq-teamnews__brandrow\">\n      <svg class=\"sq-teamnews__chev\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n        <path d=\"M4 5l7 7-7 7\" stroke=\"var(--sq-accent-2)\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n        <path d=\"M13 5l7 7-7 7\" stroke=\"var(--sq-accent)\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n      <\/svg>\n      <span class=\"sq-teamnews__kicker\">Team News<\/span>\n      <span class=\"sq-teamnews__pill\"><span class=\"sq-teamnews__pill-dot\"><\/span>Predicted<\/span>\n    <\/div>\n    <h2 class=\"sq-teamnews__h2\">St. Louis City SC vs Portland Timbers Predicted Lineups<\/h2>\n  <\/div>\n\n  <!-- \u2500\u2500 CAVEAT (predicted only) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n  \n  <p class=\"sq-teamnews__caveat\">\n    <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n      <circle cx=\"12\" cy=\"12\" r=\"9\" stroke=\"currentColor\" stroke-width=\"2\"\/>\n      <path d=\"M12 11.2v5M12 7.4v.4\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\n    <\/svg>\n    <span>Predicted XI \u2014 updated for the latest team news.<\/span>\n  <\/p>\n  \n\n  \n  <!-- \u2500\u2500 TWO TEAMS, each on a pitch \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n  <div class=\"sq-teamnews__teams\">\n    \n    <section class=\"sq-teamnews__team\">\n      <div class=\"sq-teamnews__teamhead\">\n        \n        <h3 class=\"sq-teamnews__name\">St. Louis City SC<\/h3>\n        <span class=\"sq-teamnews__formation\">3-4-1-2<\/span>\n      <\/div>\n      <div class=\"sq-teamnews__pitch\">\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--boxt\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--goalt\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--half\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--circle\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--spot\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--boxb\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--goalb\"><\/div>\n        <!-- bands render GK\u2192FWD; column-reverse puts GK at the goal end -->\n        <div class=\"sq-teamnews__bands\">\n          \n          <div class=\"sq-teamnews__band\" data-role=\"GK\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">R. Burki<\/span>\n            <\/div>\n            \n          <\/div>\n          \n          <div class=\"sq-teamnews__band\" data-role=\"DEF\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">F. Fall<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">T. Baumgartl<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">J. Orozco<\/span>\n            <\/div>\n            \n          <\/div>\n          \n          <div class=\"sq-teamnews__band\" data-role=\"MID\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">T. Totland<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">M. Perez<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">D. Polvara<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">M. Joyner<\/span>\n            <\/div>\n            \n          <\/div>\n          \n          <div class=\"sq-teamnews__band\" data-role=\"AM\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">Jeong Sang-Bin<\/span>\n            <\/div>\n            \n          <\/div>\n          \n          <div class=\"sq-teamnews__band\" data-role=\"FWD\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">Rafael Navarro<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">S. Becher<\/span>\n            <\/div>\n            \n          <\/div>\n          \n        <\/div>\n      <\/div>\n    <\/section>\n    \n    <section class=\"sq-teamnews__team\">\n      <div class=\"sq-teamnews__teamhead\">\n        \n        <h3 class=\"sq-teamnews__name\">Portland Timbers<\/h3>\n        <span class=\"sq-teamnews__formation\">4-3-3<\/span>\n      <\/div>\n      <div class=\"sq-teamnews__pitch\">\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--boxt\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--goalt\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--half\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--circle\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--spot\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--boxb\"><\/div>\n        <div class=\"sq-teamnews__pk sq-teamnews__pk--goalb\"><\/div>\n        <!-- bands render GK\u2192FWD; column-reverse puts GK at the goal end -->\n        <div class=\"sq-teamnews__bands\">\n          \n          <div class=\"sq-teamnews__band\" data-role=\"GK\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">J. Pantemis<\/span>\n            <\/div>\n            \n          <\/div>\n          \n          <div class=\"sq-teamnews__band\" data-role=\"DEF\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">J. Fory<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">K. Miller<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">J. Waterman<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">R. Hernandez<\/span>\n            <\/div>\n            \n          <\/div>\n          \n          <div class=\"sq-teamnews__band\" data-role=\"MID\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">David da Costa<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">D. Chara<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">E. Izoita<\/span>\n            <\/div>\n            \n          <\/div>\n          \n          <div class=\"sq-teamnews__band\" data-role=\"FWD\">\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">K. Velde<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">V. Janssen<\/span>\n            <\/div>\n            \n            <div class=\"sq-teamnews__node\">\n              <svg class=\"sq-teamnews__jersey\" viewBox=\"0 0 36 32\" aria-hidden=\"true\"><path fill=\"currentColor\" stroke=\"rgba(0,0,0,.22)\" stroke-width=\"1\" d=\"M13 3 4 7 1 14 6 17 10 14 10 30 26 30 26 14 30 17 35 14 32 7 23 3C22 7 14 7 13 3Z\"\/><\/svg>\n              <span class=\"sq-teamnews__pname\">O. Fernandez<\/span>\n            <\/div>\n            \n          <\/div>\n          \n        <\/div>\n      <\/div>\n    <\/section>\n    \n  <\/div>\n\n  <!-- \u2500\u2500 FOOTNOTES: one line per player with a note (any team) \u2500\u2500 -->\n  <ul class=\"sq-teamnews__notes\">\n    \n  <\/ul>\n  \n\n  <div class=\"sq-teamnews__foot\">\n    <svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n      <path d=\"M5 6l6 6-6 6\" stroke=\"var(--sq-primary)\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n      <path d=\"M13 6l6 6-6 6\" stroke=\"var(--sq-primary)\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n    <\/svg>\n    <span>Squawka \u00b7 Team News<\/span>\n  <\/div>\n\n<\/div>\n\n<!-- SQ-LINEUPS-END -->\n\n<h2>Potential Match-Winners<\/h2>\n\n<ul>\n<li><strong>Simon Becher (St. Louis City SC):<\/strong> Becher leads the home attack with nine goals and 22 chances created in two,095 minutes, the clearest goal threat on the field.<\/li>\n<li><strong>Daniel Edelman (St. Louis City SC):<\/strong> Edelman has created 23 chances and added four goals from midfield, giving St. Louis City SC control in the final third.<\/li>\n<li><strong>Kristoffer Velde (Portland Timbers):<\/strong> Velde carries Portland&#8217;s hopes with eight goals and 56 chances created from 96 shots, a genuine outlet even away from home.<\/li>\n<\/ul>\n\n<h2>Recent Form<\/h2>\n\n<h3>St. Louis City SC: W W W D L<\/h3>\n<ul>\n<li>2026-10-17: Minnesota United 3-2 St. Louis City SC (L, away)<\/li>\n<li>2026-10-15: St. Louis City SC 0-0 Vancouver Whitecaps (D, home)<\/li>\n<li>2026-10-12: St. Louis City SC 6-2 LA Galaxy (W, home)<\/li>\n<li>2026-10-01: New York Red Bulls 0-3 St. Louis City SC (W, away)<\/li>\n<li>2026-09-20: St. Louis City SC 3-1 Toronto FC (W, home)<\/li>\n<\/ul>\n<p>St. Louis City SC&#8217;s form reads W W W D L, built on a 6-2 win over LA Galaxy on October 12 and a 3-0 win at New York Red Bulls on October 1, before a scoreless draw with Vancouver Whitecaps and a 3-2 loss at Minnesota United on October 17.<\/p>\n\n<h3>Portland Timbers: L L D L D<\/h3>\n<ul>\n<li>2026-10-18: Portland Timbers 0-0 Colorado Rapids (D, home)<\/li>\n<li>2026-10-15: LA Galaxy 2-0 Portland Timbers (L, away)<\/li>\n<li>2026-10-11: Sporting KC 3-3 Portland Timbers (D, away)<\/li>\n<li>2026-09-27: San Jose Earthquakes 3-1 Portland Timbers (L, away)<\/li>\n<li>2026-09-20: Portland Timbers 0-1 Atlanta United (L, home)<\/li>\n<\/ul>\n<p>Portland Timbers&#8217; form reads L L D L D, with a 3-3 draw at Sporting KC on October 11 and a scoreless draw with Colorado Rapids on October 18 sandwiched around defeats to San Jose Earthquakes and LA Galaxy.<\/p>\n\n<h2>St. Louis City SC vs Portland Timbers Prediction<\/h2>\n\n<p>St. Louis City SC&#8217;s quality around the box should tell at Energizer Park. Second in the West on 51 points against a Portland side 11th on 34, the hosts have the firepower through Becher and Navarro Leal to edge a game that produces goals at both ends, with Velde always a threat for the Timbers. Signal&#8217;s call: St. Louis City SC 2-1 Portland Timbers.<\/p>\n\n<!-- SQ-HUBX-START -->\n<style>.sq-hubx *{box-sizing:border-box}.sq-hubx a.sq-hubx-link{transition:filter .15s}.sq-hubx a.sq-hubx-link:hover{filter:brightness(1.12)}@media(max-width:600px){.sq-hubx .sq-hubx-t{font-size:13.5px}.sq-hubx .sq-hubx-lead{font-size:15px}}<\/style>\n<div class=\"sq-hubx\" style=\"background:linear-gradient(135deg,#4a1109 0%,#340d08 60%,#210503 100%);border-radius:12px;padding:15px 15px 14px;margin:14px 0;color:#fff;font-family:'Inter',system-ui,-apple-system,sans-serif\"><div style=\"display:flex;align-items:center;gap:7px;font-weight:800;font-size:11px;letter-spacing:.10em;text-transform:uppercase;color:#a8e039;margin-bottom:8px\"><svg viewBox=\"0 0 696 696\" width=\"14\" height=\"14\" fill=\"#a8e039\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\"><path d=\"M473.282 222.72H696.002C696.002 99.6672 596.335 0 473.282 0H250.562C250.562 123.053 350.23 222.72 473.282 222.72Z\"\/><path d=\"M222.72 445.44V0C99.6672 0 0 99.6672 0 222.72C0 345.773 99.6672 445.44 222.72 445.44Z\"\/><path d=\"M473.281 250.563V696.003C596.334 696.003 696.001 596.336 696.001 473.283C696.001 350.231 596.334 250.563 473.281 250.563Z\"\/><path d=\"M222.72 473.277H0C0 596.33 99.6672 695.997 222.72 695.997H445.44C445.44 572.944 345.773 473.277 222.72 473.277Z\"\/><\/svg>Squawka Signal<\/div><p class=\"sq-hubx-lead\" style=\"font-weight:500;font-size:16px;line-height:1.34;color:#fff;margin:0 0 13px\">Our model rates every MLS fixture &mdash; see the numbers behind <b style=\"color:#fff\">St. Louis City SC v Portland Timbers<\/b>.<\/p><a class=\"sq-hubx-link\" href=\"https:\/\/www.squawka.com\/us\/news\/mls\/squawkas-mls-ai-predictor\/?ref=sqhubx-mls-predictor\" style=\"display:flex;align-items:center;gap:11px;text-decoration:none;border-radius:9px;padding:11px 13px;background:#ff8781\"><span style=\"width:33px;height:33px;flex:none;border-radius:8px;background:#2a0503;display:flex;align-items:center;justify-content:center\"><svg viewBox=\"0 0 24 24\" width=\"17\" height=\"17\" fill=\"none\" stroke=\"#ff8781\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M3 3v18h18\"\/><path d=\"M7 14l4-4 3 3 5-6\"\/><\/svg><\/span><span style=\"flex:1;min-width:0\"><span style=\"display:block;font-weight:600;font-size:14px;color:#2a0503;line-height:1.2\">MLS AI Predictor<\/span><span style=\"display:block;font-size:12px;color:#5c1811;margin-top:2px;line-height:1.25\">Every match this week rated by our model<\/span><\/span><svg viewBox=\"0 0 24 24\" width=\"15\" height=\"15\" fill=\"none\" stroke=\"#2a0503\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"9 6 15 12 9 18\"\/><\/svg><\/a><a class=\"sq-hubx-link\" href=\"https:\/\/www.squawka.com\/us\/soccer-predictions\/anytime-goalscorer\/?ref=sqhubx-mls-atgs\" style=\"display:flex;align-items:center;gap:11px;text-decoration:none;border-radius:9px;padding:11px 13px;border:1px solid #ff878155;background:#ff87811a;margin-top:8px\"><span style=\"width:33px;height:33px;flex:none;border-radius:8px;background:#ff87812e;display:flex;align-items:center;justify-content:center\"><svg viewBox=\"0 0 24 24\" width=\"17\" height=\"17\" fill=\"none\" stroke=\"#ff8781\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M12 7v10M7 12h10\"\/><\/svg><\/span><span style=\"flex:1;min-width:0\"><span class=\"sq-hubx-t\" style=\"display:block;font-weight:600;font-size:14px;color:#fff;line-height:1.2\">Anytime Goalscorer predictions<\/span><span style=\"display:block;font-size:12px;color:rgba(255,255,255,.72);margin-top:2px;line-height:1.25\">This week&rsquo;s picks across the league<\/span><\/span><svg viewBox=\"0 0 24 24\" width=\"15\" height=\"15\" fill=\"none\" stroke=\"#ff8781\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"9 6 15 12 9 18\"\/><\/svg><\/a><\/div>\n<!-- SQ-HUBX-END -->","protected":false},"excerpt":{"rendered":"<p>Predicted lineups and team news for St. Louis City SC vs Portland Timbers, plus our prediction, odds and best bets. Energizer Park hosts. Kick-off 8:30 PM ET.<\/p>\n","protected":false},"author":393,"featured_media":78395,"parent":0,"menu_order":0,"template":"","meta":{"_acf_changed":false,"_yoast_wpseo_focuskw":"st. louis city sc vs portland timbers","_yoast_wpseo_title":"St. Louis City SC vs Portland Timbers: MLS Lineups & Prediction","_yoast_wpseo_metadesc":"Predicted lineups and team news for St. Louis City SC vs Portland Timbers, plus our prediction, odds and best bets. Energizer Park hosts. Kick-off 8:30 PM ET.","footnotes":""},"tags":[306],"news-category":[335],"class_list":["post-78394","news","type-news","status-publish","has-post-thumbnail","hentry","tag-mls","news-category-mls"],"acf":{"external_featured_image_url":"","hide_featured_image_pattern":true},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.0 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>St. Louis City SC vs Portland Timbers: MLS Lineups &amp; Prediction<\/title>\n<meta name=\"description\" content=\"Predicted lineups and team news for St. Louis City SC vs Portland Timbers, plus our prediction, odds and best bets. Energizer Park hosts. Kick-off 8:30 PM ET.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.squawka.com\/us\/news\/mls\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"St. Louis City SC vs Portland Timbers: Predictions, Picks, Odds &amp; Lineups\" \/>\n<meta property=\"og:description\" content=\"Predicted lineups and team news for St. Louis City SC vs Portland Timbers, plus our prediction, odds and best bets. Energizer Park hosts. Kick-off 8:30 PM ET.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.squawka.com\/us\/news\/mls\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\/\" \/>\n<meta property=\"og:site_name\" content=\"Squawka | US\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SquawkaFootballNews\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-23T01:32:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/media.squawka.com\/images\/sites\/13\/2026\/10\/22212338\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls-banner.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1167\" \/>\n\t<meta property=\"og:image:height\" content=\"590\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@Squawka\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.squawka.com\\\/us\\\/news\\\/mls\\\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\\\/\",\"url\":\"https:\\\/\\\/www.squawka.com\\\/us\\\/news\\\/mls\\\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\\\/\",\"name\":\"St. Louis City SC vs Portland Timbers: MLS Lineups & Prediction\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.squawka.com\\\/us\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.squawka.com\\\/us\\\/news\\\/mls\\\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.squawka.com\\\/us\\\/news\\\/mls\\\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/media.squawka.com\\\/images\\\/sites\\\/13\\\/2026\\\/10\\\/22212338\\\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls-banner.jpg\",\"datePublished\":\"2026-10-23T01:23:41+00:00\",\"dateModified\":\"2026-10-23T01:32:29+00:00\",\"description\":\"Predicted lineups and team news for St. Louis City SC vs Portland Timbers, plus our prediction, odds and best bets. Energizer Park hosts. Kick-off 8:30 PM ET.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.squawka.com\\\/us\\\/news\\\/mls\\\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.squawka.com\\\/us\\\/news\\\/mls\\\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.squawka.com\\\/us\\\/news\\\/mls\\\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\\\/#primaryimage\",\"url\":\"https:\\\/\\\/media.squawka.com\\\/images\\\/sites\\\/13\\\/2026\\\/10\\\/22212338\\\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls-banner.jpg\",\"contentUrl\":\"https:\\\/\\\/media.squawka.com\\\/images\\\/sites\\\/13\\\/2026\\\/10\\\/22212338\\\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls-banner.jpg\",\"width\":1167,\"height\":590,\"caption\":\"St. Louis City SC vs Portland Timbers predicted formations\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.squawka.com\\\/us\\\/news\\\/mls\\\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.squawka.com\\\/us\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"News\",\"item\":\"https:\\\/\\\/www.squawka.com\\\/us\\\/news\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"St. Louis City SC vs Portland Timbers: Predictions, Picks, Odds &#038; Lineups\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.squawka.com\\\/us\\\/#website\",\"url\":\"https:\\\/\\\/www.squawka.com\\\/us\\\/\",\"name\":\"Squawka US\",\"description\":\"Soccer News and Predictions | Stats, Betting\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.squawka.com\\\/us\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.squawka.com\\\/us\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.squawka.com\\\/us\\\/#organization\",\"name\":\"Squawka US\",\"url\":\"https:\\\/\\\/www.squawka.com\\\/us\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.squawka.com\\\/us\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/media.squawka.com\\\/images\\\/sites\\\/13\\\/2026\\\/04\\\/23072352\\\/Squawka-Logo.jpg\",\"contentUrl\":\"https:\\\/\\\/media.squawka.com\\\/images\\\/sites\\\/13\\\/2026\\\/04\\\/23072352\\\/Squawka-Logo.jpg\",\"width\":1000,\"height\":1000,\"caption\":\"Squawka US\"},\"image\":{\"@id\":\"https:\\\/\\\/www.squawka.com\\\/us\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/SquawkaFootballNews\\\/\",\"https:\\\/\\\/x.com\\\/Squawka\",\"https:\\\/\\\/www.instagram.com\\\/squawkafootball\\\/\"],\"description\":\"Squawka is a football editorial site covering the Premier League, Champions League, MLS, Liga MX, FIFA World Cup 2026 and the wider international game. We publish match previews, tactical analysis, player and team stats, outright odds, betting tips, streaming guides and long-form features for a committed football audience. Founded in the UK and part of OneTwenty Group, Squawka now runs localised editions for the UK (squawka.com\\\/en\\\/), United States (squawka.com\\\/us\\\/), Mexican-Spanish (squawka.com\\\/us-es\\\/), Ireland, Netherlands, Nigeria, Kenya, Uganda, South Africa and Ghana. Each edition is editorially tailored to its market, with locale-specific competition focus, operator compliance and commercial partnerships. Traffic skews toward high-intent football readers \u2014 supporters researching fixtures, form, odds and where to watch \u2014 making Squawka a strong fit for sportsbook, prediction-market, DFS, streaming and sports-merchandise brands across the UK, Europe and North America.\",\"foundingDate\":\"2012-06-11\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"St. Louis City SC vs Portland Timbers: MLS Lineups & Prediction","description":"Predicted lineups and team news for St. Louis City SC vs Portland Timbers, plus our prediction, odds and best bets. Energizer Park hosts. Kick-off 8:30 PM ET.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.squawka.com\/us\/news\/mls\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\/","og_locale":"en_US","og_type":"article","og_title":"St. Louis City SC vs Portland Timbers: Predictions, Picks, Odds & Lineups","og_description":"Predicted lineups and team news for St. Louis City SC vs Portland Timbers, plus our prediction, odds and best bets. Energizer Park hosts. Kick-off 8:30 PM ET.","og_url":"https:\/\/www.squawka.com\/us\/news\/mls\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\/","og_site_name":"Squawka | US","article_publisher":"https:\/\/www.facebook.com\/SquawkaFootballNews\/","article_modified_time":"2026-10-23T01:32:29+00:00","og_image":[{"width":1167,"height":590,"url":"https:\/\/media.squawka.com\/images\/sites\/13\/2026\/10\/22212338\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls-banner.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@Squawka","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.squawka.com\/us\/news\/mls\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\/","url":"https:\/\/www.squawka.com\/us\/news\/mls\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\/","name":"St. Louis City SC vs Portland Timbers: MLS Lineups & Prediction","isPartOf":{"@id":"https:\/\/www.squawka.com\/us\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.squawka.com\/us\/news\/mls\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\/#primaryimage"},"image":{"@id":"https:\/\/www.squawka.com\/us\/news\/mls\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\/#primaryimage"},"thumbnailUrl":"https:\/\/media.squawka.com\/images\/sites\/13\/2026\/10\/22212338\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls-banner.jpg","datePublished":"2026-10-23T01:23:41+00:00","dateModified":"2026-10-23T01:32:29+00:00","description":"Predicted lineups and team news for St. Louis City SC vs Portland Timbers, plus our prediction, odds and best bets. Energizer Park hosts. Kick-off 8:30 PM ET.","breadcrumb":{"@id":"https:\/\/www.squawka.com\/us\/news\/mls\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.squawka.com\/us\/news\/mls\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.squawka.com\/us\/news\/mls\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\/#primaryimage","url":"https:\/\/media.squawka.com\/images\/sites\/13\/2026\/10\/22212338\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls-banner.jpg","contentUrl":"https:\/\/media.squawka.com\/images\/sites\/13\/2026\/10\/22212338\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls-banner.jpg","width":1167,"height":590,"caption":"St. Louis City SC vs Portland Timbers predicted formations"},{"@type":"BreadcrumbList","@id":"https:\/\/www.squawka.com\/us\/news\/mls\/match-preview-st-louis-city-vs-portland-timbers-10-28-26-mls\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.squawka.com\/us\/"},{"@type":"ListItem","position":2,"name":"News","item":"https:\/\/www.squawka.com\/us\/news\/"},{"@type":"ListItem","position":3,"name":"St. Louis City SC vs Portland Timbers: Predictions, Picks, Odds &#038; Lineups"}]},{"@type":"WebSite","@id":"https:\/\/www.squawka.com\/us\/#website","url":"https:\/\/www.squawka.com\/us\/","name":"Squawka US","description":"Soccer News and Predictions | Stats, Betting","publisher":{"@id":"https:\/\/www.squawka.com\/us\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.squawka.com\/us\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.squawka.com\/us\/#organization","name":"Squawka US","url":"https:\/\/www.squawka.com\/us\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.squawka.com\/us\/#\/schema\/logo\/image\/","url":"https:\/\/media.squawka.com\/images\/sites\/13\/2026\/04\/23072352\/Squawka-Logo.jpg","contentUrl":"https:\/\/media.squawka.com\/images\/sites\/13\/2026\/04\/23072352\/Squawka-Logo.jpg","width":1000,"height":1000,"caption":"Squawka US"},"image":{"@id":"https:\/\/www.squawka.com\/us\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SquawkaFootballNews\/","https:\/\/x.com\/Squawka","https:\/\/www.instagram.com\/squawkafootball\/"],"description":"Squawka is a football editorial site covering the Premier League, Champions League, MLS, Liga MX, FIFA World Cup 2026 and the wider international game. We publish match previews, tactical analysis, player and team stats, outright odds, betting tips, streaming guides and long-form features for a committed football audience. Founded in the UK and part of OneTwenty Group, Squawka now runs localised editions for the UK (squawka.com\/en\/), United States (squawka.com\/us\/), Mexican-Spanish (squawka.com\/us-es\/), Ireland, Netherlands, Nigeria, Kenya, Uganda, South Africa and Ghana. Each edition is editorially tailored to its market, with locale-specific competition focus, operator compliance and commercial partnerships. Traffic skews toward high-intent football readers \u2014 supporters researching fixtures, form, odds and where to watch \u2014 making Squawka a strong fit for sportsbook, prediction-market, DFS, streaming and sports-merchandise brands across the UK, Europe and North America.","foundingDate":"2012-06-11"}]}},"yoast_title":"St. Louis City SC vs Portland Timbers: MLS Lineups & Prediction","yoast_description":"Predicted lineups and team news for St. Louis City SC vs Portland Timbers, plus our prediction, odds and best bets. Energizer Park hosts. Kick-off 8:30 PM ET.","yoast_keyword":"st. louis city sc vs portland timbers","_links":{"self":[{"href":"https:\/\/www.squawka.com\/us\/wp-json\/wp\/v2\/news\/78394","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.squawka.com\/us\/wp-json\/wp\/v2\/news"}],"about":[{"href":"https:\/\/www.squawka.com\/us\/wp-json\/wp\/v2\/types\/news"}],"author":[{"embeddable":true,"href":"https:\/\/www.squawka.com\/us\/wp-json\/wp\/v2\/users\/393"}],"version-history":[{"count":2,"href":"https:\/\/www.squawka.com\/us\/wp-json\/wp\/v2\/news\/78394\/revisions"}],"predecessor-version":[{"id":78397,"href":"https:\/\/www.squawka.com\/us\/wp-json\/wp\/v2\/news\/78394\/revisions\/78397"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.squawka.com\/us\/wp-json\/wp\/v2\/media\/78395"}],"wp:attachment":[{"href":"https:\/\/www.squawka.com\/us\/wp-json\/wp\/v2\/media?parent=78394"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.squawka.com\/us\/wp-json\/wp\/v2\/tags?post=78394"},{"taxonomy":"news-category","embeddable":true,"href":"https:\/\/www.squawka.com\/us\/wp-json\/wp\/v2\/news-category?post=78394"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}