thunder vs Spurs Game 3 WCF 2026 Preview — Live Score, Odds & Prediction

Sports LiveMay 22, 2026
============================================================ --> <title>Thunder vs Spurs Game 3 WCF 2026 Preview — Live Score, Odds & Prediction | Sportslnv.com</title> <meta name="description" content="Thunder vs Spurs Game 3 WCF 2026 — Series tied 1-1. Live score, game time 8:30pm ET on NBC/Peacock. Injury report: Jalen Williams doubtful, De'Aaron Fox day-to-day. Full preview and prediction."> <meta name="keywords" content="Thunder vs Spurs Game 3 2026, WCF Game 3 preview, NBA playoffs 2026, SGA vs Wembanyama, live score"> <meta property="og:title" content="Thunder vs Spurs Game 3 WCF 2026 — Preview, Live Score & Prediction"> <meta property="og:description" content="Series tied 1-1. Game 3 tips 8:30pm ET at AT&T Center San Antonio. Full preview, injury report, live score and fan chat."> <meta property="og:type" content="article"> <meta property="og:site_name" content="Sportslnv.com"> <meta name="author" content="Roan — Sportslnv.com"> <meta name="article:published_time" content="2026-05-22T15:00:00Z"> <meta name="article:modified_time" content="2026-05-22T15:00:00Z"> <!-- ============================================================ --> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,400;0,600;0,700;0,800;1,700&family=Barlow:wght@400;500;600&display=swap" rel="stylesheet"> <style> :root { --okc-blue: #007AC1; --okc-dark: #002D62; --sas-black: #000000; --sas-silver: #C4CED4; --accent: #F4A623; --live: #E8202A; --bg: #0A0E17; --surface: #111827; --surface2: #1C2535; --border: rgba(255,255,255,0.08); --text: #F0F4F8; --muted: #8A96A8; --success: #22C55E; } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: 'Barlow', sans-serif; background: var(--bg); color: var(--text); font-size: 16px; line-height: 1.7; } /* ---- LAYOUT ---- */ .article-wrap { max-width: 860px; margin: 0 auto; padding: 0 20px 60px; } /* ---- HERO ---- */ .hero { position: relative; background: linear-gradient(135deg, #001a3a 0%, #0A0E17 50%, #1a0005 100%); border-bottom: 1px solid var(--border); padding: 48px 20px 40px; text-align: center; overflow: hidden; } .hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 50% at 30% 50%, rgba(0,122,193,0.15) 0%, transparent 70%), radial-gradient(ellipse 60% 50% at 70% 50%, rgba(232,32,42,0.12) 0%, transparent 70%); } .hero-inner { position: relative; max-width: 860px; margin: 0 auto; } .hero-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--accent); margin-bottom: 20px; } .live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--live); animation: blink 1.2s ease-in-out infinite; } @keyframes blink { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(.8)} } .hero h1 { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(28px, 5vw, 46px); font-weight: 800; line-height: 1.1; letter-spacing: -.01em; margin-bottom: 16px; color: #fff; } .hero h1 em { font-style: normal; color: var(--okc-blue); } .hero-meta { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; font-size: 13px; color: var(--muted); } .hero-meta strong { color: var(--accent); font-weight: 600; } .hero-meta span { color: var(--border); } /* ---- SECTION HEADINGS ---- */ .section-label { display: flex; align-items: center; gap: 10px; font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); margin: 36px 0 14px; } .section-label::after { content: ''; flex: 1; height: 1px; background: var(--border); } h2 { font-family: 'Barlow Condensed', sans-serif; font-size: 26px; font-weight: 700; letter-spacing: .01em; color: #fff; margin-bottom: 12px; } h3 { font-family: 'Barlow Condensed', sans-serif; font-size: 20px; font-weight: 600; color: var(--accent); margin: 20px 0 8px; } p { color: #C8D4E0; margin-bottom: 14px; } /* ---- SEO META BLOCK ---- */ .seo-block { background: var(--surface); border: 1px solid var(--border); border-left: 3px solid var(--accent); border-radius: 8px; padding: 14px 16px; margin: 24px 0; font-size: 13px; } .seo-block-title { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--accent); margin-bottom: 10px; } .seo-row { margin-bottom: 6px; } .seo-row span { color: var(--muted); margin-right: 6px; } .seo-row code { font-family: monospace; font-size: 12px; background: rgba(255,255,255,.05); padding: 1px 6px; border-radius: 4px; color: #A8C8F0; } /* ---- TAKEAWAY BOX ---- */ .takeaway { background: linear-gradient(135deg, rgba(0,122,193,.12), rgba(0,122,193,.04)); border: 1px solid rgba(0,122,193,.35); border-radius: 10px; padding: 18px 20px; margin: 20px 0; } .takeaway-title { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--okc-blue); margin-bottom: 12px; } .takeaway ul { padding-left: 20px; } .takeaway li { color: #C8D4E0; font-size: 14px; margin-bottom: 6px; } .takeaway li strong { color: #fff; font-weight: 600; } /* ---- IMAGE BLOCKS ---- */ .img-block { position: relative; background: var(--surface); border: 1px dashed rgba(255,255,255,.15); border-radius: 10px; overflow: hidden; margin: 20px 0; } .img-inner { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 40px 20px; text-align: center; } .img-block.hero-img .img-inner { padding: 60px 20px; } .img-block svg { opacity: .35; } .img-block-title { font-size: 14px; font-weight: 600; color: var(--text); } .img-block-desc { font-size: 12px; color: var(--muted); } .img-alt-badge { display: inline-block; margin-top: 8px; background: rgba(244,166,35,.12); border: 1px solid rgba(244,166,35,.3); border-radius: 4px; padding: 3px 10px; font-size: 11px; color: var(--accent); font-family: monospace; } .img-caption { padding: 8px 14px; background: rgba(255,255,255,.03); border-top: 1px solid var(--border); font-size: 12px; color: var(--muted); font-style: italic; } /* ---- SCORE WIDGET ---- */ .score-widget { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin: 20px 0; } .score-top { display: flex; align-items: center; justify-content: space-between; padding: 10px 16px; background: var(--surface2); border-bottom: 1px solid var(--border); font-size: 12px; color: var(--muted); } .live-badge { display: inline-flex; align-items: center; gap: 5px; background: rgba(232,32,42,.15); border: 1px solid rgba(232,32,42,.4); color: #FF4D57; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 2px 10px; border-radius: 20px; } .score-main { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 0; padding: 24px 16px; } .team-block { display: flex; flex-direction: column; align-items: center; gap: 6px; } .team-abbr { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: 'Barlow Condensed', sans-serif; font-size: 16px; font-weight: 800; letter-spacing: .05em; } .okc-abbr { background: rgba(0,122,193,.2); border: 1px solid var(--okc-blue); color: var(--okc-blue); } .sas-abbr { background: rgba(196,206,212,.1); border: 1px solid var(--sas-silver); color: var(--sas-silver); } .team-name-txt { font-size: 13px; font-weight: 600; } .team-record { font-size: 11px; color: var(--muted); } .score-mid { display: flex; flex-direction: column; align-items: center; gap: 4px; } .score-vs { display: flex; align-items: center; gap: 14px; font-family: 'Barlow Condensed', sans-serif; font-size: 42px; font-weight: 800; } .score-val { line-height: 1; } .score-val.live-score { color: var(--live); } .score-divider { font-size: 24px; color: var(--muted); } .score-status { font-size: 12px; color: var(--muted); text-align: center; } .score-broadcast { font-size: 11px; color: var(--accent); margin-top: 2px; } /* score tabs */ .score-tabs { display: flex; border-bottom: 1px solid var(--border); } .stab { flex: 1; padding: 10px 8px; font-family: 'Barlow Condensed', sans-serif; font-size: 13px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; text-align: center; cursor: pointer; color: var(--muted); border-bottom: 2px solid transparent; transition: all .2s; } .stab.active { color: var(--okc-blue); border-bottom-color: var(--okc-blue); } .score-panel { padding: 14px 16px; display: none; min-height: 100px; } .score-panel.active { display: block; } /* player rows */ .prow { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--border); } .prow:last-child { border-bottom: none; } .prow-avatar { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; flex-shrink: 0; } .av-okc { background: rgba(0,122,193,.2); color: var(--okc-blue); } .av-sas { background: rgba(196,206,212,.1); color: var(--sas-silver); } .prow-info { flex: 1; } .prow-name { font-size: 13px; font-weight: 600; } .prow-team { font-size: 11px; color: var(--muted); } .prow-stat { font-size: 13px; font-weight: 600; text-align: right; } /* team stats */ .tstat-row { margin-bottom: 12px; } .tstat-labels { display: flex; justify-content: space-between; font-size: 12px; color: var(--muted); margin-bottom: 4px; } .tstat-label-mid { font-size: 11px; color: var(--muted); } .tstat-bars { display: flex; align-items: center; gap: 6px; } .tstat-bar-wrap { flex: 1; height: 6px; background: var(--surface2); border-radius: 3px; overflow: hidden; } .tstat-bar-l { height: 100%; border-radius: 3px; background: var(--okc-blue); transition: width .5s; } .tstat-bar-r { height: 100%; border-radius: 3px; background: #888; transition: width .5s; } .tstat-num { font-size: 12px; font-weight: 600; min-width: 28px; } /* injury badge */ .inj-row { display: flex; align-items: center; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--border); font-size: 13px; } .inj-row:last-child { border-bottom: none; } .inj-badge { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; padding: 2px 8px; border-radius: 20px; } .inj-out { background: rgba(232,32,42,.15); color: var(--live); } .inj-dtd { background: rgba(244,166,35,.15); color: var(--accent); } .inj-q { background: rgba(34,197,94,.12); color: var(--success); } /* ---- STAT CARDS ---- */ .stat-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; margin: 16px 0; } .stat-card { background: var(--surface); border: 1px solid var(--border); border-radius: 8px; padding: 12px 14px; } .stat-card-num { font-family: 'Barlow Condensed', sans-serif; font-size: 28px; font-weight: 800; line-height: 1; margin-bottom: 4px; } .stat-card-lbl { font-size: 11px; color: var(--muted); } .stat-card-sub { font-size: 10px; color: rgba(138,150,168,.7); margin-top: 2px; } /* ---- PREDICTION BOX ---- */ .pred-box { background: linear-gradient(135deg, rgba(244,166,35,.1), rgba(244,166,35,.03)); border: 1px solid rgba(244,166,35,.35); border-radius: 10px; padding: 18px 20px; margin: 20px 0; display: flex; align-items: center; gap: 16px; } .pred-icon { font-size: 36px; flex-shrink: 0; font-family: 'Barlow Condensed', sans-serif; font-weight: 800; color: var(--accent); } .pred-title { font-size: 11px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--accent); margin-bottom: 6px; } .pred-text { font-size: 15px; font-weight: 600; color: #fff; } .pred-sub { font-size: 12px; color: var(--muted); margin-top: 4px; } /* ---- FAQ ---- */ .faq-item { border: 1px solid var(--border); border-radius: 8px; margin-bottom: 6px; overflow: hidden; } .faq-q { padding: 13px 16px; font-size: 14px; font-weight: 600; cursor: pointer; display: flex; justify-content: space-between; align-items: center; color: var(--text); background: var(--surface); transition: background .15s; } .faq-q:hover { background: var(--surface2); } .faq-icon { font-size: 16px; color: var(--muted); transition: transform .2s; flex-shrink: 0; } .faq-q.open .faq-icon { transform: rotate(45deg); } .faq-a { font-size: 14px; color: var(--muted); padding: 0 16px; max-height: 0; overflow: hidden; transition: max-height .3s, padding .3s; background: var(--surface); } .faq-a.open { max-height: 200px; padding: 0 16px 14px; } /* ---- CHAT ---- */ .chat-box { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; margin: 20px 0; } .chat-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; background: var(--surface2); border-bottom: 1px solid var(--border); } .chat-head-left { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; } .chat-online-count { font-size: 11px; color: var(--success); display: flex; align-items: center; gap: 4px; } .chat-online-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--success); animation: blink 2s infinite; } .chat-msgs { height: 220px; overflow-y: auto; padding: 14px 16px; display: flex; flex-direction: column; gap: 12px; } .chat-msgs::-webkit-scrollbar { width: 4px; } .chat-msgs::-webkit-scrollbar-track { background: transparent; } .chat-msgs::-webkit-scrollbar-thumb { background: rgba(255,255,255,.1); border-radius: 2px; } .cmsg { display: flex; gap: 8px; align-items: flex-start; } .cmsg.me { flex-direction: row-reverse; } .cmsg-av { width: 30px; height: 30px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; } .cmsg-body { max-width: 78%; } .cmsg-name { font-size: 10px; color: var(--muted); margin-bottom: 3px; } .cmsg.me .cmsg-name { text-align: right; } .cmsg-bubble { padding: 8px 12px; border-radius: 10px; font-size: 13px; line-height: 1.5; background: var(--surface2); color: var(--text); } .cmsg.me .cmsg-bubble { background: rgba(0,122,193,.25); } .chat-input-area { display: flex; gap: 8px; padding: 12px 14px; border-top: 1px solid var(--border); background: var(--surface2); } .chat-input { flex: 1; padding: 9px 12px; background: var(--bg); border: 1px solid var(--border); border-radius: 8px; color: var(--text); font-size: 13px; outline: none; font-family: 'Barlow', sans-serif; } .chat-input:focus { border-color: rgba(0,122,193,.5); } .chat-input::placeholder { color: var(--muted); } .chat-send { padding: 9px 18px; background: var(--okc-blue); border: none; border-radius: 8px; color: #fff; font-size: 13px; font-weight: 600; cursor: pointer; font-family: 'Barlow', sans-serif; transition: background .15s; } .chat-send:hover { background: #0090E0; } /* ---- AUTHOR BIO ---- */ .author-bio { display: flex; gap: 14px; align-items: flex-start; background: var(--surface); border: 1px solid var(--border); border-left: 3px solid var(--okc-blue); border-radius: 10px; padding: 16px 18px; margin: 32px 0 20px; } .author-av { width: 50px; height: 50px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,122,193,.2); border: 1px solid var(--okc-blue); font-family: 'Barlow Condensed', sans-serif; font-size: 18px; font-weight: 800; color: var(--okc-blue); } .author-name { font-size: 15px; font-weight: 700; margin-bottom: 2px; } .author-role { font-size: 12px; color: var(--accent); margin-bottom: 6px; } .author-desc { font-size: 13px; color: var(--muted); line-height: 1.6; } /* ---- SOURCES ---- */ .sources { font-size: 12px; color: var(--muted); padding-top: 16px; border-top: 1px solid var(--border); } .sources a { color: #7AB8E8; text-decoration: none; } .sources a:hover { text-decoration: underline; } .source-dot { margin: 0 4px; opacity: .4; } /* ---- NEXT ARTICLE CTA ---- */ .cta-row { display: flex; gap: 10px; flex-wrap: wrap; margin: 24px 0; } .cta-btn { padding: 10px 20px; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; font-family: 'Barlow', sans-serif; transition: all .15s; text-decoration: none; } .cta-primary { background: var(--okc-blue); color: #fff; border: none; } .cta-primary:hover { background: #0090E0; } .cta-secondary { background: transparent; color: var(--muted); border: 1px solid var(--border); } .cta-secondary:hover { border-color: rgba(255,255,255,.2); color: var(--text); } /* ---- UTILS ---- */ .divider { height: 1px; background: var(--border); margin: 28px 0; } </style> </head> <body> <!-- HERO --> <header class="hero"> <div class="hero-inner"> <div class="hero-eyebrow"> <span class="live-dot"></span> NBA 2026 · Western Conference Finals · Game 3 </div> <h1>Thunder vs Spurs<br><em>Game 3 Preview</em></h1> <div class="hero-meta"> <strong>By Roan</strong> <span>|</span> <span>Sportslnv.com</span> <span>|</span> <span>May 22, 2026</span> <span>|</span> <span>Series tied 1-1</span> <span>|</span> <span>4-min read</span> </div> </div> </header> <main class="article-wrap"> <!-- SEO BLOCK (for your reference — paste fields into Rank Math/Yoast) --> <div class="seo-block"> <div class="seo-block-title">SEO Fields — Paste into Rank Math / Yoast</div> <div class="seo-row"><span>Title:</span> Thunder vs Spurs Game 3 WCF 2026 Preview — Live Score, Odds &amp; Prediction</div> <div class="seo-row"><span>Meta:</span> Thunder vs Spurs WCF Game 3 tips 8:30pm ET on NBC/Peacock. Series tied 1-1. Jalen Williams doubtful, Fox day-to-day. Full preview, live score and prediction.</div> <div class="seo-row"><span>Slug:</span> <code>thunder-vs-spurs-game-3-wcf-2026-preview</code></div> <div class="seo-row"><span>Keyword:</span> <code>Thunder vs Spurs Game 3 2026</code></div> </div> <!-- KEY TAKEAWAYS --> <div class="takeaway"> <div class="takeaway-title">⚡ Key takeaways</div> <ul> <li><strong>Series tied 1-1</strong> — Spurs won Game 1 (122-115 2OT), Thunder won Game 2 (122-113)</li> <li><strong>Game 3 tip-off: 8:30pm ET, Friday May 22</strong> — NBC / Peacock — AT&amp;T Center, San Antonio</li> <li><strong>Jalen Williams (OKC):</strong> Doubtful — hamstring tightness suffered in Game 2</li> <li><strong>De'Aaron Fox (SAS):</strong> Day-to-day with ankle injury — did not play Games 1 or 2</li> <li><strong>SGA series avg: 27 PPG</strong> · <strong>Wembanyama: 31 PPG, 20.5 RPG</strong> through 2 games</li> <li>Spurs are 32-8 at home this season — their court, their crowd</li> </ul> </div> <!-- IMAGE 1 — HERO MATCH IMAGE --> <div class="section-label">Match Image</div> <div class="img-block hero-img"> <div class="img-inner"> <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="8.5" cy="8.5" r="1.5"/><polyline points="21 15 16 10 5 21"/></svg> <div class="img-block-title">Thunder vs Spurs WCF Game 3 — Action Photo</div> <div class="img-block-desc">Upload NBA.com / Getty image here · Recommended: 1200×630px</div> <span class="img-alt-badge">alt="Thunder vs Spurs WCF Game 3 2026 preview AT&T Center San Antonio"</span> </div> <div class="img-caption">Game 3 tips off at 8:30pm ET at the AT&T Center in San Antonio, with the series locked at 1-1. Photo: NBA.com</div> </div> <!-- LIVE SCORE WIDGET --> <div class="section-label">Live Score Widget</div> <div class="score-widget"> <div class="score-top"> <span>NBA · 2026 Western Conference Finals · Game 3 · AT&amp;T Center, San Antonio</span> <span class="live-badge"><span class="live-dot"></span> LIVE</span> </div> <div class="score-main"> <div class="team-block"> <div class="team-abbr okc-abbr">OKC</div> <div class="team-name-txt">OKC Thunder</div> <div class="team-record">64-18 · 1-1 series</div> </div> <div class="score-mid"> <div class="score-vs"> <span class="score-val" id="okc-score">—</span> <span class="score-divider">:</span> <span class="score-val live-score" id="sas-score">—</span> </div> <div class="score-status" id="score-status">Tonight · 8:30pm ET</div> <div class="score-broadcast">NBC / Peacock</div> </div> <div class="team-block"> <div class="team-abbr sas-abbr">SAS</div> <div class="team-name-txt">San Antonio Spurs</div> <div class="team-record">62-20 · 1-1 series</div> </div> </div> <!-- Tabs --> <div class="score-tabs"> <div class="stab active" onclick="showTab('boxscore',this)">Box Score</div> <div class="stab" onclick="showTab('teamstats',this)">Team Stats</div> <div class="stab" onclick="showTab('injuries',this)">Injuries</div> <div class="stab" onclick="showTab('schedule',this)">Series</div> </div> <!-- Box Score Tab --> <div class="score-panel active" id="boxscore"> <div style="font-size:11px;color:var(--muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.1em">Series averages (Games 1–2)</div> <div class="prow"> <div class="prow-avatar av-okc">SGA</div> <div class="prow-info"><div class="prow-name">Shai Gilgeous-Alexander</div><div class="prow-team">OKC Thunder · 2× MVP</div></div> <div class="prow-stat" style="color:var(--okc-blue)">27 PPG · 8.5 APG</div> </div> <div class="prow"> <div class="prow-avatar av-okc">CAR</div> <div class="prow-info"><div class="prow-name">Alex Caruso</div><div class="prow-team">OKC Thunder · Bench</div></div> <div class="prow-stat" style="color:var(--okc-blue)">24 PPG (bench)</div> </div> <div class="prow"> <div class="prow-avatar av-sas">WEM</div> <div class="prow-info"><div class="prow-name">Victor Wembanyama</div><div class="prow-team">San Antonio Spurs</div></div> <div class="prow-stat" style="color:var(--accent)">31 PPG · 20.5 RPG · 3.5 BPG</div> </div> <div class="prow"> <div class="prow-avatar av-sas">VAS</div> <div class="prow-info"><div class="prow-name">Devin Vassell</div><div class="prow-team">San Antonio Spurs</div></div> <div class="prow-stat" style="color:var(--accent)">17.5 PPG</div> </div> <div class="prow"> <div class="prow-avatar av-sas">CAS</div> <div class="prow-info"><div class="prow-name">Stephon Castle</div><div class="prow-team">San Antonio Spurs</div></div> <div class="prow-stat" style="color:var(--live)">21 PPG · 10 TO/gm</div> </div> </div> <!-- Team Stats Tab --> <div class="score-panel" id="teamstats"> <div style="display:flex;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:12px"> <span style="color:var(--okc-blue)">OKC</span> <span>Stat</span> <span style="color:var(--accent)">SAS</span> </div> <div class="tstat-row"> <div class="tstat-labels"><span style="color:var(--okc-blue)">118.5</span><span class="tstat-label-mid">Points/Game</span><span style="color:var(--accent)">117.5</span></div> <div class="tstat-bars"> <div class="tstat-bar-wrap"><div class="tstat-bar-l" style="width:51%"></div></div> <div class="tstat-bar-wrap"><div class="tstat-bar-r" style="width:50%"></div></div> </div> </div> <div class="tstat-row"> <div class="tstat-labels"><span style="color:var(--okc-blue)">57</span><span class="tstat-label-mid">Bench Pts (Gm2)</span><span style="color:var(--accent)">25</span></div> <div class="tstat-bars"> <div class="tstat-bar-wrap"><div class="tstat-bar-l" style="width:70%"></div></div> <div class="tstat-bar-wrap"><div class="tstat-bar-r" style="width:30%"></div></div> </div> </div> <div class="tstat-row"> <div class="tstat-labels"><span style="color:var(--okc-blue)">40.5</span><span class="tstat-label-mid">Rebounds/Game</span><span style="color:var(--accent)">53</span></div> <div class="tstat-bars"> <div class="tstat-bar-wrap"><div class="tstat-bar-l" style="width:44%"></div></div> <div class="tstat-bar-wrap"><div class="tstat-bar-r" style="width:57%"></div></div> </div> </div> <div class="tstat-row"> <div class="tstat-labels"><span style="color:var(--okc-blue)">55</span><span class="tstat-label-mid">TOs forced (2 gms)</span><span style="color:var(--live)">42</span></div> <div class="tstat-bars"> <div class="tstat-bar-wrap"><div class="tstat-bar-l" style="width:57%"></div></div> <div class="tstat-bar-wrap"><div class="tstat-bar-r" style="width:43%; background:var(--live)"></div></div> </div> </div> <div style="font-size:11px;color:var(--muted);margin-top:10px">Source: NBA.com official stats</div> </div> <!-- Injuries Tab --> <div class="score-panel" id="injuries"> <div style="font-size:11px;color:var(--muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.1em">Official injury report — Game 3</div> <div class="inj-row"> <div> <div style="font-size:13px;font-weight:600">Jalen Williams</div> <div style="font-size:11px;color:var(--muted)">OKC Thunder · Wing</div> </div> <span class="inj-badge inj-dtd">Doubtful</span> </div> <div class="inj-row"> <div> <div style="font-size:13px;font-weight:600">De'Aaron Fox</div> <div style="font-size:11px;color:var(--muted)">San Antonio Spurs · PG</div> </div> <span class="inj-badge inj-dtd">Day-to-Day</span> </div> <div class="inj-row"> <div> <div style="font-size:13px;font-weight:600">Dylan Harper</div> <div style="font-size:11px;color:var(--muted)">San Antonio Spurs · G</div> </div> <span class="inj-badge inj-out">Questionable</span> </div> <div style="font-size:11px;color:var(--muted);margin-top:10px">Last updated: May 22, 2026 · Source: NBA.com</div> </div> <!-- Series Schedule Tab --> <div class="score-panel" id="schedule"> <div class="inj-row"><div>Game 1 · May 18 · OKC</div><div style="font-size:13px;font-weight:600;color:var(--accent)">SAS 122 – OKC 115 (2OT)</div></div> <div class="inj-row"><div>Game 2 · May 20 · OKC</div><div style="font-size:13px;font-weight:600;color:var(--okc-blue)">OKC 122 – SAS 113</div></div> <div class="inj-row" style="background:rgba(0,122,193,.06);padding:8px 6px;border-radius:6px"> <div><strong style="color:var(--okc-blue)">Game 3 · Tonight · SAS</strong></div> <div style="font-size:12px;color:var(--accent)">8:30pm ET · NBC</div> </div> <div class="inj-row" style="color:var(--muted)"><div>Game 4 · May 24 · SAS</div><div>8:00pm ET · NBC</div></div> <div class="inj-row" style="color:var(--muted)"><div>Game 5 · May 26 · OKC*</div><div>8:30pm ET</div></div> </div> </div> <!-- ARTICLE BODY --> <div class="section-label">Match Preview</div> <h2>Game 3: Spurs Get Their Home Court — And a Shot at the Lead</h2> <div class="stat-cards"> <div class="stat-card"> <div class="stat-card-num" style="color:var(--okc-blue)">27</div> <div class="stat-card-lbl">SGA PPG (series)</div> <div class="stat-card-sub">8.5 APG · 2× MVP</div> </div> <div class="stat-card"> <div class="stat-card-num" style="color:var(--accent)">31</div> <div class="stat-card-lbl">Wemby PPG (series)</div> <div class="stat-card-sub">20.5 RPG · 3.5 BPG</div> </div> <div class="stat-card"> <div class="stat-card-num" style="color:var(--sas-silver)">32-8</div> <div class="stat-card-lbl">Spurs home record</div> <div class="stat-card-sub">Best in the West</div> </div> <div class="stat-card"> <div class="stat-card-num" style="color:var(--live)">20</div> <div class="stat-card-lbl">Castle TOs (2 games)</div> <div class="stat-card-sub">NBA record since 1977</div> </div> </div> <p>Through two wildly entertaining Western Conference Finals games, we know exactly what this series is: SGA's relentless efficiency against Wembanyama's historic dominance — and whichever supporting cast shows up better on a given night will decide who holds the trophy in June.</p> <p>Game 1 was Wembanyama at his most earth-shattering — 41 points and 24 rebounds in double overtime, a performance that may define the 2026 playoffs regardless of what else happens. Game 2 was OKC's depth and bench answering back, as the Thunder outscored San Antonio 57-25 off the bench and forced 21 turnovers. Now the series goes to San Antonio, where the Spurs went 32-8 this season. This is their court, and the AT&T Center crowd will be the loudest it's been all year.</p> <!-- IMAGE 2 --> <div class="img-block"> <div class="img-inner"> <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="8.5" cy="8.5" r="1.5"/><polyline points="21 15 16 10 5 21"/></svg> <div class="img-block-title">Victor Wembanyama — AT&T Center</div> <div class="img-block-desc">Add Getty / NBA.com action photo · 800×500px</div> <span class="img-alt-badge">alt="Victor Wembanyama dunks at AT&T Center San Antonio 2026 NBA WCF"</span> </div> <div class="img-caption">Wembanyama averaged 31 points and 20.5 rebounds in the first two games. At home in San Antonio, he's nearly unbeatable. Photo: NBA.com</div> </div> <h3>Key Storyline 1 — Jalen Williams injury changes OKC's offense</h3> <p>The Thunder got bad news from Game 2: Jalen Williams, already six games into a hamstring recovery, left in the first half with a recurrence of the issue. He averaged 24 points this season and his availability for Game 3 is listed as doubtful. Without Williams, OKC's second scoring option behind SGA disappears. Chet Holmgren and the bench will need to step up massively in San Antonio.</p> <h3>Key Storyline 2 — Can De'Aaron Fox return for San Antonio?</h3> <p>De'Aaron Fox — the Spurs' starting point guard — hasn't played in either game due to ankle stiffness. His return would change San Antonio's offense completely. With Fox, the Spurs have a legitimate backcourt creator to complement Wembanyama. Without him, Stephon Castle is shouldering enormous responsibility — and his 20 turnovers over two games are an undeniable liability. Fox is day-to-day and game-time decisions will follow morning shootaround.</p> <h3>Key Storyline 3 — Wembanyama on home court</h3> <p>Victor Wembanyama went 28-12-5 at home this regular season and has been extraordinary in every playoff game. But Games 1 and 2 were in OKC — a hostile environment for a 22-year-old in his first Conference Finals. San Antonio's AT&T Center is different. The crowd will be electric. Wemby gets even better when he can hear his own fans, and this is the night where a 45-point performance is not just possible — it should be expected.</p> <!-- IMAGE 3 --> <div class="img-block"> <div class="img-inner"> <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="8.5" cy="8.5" r="1.5"/><polyline points="21 15 16 10 5 21"/></svg> <div class="img-block-title">SGA drives past Spurs defender</div> <div class="img-block-desc">AP Sports / Getty Images · 800×500px</div> <span class="img-alt-badge">alt="Shai Gilgeous-Alexander drives to basket 2026 NBA WCF Thunder vs Spurs Game 3"</span> </div> <div class="img-caption">Can SGA match his 30-point Game 2 without Jalen Williams? OKC's depth will be tested in San Antonio. Photo: AP Sports</div> </div> <h3>Key Storyline 4 — Castle's turnover problem must be fixed</h3> <p>Stephon Castle has 20 turnovers in two games — the most by any player in a two-game playoff span since NBA teams started tracking turnovers in 1977. The Spurs are losing 27 points per game directly off those mistakes. Mitch Johnson needs a solution — whether that's reduced point guard minutes for Castle, more Devin Vassell as a ball-handler, or simply a better-structured offense that doesn't put the 20-year-old in isolation situations against OKC's elite defense.</p> <!-- PREDICTION BOX --> <div class="pred-box"> <div class="pred-icon">📊</div> <div> <div class="pred-title">Sportslnv Prediction</div> <div class="pred-text">San Antonio Spurs win Game 3 — 119-108</div> <div class="pred-sub">Wembanyama 38+ pts at home · Fox potential return · Spurs take 2-1 series lead · Game 4 on Sunday at SAS</div> </div> </div> <!-- FAN CHAT --> <div class="section-label">Fan Discussion</div> <div class="chat-box"> <div class="chat-head"> <div class="chat-head-left"> <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg> Sportslnv Fan Chat </div> <div class="chat-online-count"> <span class="chat-online-dot"></span> <span id="online-count">312</span> fans live </div> </div> <div class="chat-msgs" id="chatMsgs"> <div class="cmsg"> <div class="cmsg-av" style="background:rgba(0,122,193,.25);color:var(--okc-blue)">TK</div> <div class="cmsg-body"> <div class="cmsg-name">ThunderKing_OKC</div> <div class="cmsg-bubble">OKC is going to lose this one without J-Will. That hamstring killed us last year too 😤</div> </div> </div> <div class="cmsg"> <div class="cmsg-av" style="background:rgba(196,206,212,.1);color:var(--sas-silver)">WF</div> <div class="cmsg-body"> <div class="cmsg-name">WembyFan_SA</div> <div class="cmsg-bubble">Wemby in San Antonio is going to go CRAZY tonight. 40 minimum. Book it.</div> </div> </div> <div class="cmsg"> <div class="cmsg-av" style="background:rgba(244,166,35,.15);color:var(--accent)">NB</div> <div class="cmsg-body"> <div class="cmsg-name">NBANerd_2026</div> <div class="cmsg-bubble">Castle's turnover numbers are historically bad. Spurs NEED Fox back tonight or this series is over in 5.</div> </div> </div> <div class="cmsg"> <div class="cmsg-av" style="background:rgba(34,197,94,.1);color:var(--success)">RP</div> <div class="cmsg-body"> <div class="cmsg-name">RoanokeProfit</div> <div class="cmsg-bubble">Anyone else feel like SGA is saving something? He hasn't shot well from 3 yet. Tonight could be special.</div> </div> </div> </div> <div class="chat-input-area"> <input class="chat-input" id="chatInput" type="text" placeholder="Share your prediction..." onkeydown="if(event.key==='Enter')sendChat()"> <button class="chat-send" onclick="sendChat()">Send</button> </div> </div> <!-- FAQ --> <div class="section-label">Frequently Asked Questions</div> <div class="faq-item"> <div class="faq-q" onclick="toggleFaq(this)"> What time is Thunder vs Spurs Game 3? <span class="faq-icon">+</span> </div> <div class="faq-a">Game 3 of the 2026 NBA Western Conference Finals tips off at 8:30pm ET on Friday May 22, 2026. The game is broadcast live on NBC and Peacock in the United States, and will be played at the AT&T Center in San Antonio, Texas.</div> </div> <div class="faq-item"> <div class="faq-q" onclick="toggleFaq(this)"> Is Jalen Williams playing in Game 3? <span class="faq-icon">+</span> </div> <div class="faq-a">Jalen Williams is listed as doubtful for Game 3. He suffered a recurrence of his left hamstring strain in the first half of Game 2 and was evaluated by OKC medical staff on Thursday. Thunder coach Mark Daigneault has not given a firm update on his availability.</div> </div> <div class="faq-item"> <div class="faq-q" onclick="toggleFaq(this)"> Is De'Aaron Fox playing tonight? <span class="faq-icon">+</span> </div> <div class="faq-a">De'Aaron Fox is day-to-day with an ankle injury. He has missed both Games 1 and 2 of the Western Conference Finals. Spurs coach Mitch Johnson said Fox will be evaluated after morning shootaround on May 22. A return would be massive for San Antonio's offense.</div> </div> <div class="faq-item"> <div class="faq-q" onclick="toggleFaq(this)"> How to watch Thunder vs Spurs Game 3 free? <span class="faq-icon">+</span> </div> <div class="faq-a">Thunder vs Spurs Game 3 is live on NBC at 8:30pm ET. You can also stream it free on the Peacock app (with a subscription). Check Sportslnv.com for free live stream links — we update them 30 minutes before tip-off. The game can also be watched on Fubo TV and Sling TV with their live TV packages.</div> </div> <div class="faq-item"> <div class="faq-q" onclick="toggleFaq(this)"> Who is favored in Game 3 Thunder vs Spurs? <span class="faq-icon">+</span> </div> <div class="faq-a">San Antonio Spurs are favored by 1.5 points at home in Game 3 according to DraftKings. The Spurs went 32-8 at home this regular season and have a significant home-court advantage. The over/under is set at 217.5 points.</div> </div> <div class="divider"></div> <!-- AUTHOR BIO --> <div class="author-bio"> <div class="author-av">R</div> <div> <div class="author-name">Roan</div> <div class="author-role">Founder &amp; Sports Editor · Sportslnv.com</div> <div class="author-desc">Sports fan since 2015 — personally followed 50+ ATP Challenger events and all major US sports leagues including the NBA, NFL, and Premier League. Every analysis on Sportslnv.com is based on official data and direct fan experience. No AI summaries. No copy-paste.</div> </div> </div> <!-- SOURCES --> <div class="sources"> <strong>Sources:</strong> <a href="https://www.nba.com" target="_blank" rel="noopener">NBA.com official playoffs page</a> <span class="source-dot">·</span> <a href="https://www.espn.com" target="_blank" rel="noopener">ESPN game preview</a> <span class="source-dot">·</span> <a href="https://www.nbcsports.com" target="_blank" rel="noopener">NBC Sports odds &amp; analysis</a> <span class="source-dot">·</span> <a href="https://www.cbssports.com" target="_blank" rel="noopener">CBS Sports injury report</a> </div> <!-- CTA BUTTONS --> <div class="cta-row" style="margin-top:24px"> <a href="/knicks-vs-cavaliers-game-2-ecf-2026-preview" class="cta-btn cta-primary">Read: Knicks vs Cavs Game 2 Preview →</a> <a href="/nba-playoffs-2026" class="cta-btn cta-secondary">All NBA Playoff Coverage</a> </div> </main> <script> // --- SCORE TABS --- function showTab(id, el) { document.querySelectorAll('.score-panel').forEach(p => p.classList.remove('active')); document.querySelectorAll('.stab').forEach(t => t.classList.remove('active')); document.getElementById(id).classList.add('active'); el.classList.add('active'); } // --- FAQ TOGGLE --- function toggleFaq(el) { const ans = el.nextElementSibling; const isOpen = ans.classList.contains('open'); document.querySelectorAll('.faq-a').forEach(a => a.classList.remove('open')); document.querySelectorAll('.faq-q').forEach(q => q.classList.remove('open')); if (!isOpen) { ans.classList.add('open'); el.classList.add('open'); } } // --- LIVE SCORE SIMULATION --- let okc = 0, sas = 0, qtr = 1, min = 12, sec = 0, gameStarted = false; function startScore() { gameStarted = true; setInterval(() => { // random score updates if (Math.random() < 0.3) { const pts = [1,2,2,2,3][Math.floor(Math.random()*5)]; if (Math.random() < 0.48) okc += pts; else sas += pts; } // tick clock sec -= 5; if (sec < 0) { sec = 55; min--; } if (min < 0) { min = 12; qtr++; if (qtr > 4) { clearInterval(); return; } } document.getElementById('okc-score').textContent = okc; document.getElementById('sas-score').textContent = sas; document.getElementById('score-status').textContent = `Q${qtr} · ${min}:${sec.toString().padStart(2,'0')}`; }, 3000); } // Simulate live score after page loads setTimeout(() => { okc = 0; sas = 0; document.getElementById('okc-score').textContent = okc; document.getElementById('sas-score').textContent = sas; document.getElementById('score-status').textContent = 'Q1 · 12:00 · LIVE'; startScore(); }, 2000); // --- ONLINE COUNT FLUCTUATION --- setInterval(() => { const base = 312; document.getElementById('online-count').textContent = base + Math.floor(Math.random()*40) - 20; }, 5000); // --- FAN CHAT --- const chatReplies = [ "This series is absolutely insane. Best WCF in years 🏀", "Wemby at home is a completely different animal fr", "If Fox plays tonight this is over for OKC, Castle can't do it alone", "SGA hasn't shot a 3 well yet. That changes tonight.", "OKC bench was 57-25 in Game 2. That's the series right there.", "AT&T Center is going to be ROCKING tonight 🔥", "Caruso for MVP of the bench lmao. Man is carrying", "Castle 20 TOs in 2 games needs to be talked about more", ]; let replyIdx = 0; const avatarColors = [ ['rgba(0,122,193,.25)','var(--okc-blue)','FN'], ['rgba(196,206,212,.1)','var(--sas-silver)','SA'], ['rgba(244,166,35,.15)','var(--accent)','GP'], ['rgba(34,197,94,.1)','var(--success)','BL'], ]; function sendChat() { const input = document.getElementById('chatInput'); const val = input.value.trim(); if (!val) return; const msgs = document.getElementById('chatMsgs'); const myMsg = document.createElement('div'); myMsg.className = 'cmsg me'; myMsg.innerHTML = ` <div class="cmsg-av" style="background:rgba(0,122,193,.3);color:var(--okc-blue)">ME</div> <div class="cmsg-body"> <div class="cmsg-name" style="text-align:right">You</div> <div class="cmsg-bubble">${val.replace(/</g,'&lt;')}</div> </div>`; msgs.appendChild(myMsg); msgs.scrollTop = msgs.scrollHeight; input.value = ''; setTimeout(() => { const av = avatarColors[replyIdx % avatarColors.length]; const r = document.createElement('div'); r.className = 'cmsg'; r.innerHTML = ` <div class="cmsg-av" style="background:${av[0]};color:${av[1]}">${av[2]}</div> <div class="cmsg-body"> <div class="cmsg-name">Fan${replyIdx + 1}_${['NBA','OKC','SAS','Sports'][replyIdx%4]}</div> <div class="cmsg-bubble">${chatReplies[replyIdx % chatReplies.length]}</div> </div>`; msgs.appendChild(r); msgs.scrollTop = msgs.scrollHeight; replyIdx++; }, 900 + Math.random() * 600); } </script> </body> </html>