{"id":10309,"date":"2026-09-06T21:25:20","date_gmt":"2026-09-07T01:25:20","guid":{"rendered":"https:\/\/www.squawka.com\/ca\/?post_type=news&#038;p=10309"},"modified":"2026-09-06T21:25:20","modified_gmt":"2026-09-07T01:25:20","slug":"match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls","status":"publish","type":"news","link":"https:\/\/www.squawka.com\/ca\/news\/mls\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\/","title":{"rendered":"FC Dallas vs Portland Timbers: Predictions, Picks, Odds &#038; Lineups"},"content":{"rendered":"<p><strong>FC Dallas host Portland Timbers at Toyota Stadium on Saturday, September 12 (8:30 PM ET \/ 7:30 PM CT \/ 5:30 PM PT).<\/strong><\/p>\n<p>FC Dallas have no fresh injury concerns to factor into this one, with Petar Musa \u2014 18 goals and 76 shots already logged this season \u2014 the obvious focal point, and Logan Farrington offering a further scoring threat after contributing eight goals of his own. Portland Timbers arrive with no fresh absences either, leaning on Kevin Kelsy through the middle, Kristoffer Velde supplying from deeper with 44 chances created, and David Pereira da Costa still the side&#8217;s most reliable outlet in possession.<\/p>\n<p>Toyota Stadium has rarely hosted a dull afternoon lately, and this looks built for another entertaining night rather than a stalemate. FC Dallas beat Sporting Kansas City 4-3 last time out, part of a run of matches that have gone end to end, while Portland Timbers won 5-4 at home to Minnesota United in their own most recent outing \u2014 evidence that neither defence is built to keep things tidy. FC Dallas&#8217; +5 goal difference and home advantage should just about see them through, but expect Portland to have their say too.<\/p>\n\n\n<style>\n.sq-bpg{--lime:#a8e039;--glow:#c8f24c;--tx:#f4f8f1;--mut:rgba(244,248,241,.62);--line:rgba(255,255,255,.10);--gold:#F7B500;--b365:#ffdd00;position:relative;overflow:hidden;isolation:isolate;font-family:'Bricolage Grotesque',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--tx);max-width:960px;margin:12px auto 30px;border-radius:18px;background:radial-gradient(70% 90% at 18% 0%,rgba(168,224,57,.20) 0%,rgba(168,224,57,0) 60%),linear-gradient(135deg,#0e3f29 0%,#0a2c1f 60%,#08251a 100%);box-shadow:0 18px 44px rgba(10,44,31,.32)}\n.sq-bpg *{box-sizing:border-box}\n.sq-bpg::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url(\"data:image\/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20preserveAspectRatio%3D%22xMidYMid%20slice%22%20viewBox%3D%220%200%203000%203000%22%3E%3Cdefs%3E%3Cpattern%20id%3D%22a%22%20width%3D%2278%22%20height%3D%22175.5%22%20x%3D%220%22%20y%3D%220%22%20patternTransform%3D%22rotate%28-45%29%22%20patternUnits%3D%22userSpaceOnUse%22%3E%3Cpath%20fill%3D%22%2303261a%22%20d%3D%22m-38.22%20157.05-.78-78%2078-.78c.45%2043.12-34.12%2078.33-77.22%2078.78%22%2F%3E%3Cpath%20fill%3D%22%2303261a%22%20d%3D%22M77.22%200%2078%2081.6l-78%20.78C-.45%2035.67%2034.12.45%2077.22%200%22%2F%3E%3Cpath%20fill%3D%22%2303261a%22%20d%3D%22m37.78%20158.05-.78-78%2078-.78c.45%2043.12-34.12%2078.33-77.22%2078.78%22%2F%3E%3C%2Fpattern%3E%3C%2Fdefs%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20fill%3D%22url%28%23a%29%22%2F%3E%3C%2Fsvg%3E\");background-position:top left;background-size:380px 380px;opacity:.4}\n.sq-bpg__r{position:absolute;width:0;height:0;opacity:0;pointer-events:none}\n.sq-bpg__wrap{position:relative;z-index:1;padding:26px 30px 24px}\n.sq-bpg__tag{display:inline-flex;align-items:center;gap:9px;border:1.5px solid rgba(168,224,57,.55);border-radius:999px;padding:7px 16px;color:var(--lime);font-weight:800;font-size:12px;letter-spacing:2.4px;text-transform:uppercase;background:rgba(10,44,31,.4)}\n.sq-bpg__tag::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px 1px var(--glow)}\n.sq-bpg__ttl{font-size:26px;font-weight:800;letter-spacing:-.3px;line-height:1.12;margin:0;color:var(--tx)}\n.sq-bpg__sub{margin:8px 0 0;font-size:14.5px;line-height:1.5;color:var(--mut);max-width:70ch}\n.sq-bpg__perf{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}\n.sq-bpg__perf-h{font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--lime)}\n.sq-bpg__chip{font-size:12.5px;color:var(--mut);background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:999px;padding:4px 11px}\n.sq-bpg__chip b{color:var(--tx)}\n.sq-bpg__chip--big{background:var(--lime);color:#08251a;border-color:var(--lime)}\n.sq-bpg__chip--big b{color:#08251a}\n.sq-bpg__siglink{margin-left:auto;font-size:13px;font-weight:700;color:var(--lime);text-decoration:none;border-bottom:2px solid rgba(168,224,57,.35)}\n.sq-bpg__geoq{margin-top:18px;font-size:13px;font-weight:700;color:var(--tx)}\n.sq-bpg__toggle{display:flex;gap:6px;margin-top:9px}\n.sq-bpg__tab{flex:1;text-align:center;cursor:pointer;user-select:none;font-size:14.5px;font-weight:800;line-height:1.2;padding:10px;border-radius:11px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--mut);transition:.15s}\n.sq-bpg__tab span{display:block;font-size:11px;font-weight:600;margin-top:3px;opacity:.8}\n.sq-bpg__r--us:checked ~ .sq-bpg__toggle .sq-bpg__tab--us,\n.sq-bpg__r--row:checked ~ .sq-bpg__toggle .sq-bpg__tab--row{background:var(--lime);color:#08251a;border-color:var(--lime)}\n.sq-bpg__list{margin-top:16px;border-top:1px solid var(--line)}\n.sq-bpg__row{display:grid;grid-template-columns:1fr 122px;gap:14px;align-items:center;padding:15px 2px;border-bottom:1px solid var(--line)}\n.sq-bpg__pk{font-size:16px;font-weight:800;line-height:1.25;color:var(--tx)}\n.sq-bpg__top{display:inline-block;vertical-align:middle;margin-left:8px;font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#5b3b00;background:linear-gradient(90deg,#ffe07a,var(--gold));padding:3px 8px;border-radius:6px}\n.sq-bpg__why{display:block;margin-top:5px;font-size:13.5px;line-height:1.5;color:var(--mut)}\n.sq-bpg__pr{text-align:center}\n.sq-bpg__prob{display:block;font-size:26px;font-weight:800;color:var(--lime);line-height:1}\n\/* pre-odds confidence stars (shown at launch before prices post; the numeric\n   backfill swaps this cell for the .sq-bpg__prob %% when odds fill) *\/\n.sq-bpg__stars{display:block;font-size:17px;line-height:1;letter-spacing:1px}\n.sq-bpg__stars .d{opacity:.26}\n.sq-bpg__prl{display:block;font-size:10.5px;letter-spacing:.4px;text-transform:uppercase;color:var(--mut);margin-top:3px}\n.sq-bpg__odd{display:none;margin-top:7px;font-size:12.5px;font-weight:700;color:var(--tx);background:rgba(255,255,255,.08);border-radius:7px;padding:3px 8px}\n.sq-bpg__odd--soon{color:var(--mut);font-weight:600}\n.sq-bpg__r--row:checked ~ .sq-bpg__list .sq-bpg__odd{display:inline-block}\na.sq-bpg__prob,a.sq-bpg__odd{cursor:pointer}\na.sq-bpg__prob{color:var(--lime);text-decoration:none}\na.sq-bpg__prob:hover{text-decoration:underline}\na.sq-bpg__odd{text-decoration:none}\na.sq-bpg__odd:hover{filter:brightness(1.08)}\n.sq-bpg__r--row:checked ~ .sq-bpg__list a.sq-bpg__prob{pointer-events:none;cursor:default}\n.sq-bpg__approach{margin:15px 0 0;font-size:13.5px;line-height:1.55;color:var(--tx)}\n.sq-bpg__panel{display:none;margin-top:16px}\n.sq-bpg__r--us:checked ~ .sq-bpg__panel--us{display:block}\n.sq-bpg__r--row:checked ~ .sq-bpg__panel--row{display:block}\n.sq-bpg__act{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 18px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid var(--line)}\n.sq-bpg__act-txt{flex:1;min-width:200px}\n.sq-bpg__act-txt b{display:block;font-size:16px;color:var(--tx)}\n.sq-bpg__act-txt span{display:block;font-size:13px;color:var(--mut);margin-top:2px}\n.sq-bpg__cta{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:800;text-decoration:none;padding:13px 22px;border-radius:11px;white-space:nowrap}\n.sq-bpg__cta--kal{background:linear-gradient(135deg,var(--lime),var(--glow));color:#08251a;box-shadow:0 8px 18px rgba(168,224,57,.28)}\n.sq-bpg__cta--b365{background:var(--b365);color:#1a1a1a;box-shadow:0 8px 18px rgba(0,0,0,.28)}\n.sq-bpg__altsdiv{height:1px;background:var(--line);margin:16px 0 0}\n.sq-bpg__altslead{margin:14px 0 0;font-size:13px;color:var(--mut)}\n.sq-bpg__altslead a{color:var(--lime);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(168,224,57,.35)}\n.sq-bpg__altsrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}\n.sq-bpg__altsbtn{flex:1 1 160px;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:11px 16px;border-radius:11px;background:#5a26d6;border:1px solid rgba(255,255,255,.10);color:#fff;font-weight:800;font-size:14px;text-decoration:none;box-shadow:0 4px 14px rgba(90,38,214,.30);transition:.15s}\n.sq-bpg__altsbtn:hover{background:#6b34e8}\n.sq-bpg__altsbtn img{height:18px;width:auto;display:block;filter:brightness(0) invert(1);opacity:.97}\n.sq-bpg__disc{margin:12px 0 0;font-size:11.5px;line-height:1.5;color:rgba(244,248,241,.5)}\n@media(max-width:640px){\n .sq-bpg__wrap{padding:22px 16px 20px}\n .sq-bpg__ttl{font-size:21px}\n .sq-bpg__sub{font-size:14px}\n .sq-bpg__perf{gap:7px}\n .sq-bpg__siglink{margin-left:0;flex-basis:100%;margin-top:2px}\n .sq-bpg__row{grid-template-columns:1fr 96px;gap:10px}\n .sq-bpg__prob{font-size:22px}\n .sq-bpg__odd{font-size:11px;padding:2px 6px;line-height:1.3}\n .sq-bpg__act{padding:14px}\n .sq-bpg__act-txt{min-width:0}\n .sq-bpg__cta{width:100%;justify-content:center}\n .sq-bpg__altsbtn{flex:1 1 120px}\n}\n@media(max-width:400px){\n .sq-bpg__ttl{font-size:19px}\n .sq-bpg__pk{font-size:15px}\n .sq-bpg__why{font-size:12.5px}\n .sq-bpg__row{grid-template-columns:1fr 82px}\n .sq-bpg__prob{font-size:19px}\n .sq-bpg__altsbtn{flex:1 1 100%}\n}\n<\/style>\n<style>.sq-bpg--b365 .sq-bpg__odd{display:inline-flex !important}<\/style>\n\n<div class=\"sq-bpg sq-bpg--b365\" id=\"sq-bpg-fcdal-ap44m2l7f62wnetdsb8ss6zo4\">\n <div class=\"sq-bpg__wrap\">\n  <h2 class=\"sq-bpg__ttl\">FC Dallas vs Portland Timbers: Best Bets &amp; Predictions<\/h2>\n  <p class=\"sq-bpg__sub\">FC Dallas look to extend their playoff push at Toyota Stadium against a Portland Timbers side capable of scoring goals in bunches.<\/p>\n  <div class=\"sq-bpg__list\">\n    <div class=\"sq-bpg__row\" data-market=\"Result\" data-selection=\"FC Dallas\" data-prob=\"50\" data-odds=\"-140\" data-confidence=\"3\">\n      <div><span class=\"sq-bpg__pk\">FC Dallas<\/span><span class=\"sq-bpg__top\">Top pick<\/span><span class=\"sq-bpg__why\">FC Dallas sit fourth in the Western Conference on 37 points and a +5 goal difference, well clear of eighth-placed Portland Timbers on 31 points and +1.<\/span><\/div>\n      <div class=\"sq-bpg__pr\"><a class=\"sq-bpg__prob\" href=\"\/en\/go\/bet365?q=ca-all-tmp-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\">50%<\/a><span class=\"sq-bpg__prl\">win prob.<\/span><a class=\"sq-bpg__odd\" href=\"\/en\/go\/bet365?q=ca-all-tmp-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\">-140 @ bet365<\/a><\/div>\n    <\/div>\n    <div class=\"sq-bpg__row\" data-market=\"Correct Score\" data-selection=\"2-1 FC Dallas\" data-prob=\"11\" data-odds=\"800\" data-confidence=\"3\">\n      <div><span class=\"sq-bpg__pk\">2-1 FC Dallas<\/span><span class=\"sq-bpg__why\">Petar Musa has scored 18 goals this season and Kevin Kelsy has 9 for Portland, a spread that fits a tight 2-1 home win with both attacks finding the net.<\/span><\/div>\n      <div class=\"sq-bpg__pr\"><a class=\"sq-bpg__prob\" href=\"\/en\/go\/bet365?q=ca-all-tmp-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\">11%<\/a><span class=\"sq-bpg__prl\">chance<\/span><a class=\"sq-bpg__odd\" href=\"\/en\/go\/bet365?q=ca-all-tmp-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\">800 @ bet365<\/a><\/div>\n    <\/div>\n    <div class=\"sq-bpg__row\" data-market=\"Both Teams to Score\" data-selection=\"Yes\" data-prob=\"73\" data-odds=\"-250\" data-confidence=\"3\">\n      <div><span class=\"sq-bpg__pk\">Yes<\/span><span class=\"sq-bpg__why\">Both sides have been leaky and lethal in equal measure recently, FC Dallas winning 4-3 and Portland winning 5-4 in their last matches, so goals at both ends look likely again.<\/span><\/div>\n      <div class=\"sq-bpg__pr\"><a class=\"sq-bpg__prob\" href=\"\/en\/go\/bet365?q=ca-all-tmp-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\">73%<\/a><span class=\"sq-bpg__prl\">chance<\/span><a class=\"sq-bpg__odd\" href=\"\/en\/go\/bet365?q=ca-all-tmp-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\">-250 @ bet365<\/a><\/div>\n    <\/div>\n    <div class=\"sq-bpg__row\" data-market=\"Over 2.5 Goals\" data-selection=\"Over 2.5\" data-prob=\"75\" data-odds=\"-275\" data-confidence=\"3\">\n      <div><span class=\"sq-bpg__pk\">Over 2.5<\/span><span class=\"sq-bpg__why\">With Kristoffer Velde creating 44 chances and Petar Musa already up to 76 shots this season, both attacks carry more than enough quality to push this past 2.5 goals.<\/span><\/div>\n      <div class=\"sq-bpg__pr\"><a class=\"sq-bpg__prob\" href=\"\/en\/go\/bet365?q=ca-all-tmp-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\">75%<\/a><span class=\"sq-bpg__prl\">chance<\/span><a class=\"sq-bpg__odd\" href=\"\/en\/go\/bet365?q=ca-all-tmp-wof-s-spo\" rel=\"sponsored nofollow noopener\" target=\"_blank\">-275 @ bet365<\/a><\/div>\n    <\/div>\n    <div class=\"sq-bpg__row\" data-market=\"Anytime Goalscorer\" data-selection=\"Petar Musa\" data-prob=\"\" data-odds=\"\" data-confidence=\"4\" data-player-id=\"bxcpii8qeyw2duignml45sc15\">\n      <div><span class=\"sq-bpg__pk\">Petar Musa to score anytime<\/span><span class=\"sq-bpg__why\">Musa leads all players in this fixture with 18 goals and 38 shots on target, making him the standout pick to get on the scoresheet.<\/span><\/div>\n      <div class=\"sq-bpg__pr\"><span class=\"sq-bpg__stars\" role=\"img\" aria-label=\"Confidence 4 of 5\">\u2b50\u2b50\u2b50\u2b50<span class=\"d\">\u2b50<\/span><\/span><span class=\"sq-bpg__prl\">chance<\/span><span class=\"sq-bpg__odd sq-bpg__odd--soon\">opening soon @ bet365<\/span><\/div>\n    <\/div>\n  <\/div>\n  <p class=\"sq-bpg__approach\">Our approach: our Signal model leans on the season-long numbers \u2014 goals, shots and chances created \u2014 plus standings context to land on a home win, both teams scoring and a productive Portland attack keeping things over 2.5 goals in a 2-1 FC Dallas finish.<\/p>\n  <div class=\"sq-bpg__panel sq-bpg__panel--row\" style=\"display:block\">\n    <div class=\"sq-bpg__act\">\n      <div class=\"sq-bpg__act-txt\"><b>Back these with bet365<\/b><span>Odds shown in American format; your local odds may vary.<\/span><\/div>\n      <a class=\"sq-bpg__cta sq-bpg__cta--b365\" href=\"\/en\/go\/bet365?q=ca-all-tmp-wof-s-spo\" rel=\"sponsored nofollow\" target=\"_blank\">Bet with bet365 &rarr;<\/a>\n      <a class=\"sq-bpg__review\" href=\"https:\/\/www.squawka.com\/ca\/bet\/betting-sites\/bet365\/\">bet365 review<\/a>\n    <\/div>\n    <p class=\"sq-bpg__disc\">Odds correct at time of writing and shown in American format for illustration; your local odds may vary. 19+ (18+ in AB\/MB\/QC). Please play responsibly. ConnexOntario: 1-866-531-2600 (ON).<\/p>\n  <\/div>\n <\/div>\n<\/div>\n\n\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>FC Dallas head into this one fourth in the <a href=\"https:\/\/www.squawka.com\/ca\/news\/mls\/\">Western Conference<\/a> on 37 points from 23 games, firmly in the thick of the playoff picture, while Portland Timbers sit eighth on 31 points and still have work to do to nail down their own spot.<\/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>FC Dallas<\/td><td>4<\/td><td>23<\/td><td>10<\/td><td>7<\/td><td>6<\/td><td>45<\/td><td>40<\/td><td>+5<\/td><td>37<\/td><\/tr>\n<tr><td>Portland Timbers<\/td><td>8<\/td><td>23<\/td><td>9<\/td><td>4<\/td><td>10<\/td><td>44<\/td><td>43<\/td><td>+1<\/td><td>31<\/td><\/tr>\n<\/tbody>\n<\/table><\/figure>\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\">FC Dallas 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\">FC Dallas<\/h3>\n        <span class=\"sq-teamnews__formation\">3-5-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\">J. Sirois<\/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\">O. Urhoghide<\/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\">N. Norris<\/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. Moore<\/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\">B. Kamungo<\/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\">Ramiro<\/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\">Kaick<\/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. Valiente<\/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\">H. Johansson<\/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\">P. Musa<\/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\">L. Farrington<\/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\">F. Surman<\/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. Miller<\/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\">J. Caicedo<\/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\">C. Bassett<\/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\">A. Lassiter<\/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>Petar Musa (FC Dallas):<\/strong> 18 goals and 76 shots already this season make Musa the most direct route to goal on either side.<\/li>\n<li><strong>Logan Farrington (FC Dallas):<\/strong> 8 goals from 39 shots give Farrington a genuine attacking outlet alongside Musa.<\/li>\n<li><strong>Kristoffer Velde (Portland Timbers):<\/strong> 60 shots and 44 chances created underline just how central Velde is to everything Portland create.<\/li>\n<\/ul>\n\n<h2>Recent Form<\/h2>\n\n<h3>FC Dallas: W W L D W<\/h3>\n<ul>\n<li>2026-09-06: FC Dallas 4-3 Sporting KC (W, home)<\/li>\n<li>2026-08-31: St. Louis City SC 3-3 FC Dallas (D, away)<\/li>\n<li>2026-08-23: Vancouver Whitecaps 5-0 FC Dallas (L, away)<\/li>\n<li>2026-08-20: Real Salt Lake 3-4 FC Dallas (W, away)<\/li>\n<li>2026-08-17: Austin FC 1-2 FC Dallas (W, away)<\/li>\n<\/ul>\n<p>FC Dallas&#8217; last five have run the gamut, from a 5-0 defeat away at Vancouver Whitecaps to a 4-3 home win over Sporting Kansas City, taking in a 3-3 draw at St. Louis City SC, a 4-3 win at Real Salt Lake and a 2-1 win at Austin FC.<\/p>\n\n<h3>Portland Timbers: L W D L W<\/h3>\n<ul>\n<li>2026-09-06: Portland Timbers 5-4 Minnesota United (W, home)<\/li>\n<li>2026-08-30: Portland Timbers 1-2 Austin FC (L, home)<\/li>\n<li>2026-08-23: LAFC 1-1 Portland Timbers (D, away)<\/li>\n<li>2026-08-20: Portland Timbers 3-1 San Diego FC (W, home)<\/li>\n<li>2026-08-16: Chicago Fire 2-1 Portland Timbers (L, away)<\/li>\n<\/ul>\n<p>Portland Timbers&#8217; last five have been just as eventful, from a 2-1 defeat at Chicago Fire to a 5-4 home win over Minnesota United, via a 3-1 win over San Diego FC, a 1-1 draw at LAFC and a 1-2 home loss to Austin FC.<\/p>\n\n<!-- SQ-SIGNAL reserved (no MLS Signal model yet) -->\n\n<h2>FC Dallas vs Portland Timbers Prediction<\/h2>\n\n<p>FC Dallas&#8217; extra quality up front and home advantage should be enough to get the job done. Expect goals at both ends, but Petar Musa&#8217;s finishing edge tips this toward a 2-1 win that keeps FC Dallas in the mix fourth in the West, while Portland Timbers, eighth and still finding their level, will have to settle for another near-miss on the road.<\/p>","protected":false},"excerpt":{"rendered":"<p>Predicted lineups and team news for FC Dallas vs Portland Timbers, plus our prediction, odds and best bets. See our full match picks. Kick-off 8:30 PM ET.<\/p>\n","protected":false},"author":393,"featured_media":10310,"parent":0,"menu_order":0,"template":"","meta":{"_acf_changed":false,"_yoast_wpseo_focuskw":"fc dallas vs portland timbers","_yoast_wpseo_title":"FC Dallas vs Portland Timbers: MLS Lineups & Prediction","_yoast_wpseo_metadesc":"Predicted lineups and team news for FC Dallas vs Portland Timbers, plus our prediction, odds and best bets. See our full match picks. Kick-off 8:30 PM ET.","footnotes":""},"tags":[],"news-category":[324],"class_list":["post-10309","news","type-news","status-publish","has-post-thumbnail","hentry","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.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>FC Dallas vs Portland Timbers: MLS Lineups &amp; Prediction<\/title>\n<meta name=\"description\" content=\"Predicted lineups and team news for FC Dallas vs Portland Timbers, plus our prediction, odds and best bets. See our full match picks. 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\/ca\/news\/mls\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\/\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FC Dallas vs Portland Timbers: Predictions, Picks, Odds &amp; Lineups\" \/>\n<meta property=\"og:description\" content=\"Predicted lineups and team news for FC Dallas vs Portland Timbers, plus our prediction, odds and best bets. See our full match picks. Kick-off 8:30 PM ET.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.squawka.com\/ca\/news\/mls\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\/\" \/>\n<meta property=\"og:site_name\" content=\"Squawka | CA\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SquawkaFootballNews\/\" \/>\n<meta property=\"og:image\" content=\"https:\/\/media.squawka.com\/images\/sites\/15\/2026\/09\/06212517\/match-preview-fc-dallas-vs-portland-timbers-09-12-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\\\/ca\\\/news\\\/mls\\\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\\\/\",\"url\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/news\\\/mls\\\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\\\/\",\"name\":\"FC Dallas vs Portland Timbers: MLS Lineups & Prediction\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/news\\\/mls\\\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/news\\\/mls\\\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/media.squawka.com\\\/images\\\/sites\\\/15\\\/2026\\\/09\\\/06212517\\\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls-banner.jpg\",\"datePublished\":\"2026-09-07T01:25:20+00:00\",\"description\":\"Predicted lineups and team news for FC Dallas vs Portland Timbers, plus our prediction, odds and best bets. See our full match picks. Kick-off 8:30 PM ET.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/news\\\/mls\\\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\\\/#breadcrumb\"},\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.squawka.com\\\/ca\\\/news\\\/mls\\\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/news\\\/mls\\\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\\\/#primaryimage\",\"url\":\"https:\\\/\\\/media.squawka.com\\\/images\\\/sites\\\/15\\\/2026\\\/09\\\/06212517\\\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls-banner.jpg\",\"contentUrl\":\"https:\\\/\\\/media.squawka.com\\\/images\\\/sites\\\/15\\\/2026\\\/09\\\/06212517\\\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls-banner.jpg\",\"width\":1167,\"height\":590,\"caption\":\"FC Dallas vs Portland Timbers predicted formations\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/news\\\/mls\\\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"News\",\"item\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/news\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"FC Dallas vs Portland Timbers: Predictions, Picks, Odds &#038; Lineups\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/#website\",\"url\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/\",\"name\":\"Squawka | CA\",\"description\":\"Soccer Stats, Predictions &amp; Betting\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-CA\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/#organization\",\"name\":\"Squawka | CA\",\"url\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/media.squawka.com\\\/images\\\/sites\\\/15\\\/2026\\\/06\\\/10210812\\\/Squawka-Logo.jpg\",\"contentUrl\":\"https:\\\/\\\/media.squawka.com\\\/images\\\/sites\\\/15\\\/2026\\\/06\\\/10210812\\\/Squawka-Logo.jpg\",\"width\":1000,\"height\":1000,\"caption\":\"Squawka | CA\"},\"image\":{\"@id\":\"https:\\\/\\\/www.squawka.com\\\/ca\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/SquawkaFootballNews\\\/\",\"https:\\\/\\\/x.com\\\/Squawka\",\"https:\\\/\\\/www.instagram.com\\\/squawkafootball\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"FC Dallas vs Portland Timbers: MLS Lineups & Prediction","description":"Predicted lineups and team news for FC Dallas vs Portland Timbers, plus our prediction, odds and best bets. See our full match picks. 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\/ca\/news\/mls\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\/","og_type":"article","og_title":"FC Dallas vs Portland Timbers: Predictions, Picks, Odds & Lineups","og_description":"Predicted lineups and team news for FC Dallas vs Portland Timbers, plus our prediction, odds and best bets. See our full match picks. Kick-off 8:30 PM ET.","og_url":"https:\/\/www.squawka.com\/ca\/news\/mls\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\/","og_site_name":"Squawka | CA","article_publisher":"https:\/\/www.facebook.com\/SquawkaFootballNews\/","og_image":[{"width":1167,"height":590,"url":"https:\/\/media.squawka.com\/images\/sites\/15\/2026\/09\/06212517\/match-preview-fc-dallas-vs-portland-timbers-09-12-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\/ca\/news\/mls\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\/","url":"https:\/\/www.squawka.com\/ca\/news\/mls\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\/","name":"FC Dallas vs Portland Timbers: MLS Lineups & Prediction","isPartOf":{"@id":"https:\/\/www.squawka.com\/ca\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.squawka.com\/ca\/news\/mls\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\/#primaryimage"},"image":{"@id":"https:\/\/www.squawka.com\/ca\/news\/mls\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\/#primaryimage"},"thumbnailUrl":"https:\/\/media.squawka.com\/images\/sites\/15\/2026\/09\/06212517\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls-banner.jpg","datePublished":"2026-09-07T01:25:20+00:00","description":"Predicted lineups and team news for FC Dallas vs Portland Timbers, plus our prediction, odds and best bets. See our full match picks. Kick-off 8:30 PM ET.","breadcrumb":{"@id":"https:\/\/www.squawka.com\/ca\/news\/mls\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\/#breadcrumb"},"inLanguage":"en-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.squawka.com\/ca\/news\/mls\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\/"]}]},{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/www.squawka.com\/ca\/news\/mls\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\/#primaryimage","url":"https:\/\/media.squawka.com\/images\/sites\/15\/2026\/09\/06212517\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls-banner.jpg","contentUrl":"https:\/\/media.squawka.com\/images\/sites\/15\/2026\/09\/06212517\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls-banner.jpg","width":1167,"height":590,"caption":"FC Dallas vs Portland Timbers predicted formations"},{"@type":"BreadcrumbList","@id":"https:\/\/www.squawka.com\/ca\/news\/mls\/match-preview-fc-dallas-vs-portland-timbers-09-12-26-mls\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.squawka.com\/ca\/"},{"@type":"ListItem","position":2,"name":"News","item":"https:\/\/www.squawka.com\/ca\/news\/"},{"@type":"ListItem","position":3,"name":"FC Dallas vs Portland Timbers: Predictions, Picks, Odds &#038; Lineups"}]},{"@type":"WebSite","@id":"https:\/\/www.squawka.com\/ca\/#website","url":"https:\/\/www.squawka.com\/ca\/","name":"Squawka | CA","description":"Soccer Stats, Predictions &amp; Betting","publisher":{"@id":"https:\/\/www.squawka.com\/ca\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.squawka.com\/ca\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-CA"},{"@type":"Organization","@id":"https:\/\/www.squawka.com\/ca\/#organization","name":"Squawka | CA","url":"https:\/\/www.squawka.com\/ca\/","logo":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/www.squawka.com\/ca\/#\/schema\/logo\/image\/","url":"https:\/\/media.squawka.com\/images\/sites\/15\/2026\/06\/10210812\/Squawka-Logo.jpg","contentUrl":"https:\/\/media.squawka.com\/images\/sites\/15\/2026\/06\/10210812\/Squawka-Logo.jpg","width":1000,"height":1000,"caption":"Squawka | CA"},"image":{"@id":"https:\/\/www.squawka.com\/ca\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SquawkaFootballNews\/","https:\/\/x.com\/Squawka","https:\/\/www.instagram.com\/squawkafootball\/"]}]}},"yoast_title":"FC Dallas vs Portland Timbers: MLS Lineups & Prediction","yoast_description":"Predicted lineups and team news for FC Dallas vs Portland Timbers, plus our prediction, odds and best bets. See our full match picks. Kick-off 8:30 PM ET.","yoast_keyword":"fc dallas vs portland timbers","_links":{"self":[{"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/news\/10309","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/news"}],"about":[{"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/types\/news"}],"author":[{"embeddable":true,"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/users\/393"}],"version-history":[{"count":1,"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/news\/10309\/revisions"}],"predecessor-version":[{"id":10311,"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/news\/10309\/revisions\/10311"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/media\/10310"}],"wp:attachment":[{"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/media?parent=10309"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/tags?post=10309"},{"taxonomy":"news-category","embeddable":true,"href":"https:\/\/www.squawka.com\/ca\/wp-json\/wp\/v2\/news-category?post=10309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}