<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:dc="https://purl.org/dc/elements/1.1/"
     xmlns:dcterms="http://purl.org/dc/terms/"
     xmlns:media="http://search.yahoo.com/mrss/"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:cf="https://www.futureplc.com/rss/content-flags"
>
    <channel>
                    <atom:link href="https://www.tomsguide.com/feeds/tag/playstation" rel="self" type="application/rss+xml" />
                            <title><![CDATA[ Latest from Tom's Guide in Playstation ]]></title>
                <link>https://www.tomsguide.com/gaming/playstation</link>
        <description><![CDATA[ All the latest playstation content from the Tom's Guide team ]]></description>
                                    <lastBuildDate>Sat, 01 Aug 2026 01:43:09 +0000</lastBuildDate>
                            <language>en</language>
                                <item>
                                                            <title><![CDATA[ Sony is ditching discs as storage prices explode — here's how much it will cost you to download all 37 first-party games to your PS5 in 2026 ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/sony-is-ditching-discs-as-storage-prices-explode-heres-how-much-it-will-cost-you-to-download-all-37-first-party-games-to-your-ps5-in-2026</link>
                                                                            <description>
                            <![CDATA[ Here's how much storage you need to download every first-party PS5 game, and how much that large-capacity M.2 SSD will cost you. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">PgENZJRXYEEpU3HnAst2ZR</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/5hFD4w7688Ez8ofbMm7Kd5-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 01 Aug 2026 01:43:09 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/5hFD4w7688Ez8ofbMm7Kd5-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide/Rory Mellon]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[PS5 hard drive and PS5 game cases]]></media:description>                                                            <media:text><![CDATA[PS5 hard drive and PS5 game cases]]></media:text>
                                <media:title type="plain"><![CDATA[PS5 hard drive and PS5 game cases]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/5hFD4w7688Ez8ofbMm7Kd5-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>This week, Sony held its Q3 earnings call where the company confirmed that it is "cautiously" moving forward with plans to stop producing physical versions of PlayStation games starting in 2028, CFO Lin Tao said (see Tao's comments in this <a href="https://x.com/ethangach/status/2083096283720356284" target="_blank">video from Kotaku's Ethan Gach</a>).</p><p>“When we think about the future, and we put in a lot of thought and time, and we cautiously considered this, and we came to this conclusion. And we’re going to cautiously move this forward,” Tao said.</p><p>Sony has been receiving near-daily backlash from gamers online; most of the backlash isn't over the medium of discs itself but a perceived lack of ownership since most digital sales are "licenses," not something you actually own. Data from <a href="https://bsky.app/profile/matpiscatella.bsky.social/post/3mrd2dzqyvk2l" target="_blank">Circana analyst Mat Piscatella</a> highlighted that in 2008 over 100 PlayStation games sold more than 100,000 copies. This year, only 7 reached that mark.</p><p>Unfortunately, Sony made this announcement just as prices are <a href="https://www.tomsguide.com/computing/hardware/sk-hynix-warns-2027-will-be-worst-year-for-ram-prices-right-as-a-damning-report-reveals-something-that-will-add-fuel-to-the-price-fixing-lawsuit">skyrocketing for RAM and storage</a>, forcing hikes on <a href="https://www.tomsguide.com/phones/iphones/we-reluctantly-raised-prices-tim-cook-weighs-in-on-hikes-as-apple-reports-usd109-billion-in-revenue">everything from phones to laptops</a> and <a href="https://www.tomsguide.com/entertainment/streaming-devices/some-streaming-sticks-are-doubling-in-price-heres-whats-driving-up-costs">anything that requires memory</a> thanks to AI-driven supply constraints.</p><p>With that in mind, I decided to take a look at how much memory you would need for the 37 first-party games released for the PlayStation 5 since it launched in 2020. </p><p>Here's the full list of the games</p><ul><li><strong>Astro Bot</strong></li><li><strong>Astro’s Playroom</strong></li><li><strong>Days Gone Remastered</strong></li><li><strong>Death Stranding: Director’s Cut</strong></li><li><strong>Death Stranding 2: On the Beach</strong></li><li><strong>Demon’s Souls remake</strong></li><li><strong>Ghost of Tsushima: Director’s Cut</strong></li><li><strong>Ghost of Yōtei</strong></li><li><strong>God of War Ragnarök</strong></li><li><strong>God of War: Sons of Sparta</strong></li><li><strong>Gran Turismo 7</strong></li><li><strong>Helldivers 2</strong></li><li><strong>Horizon Forbidden West</strong></li><li><strong>Horizon Zero Dawn Remastered</strong></li><li><strong>Lego Horizon Adventures</strong></li><li><strong>Lost Soul Aside</strong></li><li><strong>Midnight Murder Club</strong></li><li><strong>MLB The Show 21</strong></li><li><strong>MLB The Show 22</strong></li><li><strong>MLB The Show 23</strong></li><li><strong>MLB The Show 24</strong></li><li><strong>MLB The Show 25</strong></li><li><strong>MLB The Show 26</strong></li><li><strong>Nioh collection (Nioh 1 & 2 Remastered)</strong></li><li><strong>Ratchet & Clank: Rift Apart</strong></li><li><strong>Returnal</strong></li><li><strong>Rise of the Ronin</strong></li><li><strong>Sackboy: A Big Adventure</strong></li><li><strong>Saros</strong></li><li><strong>Spider-Man Remastered</strong></li><li><strong>Spider-Man 2</strong></li><li><strong>Spider-Man: Miles Morales</strong></li><li><strong>Stellar Blade</strong></li><li><strong>The Last of Us Part 1 remake</strong></li><li><strong>The Last of Us Part 2 Remastered</strong></li><li><strong>Uncharted: Legacy of Thieves Collection</strong></li><li><strong>Until Dawn remake</strong></li></ul><p>Using the listed download size from the PlayStation Store, I found that the 37 games totaled 2,989.1 GB, or about 2.99 TB. </p><p>The PS5 comes with 1TB of storage, which you can expand with an m.2 SSD or an external hard drive. To fit all of these games, plus whatever extra space is needed for the operating system and any patches you're going to want, at a minimum, a 4TB hard drive. </p><p>At the time of writing, the officially licensed 4TB WD Black NVMe m.2 SSD that PlayStation recommends<a href="https://www.amazon.com/Western-Digital-Officially-Licensed-Expansion/dp/B0C48HN4Z9/" target="_blank" rel="nofollow"> sells for $789.99 on Amazon</a>. That is $400 more than the same hard drive cost a year ago, and about as much as the PS5 Pro.</p><p>The cheapest 4TB drive, possibly compatible with the PS5, that I could find is a <a href="https://www.bestbuy.com/product/samsung-geek-squad-certified-refurbished-990-pro-4tb-internal-ssd-pcie-gen-4x4-nvme-with-heatsink-for-ps5/JCQ6HW393J" target="_blank" rel="nofollow">refurbished Samsung 990 Pro for $419.99 from Best Buy</a>.</p><p>Unfortunately, those prices aren't likely to get better, as SK Hynix, one of the big three RAM manufacturers alongside Samsung and Micron, recently <a href="https://www.tomsguide.com/computing/hardware/sk-hynix-warns-2027-will-be-worst-year-for-ram-prices-right-as-a-damning-report-reveals-something-that-will-add-fuel-to-the-price-fixing-lawsuit">warned that 2027 will be even worse</a> for RAM prices. And it's unlikely to get better by 2028, when Sony will stop making and selling physical copies of PS5 games.</p><p>Between rising prices and fears over ownership, gamers are stuck in a rough spot for the next few years. And that doesn't even account for the higher price they'll likely have to pay for a PS6 to play games from the next console generation.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/tvs/theres-no-way-around-it-sony-tvs-are-priced-higher-than-most-of-the-competition-heres-what-sonys-doing-right-what-its-doing-wrong-and-what-needs-to-change-in-2026">Sony TV report card 2026: Is the 'Sony tax' still worth paying?</a></li><li><a href="https://www.tomsguide.com/gaming/playstation/if-playstation-wants-to-succeed-with-all-digital-it-needs-to-follow-the-steam-model-5-ways-it-can-win-over-gamers-like-me">If PlayStation wants to succeed with all-digital, it needs to follow the Steam model — 5 ways it can win over gamers like me</a></li><li><a href="https://www.tomsguide.com/tvs/theres-no-way-around-it-sony-tvs-are-priced-higher-than-most-of-the-competition-heres-what-sonys-doing-right-what-its-doing-wrong-and-what-needs-to-change-in-2026">Sony TV report card 2026: Is the 'Sony tax' still worth paying?</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ If PlayStation wants to succeed with all-digital, it needs to follow the Steam model — 5 ways it can win over gamers like me ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/if-playstation-wants-to-succeed-with-all-digital-it-needs-to-follow-the-steam-model-5-ways-it-can-win-over-gamers-like-me</link>
                                                                            <description>
                            <![CDATA[ PlayStation appears to be going all-in on digital games. To make this easier on gamers, it should implement some of Steam's policies. Here's what Sony can do. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">RZxxLUXKiNi3NuokYLVCbf</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 18 Jul 2026 15:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ tony.polanco@futurenet.com (Tony Polanco) ]]></author>                    <dc:creator><![CDATA[ Tony Polanco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/atzRNqFt5wYgEUPBDahWsD.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The PlayStation logo on a PS5 Pro]]></media:description>                                                            <media:text><![CDATA[The PlayStation logo on a PS5 Pro]]></media:text>
                                <media:title type="plain"><![CDATA[The PlayStation logo on a PS5 Pro]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><a href="https://www.tomsguide.com/gaming/playstation/playstation-is-officially-killing-physical-discs-heres-when-they-disappear-and-what-that-means-for-you">PlayStation is officially killing physical discs</a>, and gamers aren’t happy. The company’s social media accounts can’t post anything without being slammed with negative comments, and even websites and influencers who are usually fans of PlayStation are taking them to task. Sony has yet to respond to any of this, which is likely making the situation worse. In short, this whole no-disc situation is a mess.</p><p>Sony says that digital now accounts for the vast majority of PlayStation game sales — hitting 85% in the most recent quarter — and it also nets a greater profit from digital purchases than physical, so it’s unlikely the company will reverse this controversial decision. However, if Sony wants to start (re)building trust with its fanbase, there are ways to make an all-digital future more palatable, namely by copying some of what has made Steam successful.</p><p>Steam has been a rousing success on PC for many years. Though Valve doesn’t offer physical games, it provides users with plenty of incentives to remain satisfied with their digital purchases and with the platform overall. I don’t expect Sony to completely copy Steam, but it can adopt similar policies if it ends disc production in January 2028.</p><p>Here are five practical, realistic adaptations Sony can take to make PSN more player-friendly.</p><h2 id="more-frequent-and-enticing-sales">More frequent (and enticing) sales</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ykRy32GfJmDiDjqymNueJf" name="shutterstock_703264159.jpg" alt="Steam storefront on laptop screen." src="https://cdn.mos.cms.futurecdn.net/ykRy32GfJmDiDjqymNueJf.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>While PC gaming has higher upfront costs than consoles, it has become more affordable over time thanks to frequent Steam sales. Steam keeps its online store thriving with major seasonal sales and near-constant publisher promotions. Games also drop in price faster and more aggressively. This is why Steam users (like me) end up with libraries of hundreds of games. It’s hard to pass up a title when it’s just a few bucks!</p><p>The PlayStation Store has its own sales events, such as Days of Play, Black Friday, and other holiday sales, along with weekly deals. However, full-price windows for new games are longer, and we usually only see extreme deep discounts when a game is all but forgotten. I’ve taken advantage of PSN sales and snatched some good titles, but the sales and discounts still don’t match those of Steam.</p><p>In an all-digital world, Sony would have complete control over pricing. Using Steam-style volume-driven discounting on the back catalog (and even earlier on mid-tier titles) would encourage more impulse and library-building purchases, rather than people either waiting for huge discounts or skipping entirely.</p><h2 id="a-true-try-before-you-fully-commit-refund-policy">A true “try before you fully commit” refund policy</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:957px;"><p class="vanilla-image-block" style="padding-top:67.71%;"><img id="sEEJ2czKyykbmZiNdbohSe" name="Screenshot 2025-09-04 100754" alt="Hollow Knight: Silksong store page on Steam" src="https://cdn.mos.cms.futurecdn.net/sEEJ2czKyykbmZiNdbohSe.png" mos="" align="middle" fullscreen="" width="957" height="648" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Steam)</span></figcaption></figure><p>Right now, Steam arguably has the best refund policy in gaming. So long as you play a game for less than two hours total, you have 14 days to receive a full refund. This is a fantastic way to avoid purchasing a game that doesn’t click for you. While not technically a game demo, it pretty much serves the same “try before you buy” ethos.</p><p>PlayStation also has a 14-day refund policy, but it only applies if you haven’t downloaded a game. Once you start downloading, you no longer qualify for a refund unless the file is corrupt or you make a strong case to customer support that you purchased a game in error. This is frustrating enough now, but it will feel even worse if you can’t refund a digital title priced at $70–$80.</p><p>A playtime-based refund window, similar to Steam’s, would go a long way toward increasing purchase confidence without requiring Sony to change its curated store model. It’s actually wild that Sony doesn’t already have a similar policy, but the company should try it now if it plans to go all-in on an all-digital console.</p><h2 id="stronger-household-family-sharing">Stronger household/family sharing</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kq426XFE2gzifzQdVzDYDU" name="steam-home-page.jpg" alt="The home page for Steam" src="https://cdn.mos.cms.futurecdn.net/kq426XFE2gzifzQdVzDYDU.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Steam)</span></figcaption></figure><p>Sharing games is one of the main reasons gamers love physical media. While sharing digital content isn’t the same as handing a copy to someone else, Steam has a digital sharing policy that could work well for Sony.</p><p>On Steam, up to six family members can share a unified game library. Multiple members can play different games at the same time (you need multiple owned copies of the same game for concurrent play). </p><p>PlayStation has sharing features, but they’re more limited.</p><p>Console Sharing lets you log in to your account on a friend’s PS5 so they can play your games. Share Play lets you share your screen with a friend online and virtually hand them your controller. Though both of these methods work as advertised, a person cannot simply play games from another account on their own console in a straightforward way.</p><p>Expanding sharing options on PlayStation so a household can more easily share a digital library (with reasonable restrictions against abuse) wouldn’t be as seamless as lending someone a physical game, but it would at least offer gamers something comparable.</p><h2 id="better-discovery-tools">Better discovery tools</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qvJ6bN35U3ezruK5peaaZk" name="20211213092912.jpg" alt="The Matrix Awakens product listing on the PlayStation Store on PS5" src="https://cdn.mos.cms.futurecdn.net/qvJ6bN35U3ezruK5peaaZk.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>Steam does a fantastic job with its wishlists, price-drop notifications, “players also like,” and other recommendations driven by player data. PlayStation has its own versions of these, but they could be updated to be more useful.</p><p>The store’s recent lowest-price-in-30-days indicator is a good step, but Sony can go further with smarter recommendations, clearer sale calendars, and stronger wishlist alerts. That last one really needs work — I feel like wishlist alerts are random at best, if I get them at all.</p><p>Improving discovery is an easy way to help players find and buy more games within Sony’s closed ecosystem. If you want people to buy digital games, you need to make it easier for them to find games they would actually like.</p><h2 id="clearer-long-term-library-guarantees-and-library-management">Clearer long-term library guarantees and library management</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6jGE4qfxVjSEbbRvJ77xYf" name="Steam collection library" alt="Steam collection library" src="https://cdn.mos.cms.futurecdn.net/6jGE4qfxVjSEbbRvJ77xYf.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>One of the biggest reasons Sony is facing so much heat right now is the lack of clear guarantees about long-term access to the games players buy. Without physical discs, players worry more about access, storage, and account longevity. This is something that <a href="https://www.tomsguide.com/gaming/playstation/customers-need-assurances-their-games-wont-be-taken-from-them-after-purchase-stop-killing-games-on-playstations-decision-to-kill-physical-discs">Stop Killing Games founder Ross Scott</a> detailed when we interviewed him about Sony's decision to stop manufacturing discs.</p><p>Sony can learn from Steam’s emphasis on transparent licensing, robust cloud saves, and better tools for managing large digital libraries. Explicit, public commitments to offline play and long-term download availability would go a long way toward easing the anxiety surrounding digital-only ownership.</p><p>This is arguably the most important issue Sony has to address. People (rightly) want some form of ownership of the games they buy, especially when those games are digital. I’m not saying this will please everyone — some folks are certainly ride-or-die physical gamers — but clearer guarantees would ease much of the current anxiety.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eMVm7W"></div>                            </div>                            <script src="https://kwizly.com/embed/eMVm7W.js" async></script><h2 id="bottom-line">Bottom line</h2><p>I want to be clear that I am not dunking on Sony or PlayStation. The <a href="https://www.tomsguide.com/gaming/playstation/ps5-pro-review">PS5 Pro</a> is my primary gaming platform, after all. But as a PlayStation gamer since the early 2000s (thanks to the Gran Turismo 3 PS2 bundle!), I want to see the company do right by loyal customers like me.</p><p>PSN is not inherently broken. Sony already runs a polished, high-production store. However, things need to change when discs disappear. Adopting some of Steam’s more player-friendly policies would not only benefit gamers but also Sony, which would benefit from a more committed user base.</p><p>Sony will ultimately do what it believes is in its best interest. That said, prioritizing what customers want, genuinely listening, and addressing concerns would go a long way. Hopefully, Sony does right by its user base and makes an all-digital future on its consoles as acceptable as it is on Steam.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/pc-gaming/my-wallet-gonna-cry-valve-gives-official-update-on-steam-machine-and-steam-frame-launch-but-still-wont-tell-us-the-price">Valve gives official update on Steam Machine and Steam Frame launch</a></li><li><a href="https://www.tomsguide.com/gaming/pc-gaming/steam-machine-reviews-are-here-even-valve-is-disappointed">Steam Machine reviews are here: 'Even Valve is disappointed'</a></li><li><a href="https://www.tomsguide.com/gaming/gaming-peripherals/steam-controller-review">The new Steam Controller is the only PC gamepad I'll ever need</a></li></ul><div class="vizualizer-embed"><div class="tg-df-widget-host" data-widget-config="?search=gaming&min_discount_ratio=0.95&widget_title=Top+Deals+Handpicked+by+Our+Editors&widget_subtitle=Discover+the+best+discounts+currently+available%2C+curated+daily+by+the+Tom%27s+Guide+Savings+Squad.&bg_color=transparent" data-vizualizer-embed="true"></div>    <script>    /**     * Tom's Guide Deals Finder - Vanilla JS Encapsulated Engine     */    (function() {      // --- Freyr Analytics Adapter ---      function initAnalytics() {        window.dataLayer = window.dataLayer || [];        window.googletag = window.googletag || {};        window.googletag.cmd = window.googletag.cmd || [];        window.hawk = window.hawk || { analytics: { freyr: [] } };        window.hawk.analytics = window.hawk.analytics || { freyr: [] };        window.hawk.analytics.freyr = window.hawk.analytics.freyr || [];        window.freyr = window.freyr || { cmd: [] };        const scriptSrc = 'https://freyr.futurecdn.net/freyr.js';        const hostname = typeof window !== 'undefined' ? window.location.hostname : '';        const isTestEnv = typeof window.navigator !== 'undefined' && (window.navigator.webdriver || window.navigator.userAgent.includes('Headless'));        const shouldSendRealAnalytics = !isTestEnv && hostname && hostname !== 'localhost' && hostname !== '127.0.0.1' && !hostname.includes('run.app');        if (shouldSendRealAnalytics && !document.querySelector(`script[src="${scriptSrc}"]`)) {          const script = document.createElement('script');          script.src = scriptSrc;          script.async = true;          document.head.appendChild(script);        }      }      function storeEventForDebug(name, data) {        if (!window.hawk || !window.hawk.analytics || !window.hawk.analytics.freyr) return;        window.hawk.analytics.freyr.push({ name, data });        try {          if (typeof window !== 'undefined' && window.localStorage) {            window.localStorage.setItem("hawk", JSON.stringify(window.hawk));          }        } catch (e) {          // Ignore storage issues        }        try {          window.dispatchEvent(new CustomEvent("hawk-analytics-update"));        } catch (e) {}      }      function sendToFreyr(eventName, data) {        if (typeof window === 'undefined') return;        window.freyr = window.freyr || { cmd: [] };        window.freyr.cmd.push(() => {          if (window.freyr && window.freyr.pushAndUpdate) {            window.freyr.pushAndUpdate(eventName, data);          }        });      }      function sendEvent(event, skip = false) {        try {          storeEventForDebug(event.name, event.data);          if (!skip) {            sendToFreyr(event.name, event.data);          }        } catch (e) {          // Ensure tracking errors don't surface to the user        }      }      function getCookie(name) {        try {          const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));          return match ? match[2] : null;        } catch (e) {          return null;        }      }      function normalizeCurrency(symbol) {        const map = {          '£': 'GBP',          '$': 'USD',          'A$': 'AUD',          'CA$': 'CAD',          '€': 'EUR'        };        return map[symbol] || symbol;      }      function trackElementInteraction(props) {        sendEvent({          name: 'elementInteraction',          data: {            element: {              action: props.action || "click",              id: props.id || undefined,              class: props.class || undefined,              name: props.name || undefined,              text: props.text || undefined,              label: props.label || undefined,              container: props.container || undefined,              url: props.url || undefined,              articleId: props.articleId || undefined            }          }        });      }      function generateRevenueId(url, productName, merchantName, modelId) {        const str = `${window.location.href}|${productName}|${merchantName}|${modelId || ''}|${new Date().toDateString()}|tomsguide`;        let hash = 0;        for (let i = 0; i < str.length; i++) {          const char = str.charCodeAt(i);          hash = ((hash << 5) - hash) + char;          hash = hash & hash;        }        let numericStr = Math.abs(hash).toString();        while (numericStr.length < 19) {          numericStr += Math.floor(Math.random() * 10).toString();        }        return numericStr.substring(0, 19);      }      function rewriteAffiliateLink(url, territory, revenueId) {        if (!url) return url;        const t = (territory || 'gb').toLowerCase();        return url.replace(/hawk-custom-tracking/g, `tomsguide-${t}-${revenueId}`);      }      function trackHawkEvent(params) {        const { clickType, widgetId, productCategoryName, product, productsArray, zeroBasedProductIndexOrNull, totalDealsOrProducts, areaClicked, merchant, revenueId, isoCurrencyCode, queryName, widgetTypeName } = params;        const data = {          event: "hawkEvent",          category: "Affiliates",          affiliate: {            action: {              type: clickType,              id: widgetId,              event: clickType === "appeared" ? "viewed" : "Click from",              timestamp: Date.now()            },            component: {              flag: "Editor",              product: productCategoryName || "deals",              category: `Signal Deal Finder ${widgetTypeName || "Carousel"} widget`,              type: clickType === "appeared" ? "review" : "signal product",              label: queryName || (product ? (product.name || "") : ""),              index: zeroBasedProductIndexOrNull === null || zeroBasedProductIndexOrNull === undefined ? -1 : zeroBasedProductIndexOrNull,              linkCount: totalDealsOrProducts || 0,              blockLayout: "",              areaClicked: areaClicked || ""            }          },          products: productsArray || (product && merchant ? [            {              product: {                primary: {                  id: product.id || product.matchId || null,                  name: product.name,                  type: "deal",                  price: product.price,                  previousPrice: product.previousPrice || null,                  currency: isoCurrencyCode || "USD",                  preorder: false,                  labels: [],                  link: product.link,                  originalLink: product.originalLink || null,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: null,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: product.globalId || null,                  inStock: product.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: isoCurrencyCode || "USD"                }              },              merchant: {                id: merchant.id || null,                name: merchant.name,                url: merchant.url || null,                network: merchant.network || null              },              model: {                id: product.modelId || null,                brand: product.brand || null,                name: product.name,                parent: product.parent || null              }            }          ] : []),          reviews: [],          _clear: true,          "gtm.uniqueEventId": Date.now() % 10000        };        sendEvent({ name: 'hawkEvent', data });      }      function trackDealClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card" });      }      function trackViewSimilarClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card View Similar" });      }      function trackPriceComparisonClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Price Comparison" });      }      function trackReviewClick(params) {        trackHawkEvent({ ...params, clickType: "review", areaClicked: "Signal Product Card Review Link" });      }      function trackShare(params) {        trackHawkEvent({ ...params, clickType: "share", areaClicked: "Signal Product Card Share" });      }      function trackDealsAppeared(widgetId, deals, revenueId, currency, queryName, widgetTypeName) {         if (!deals || deals.length === 0) return;                  const productsArray = deals.slice(0, 50).map((deal) => {            let voucherPct = null;            let rawPrice = parseFloat(deal.rawPrice) || parseFloat(deal.price) || null;            let rawMsrp = parseFloat(deal.rawMsrp) || parseFloat(deal.msrp) || null;            if (rawMsrp > rawPrice && rawPrice > 0) {              voucherPct = Math.round((1 - (rawPrice / rawMsrp)) * 100);            }            let numId = null;            if (deal.externalProductId && !isNaN(parseInt(deal.externalProductId))) {              numId = parseInt(deal.externalProductId);            } else if (deal.id && !isNaN(parseInt(deal.id))) {              numId = parseInt(deal.id);            } else {              numId = deal.matchId || null;            }            return {              product: {                primary: {                  id: numId,                  name: deal.productName || deal.title || "",                  type: "deal",                  price: rawPrice,                  previousPrice: rawMsrp,                  currency: currency || 'USD',                  preorder: false,                  labels: deal.modelBrand || deal.brand ? [                     { type: "brand", value: deal.modelBrand || deal.brand }                  ] : [],                  link: deal.url,                  originalLink: deal.url,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: voucherPct,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: deal.productKey || null,                  inStock: deal.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: currency || 'USD'                }              },              merchant: {                id: deal.merchantId ? parseInt(deal.merchantId) : null,                name: deal.merchant || "Retailer",                url: deal.merchantUrl || null,                network: deal.merchantNetwork || null              },              model: {                id: deal.modelId ? parseInt(deal.modelId) : null,                brand: deal.modelBrand || deal.brand || null,                name: deal.productName || deal.title || "",                parent: deal.modelParent || null              }            };         });                  trackHawkEvent({             clickType: "appeared",             widgetId: widgetId,             productCategoryName: "deals",             zeroBasedProductIndexOrNull: null,             totalDealsOrProducts: deals.length,             productsArray: productsArray,             queryName: queryName,             widgetTypeName: widgetTypeName         });      }      // 1. Setup Shadow DOM Sandbox      const currentScript = document.currentScript;      let hostContainer = null;      let template = null;            if (currentScript) {        let prev = currentScript.previousElementSibling;        while (prev) {          if (prev.tagName === 'TEMPLATE' && prev.classList.contains('tg-df-widget-template')) {            template = prev;          } else if (prev.tagName === 'DIV' && prev.classList.contains('tg-df-widget-host') && !prev.hasAttribute('data-initialized')) {            hostContainer = prev;            break;          }          prev = prev.previousElementSibling;        }      }            // Fallbacks in case script is deferred      if (!hostContainer) {        const hosts = document.querySelectorAll('.tg-df-widget-host:not([data-initialized])');        if (hosts.length > 0) hostContainer = hosts[0];      }            // Safely embedded template for CMS environments      const rawTemplate = `  \x3Cstyle>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with \`tg-df-\` to prevent CMS style leakage.    */    .tg-df-container {      container-type: inline-size;      container-name: tg-df;      --tg-df-blue: #1F69FF;      --tg-df-blue-hover: #004d8c;      --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: #1F69FF;    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters {      display: flex;      gap: 12px;      justify-content: center;      flex-wrap: wrap;    }    .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-price-input::-webkit-outer-spin-button,    .tg-df-price-input::-webkit-inner-spin-button {      -webkit-appearance: none;      margin: 0;    }    .tg-df-price-input {      -moz-appearance: textfield;    }    .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: 100%;      max-width: 200px;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges {      display: flex;      flex-wrap: wrap;      gap: 6px;      margin-bottom: 8px;    }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);      display: -webkit-box;      -webkit-line-clamp: 2;      -webkit-box-orient: vertical;      overflow: hidden;    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: 100%;      box-sizing: border-box;      background-color: #1f69ff;      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      background-color: #1555cc;    }    .tg-df-container .tg-df-card-cta.tg-df-cta-savings-squad {      background-color: #3c8d0d;    }    .tg-df-card:hover .tg-df-card-cta.tg-df-cta-savings-squad,    .tg-df-card-cta.tg-df-cta-savings-squad:hover {      background-color: #2b6509;    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 0;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-controls {        padding: 0 16px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }            .tg-df-filters {        width: calc(100% + 32px);        margin: 0 -16px;        padding: 0 16px 4px 16px;        display: flex;        justify-content: flex-start;        gap: 8px;        flex-wrap: nowrap;        overflow-x: auto;        -webkit-overflow-scrolling: touch;        scrollbar-width: none;      }      .tg-df-filters::after {        content: "";        display: block;        flex: 0 0 8px;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }            .tg-df-sort-wrapper {        flex: 0 0 max(42%, 130px);        min-width: 0;      }      .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 12px;        -webkit-line-clamp: 3;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        -webkit-line-clamp: 3;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 8px 16px;        font-size: 12px;        flex: 0 0 auto;        text-align: center;        white-space: normal;        line-height: 1.2;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }    .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: #1F69FF;          position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }    .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 16px;      text-align: center;      width: 100%;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }    .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;            scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }        .tg-df-container .tg-df-carousel-scroll-left,    .tg-df-container .tg-df-carousel-scroll-right {      position: absolute;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: #ffffff;      border: 1px solid #e2e8f0;      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);      color: #1F69FF;      cursor: pointer;      transition: all 0.2s;      margin-top: -4px;      z-index: 20;    }    .tg-df-container .tg-df-carousel-scroll-left { left: 8px; }    .tg-df-container .tg-df-carousel-scroll-right { right: 8px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left { left: 0px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right { right: 0px; }    .tg-df-carousel-filters-outer { margin-left: -24px; margin-right: -24px; padding-left: 24px; padding-right: 24px; }    @container tg-df (max-width: 599px) { .tg-df-carousel-filters-outer { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; } }        .tg-df-container .tg-df-carousel-scroll-left:hover,    .tg-df-container .tg-df-carousel-scroll-right:hover {      background-color: #f8fafc;      border-color: #cbd5e1;    }        .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-left,    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right,    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left,    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right {      background-color: rgba(255, 255, 255, 0.4);      border: none;      box-shadow: none;      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);    }    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-left { left: 0; }    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right { right: 0; }    .tg-df-grid-wrapper .tg-df-carousel-scroll-left { left: 0; }    .tg-df-grid-wrapper .tg-df-carousel-scroll-right { right: 0; }        .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-left:hover,    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right:hover {      background-color: rgba(255, 255, 255, 0.6);      border: none;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-carousel-roundels::after {      content: "";      flex: 0 0 32px;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;      transition: font-weight 0.2s;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-label {      font-weight: 700;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }        .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;      display: inline-flex;      align-items: center;      justify-content: center;      min-height: 36px;      box-sizing: border-box;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn:hover {      background: #1e293b;      color: white;      border-color: #1e293b;    }    .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::after {      content: "";      flex: 0 0 32px;    }    .tg-df-grid-wrapper {      position: relative;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-load-more-card {      flex: 0 0 auto;      width: 100px;      border-radius: 15px;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      border: 2px solid #1e293b;      background: white;      color: #1e293b;      display: flex;      flex-direction: column;      justify-content: center;      align-items: center;      font-weight: 600;      font-size: 14px;      cursor: pointer;      padding: 16px;      text-align: center;      transition: all 0.2s;    }    .tg-df-grid.carousel-compact .tg-df-load-more-card:hover {      background: #1e293b;      color: white;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      border-radius: 5px;      padding: 8px 10px;      margin-top: 4px;      background-color: #1F69FF;    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.45);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: block; }      .tg-df-container .hawk-deal-widget-image-container { display: block; float: left; margin: 0 16px 8px 0; width: 120px; max-width: 120px; height: auto; align-items: normal; justify-content: normal; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: block; text-align: left; }      .tg-df-container .hawk-deal-widget-footer { display: block; margin-top: 16px; clear: both; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; max-width: none !important; width: 100% !important; margin: 0 !important; }    }        .tg-df-container .hawk-affiliate-link-deal-button {       align-items: center; background-color: #5aaf0b; box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;     }    .tg-df-container .hawk-affiliate-link-deal-button:hover { background-color: #4a9109; text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }  \x3C/style>  \x3C!-- Widget Container --\x3E  \x3Cdiv class="tg-df-container" id="signal-deals-finder-root">    \x3C!-- Editor Floating Bar --\x3E    \x3Cdiv class="tg-df-editor-bar" id="tg-df-editor-bar" style="display:none;">      \x3Cdiv class="tg-df-editor-bar-text" style="display: flex; align-items: center;">        \x3Cspan id="tg-df-selected-count">0\x3C/span>\x26nbsp;Deals Selected        \x3Cbutton class="tg-df-editor-clear-btn" id="tg-df-editor-clear" type="button" style="margin-left: 12px; font-size: 13px; color: #9ca3af; background: none; border: none; cursor: pointer; text-decoration: underline;">Clear All\x3C/button>      \x3C/div>      \x3Cbutton class="tg-df-editor-copy-btn" id="tg-df-editor-copy" type="button">        \x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">\x3C/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">\x3C/path>\x3C/svg>        Copy to CMS      \x3C/button>    \x3C/div>    \x3Cdiv class="tg-df-carousel-host" id="tg-df-carousel-host" style="display: none;">      \x3Cdiv class="tg-df-carousel-eyebrow">DEAL FINDER\x3C/div>      \x3Cdiv class="tg-df-carousel-query-title" id="tg-df-carousel-title-label">Best Deals\x3C/div>            \x3Cdiv class="tg-df-carousel-blue-box">        \x3Cdiv class="tg-df-carousel-bg-circle-1" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-2" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-3" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-box-content">          \x3Cdiv class="tg-df-countdown-wrapper" id="tg-df-countdown-wrapper" style="display:none;">            \x3Cdiv class="tg-df-countdown-title" id="tg-df-countdown-title">Prime Day starts in\x3C/div>            \x3Cdiv class="tg-df-countdown-blocks">              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-days">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">DAYS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-hrs">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">HRS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-min">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">MIN\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-sec">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">SEC\x3C/div>\x3C/div>            \x3C/div>          \x3C/div>          \x3Cdiv class="tg-df-carousel-box-eyebrow">DEAL FINDER\x3C/div>          \x3Cdiv class="tg-df-carousel-box-title">Find Deals Fast\x3C/div>          \x3Cdiv class="tg-df-carousel-box-subtitle">The latest deals from the biggest retailers, all in one place\x3C/div>                    \x3Cdiv class="tg-df-carousel-roundels-wrapper">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-roundels">            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>          \x3C/div>          \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-carousel-filters-outer" style="position: relative;">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-filters-wrap">                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="0">All\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_lightning">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_prime">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-d="10">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 10% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="15">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 15% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="25">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 25% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-pr="under50">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>            Under $50\x3C/button>        \x3C/div>        \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3C/div>    \x3C/div>    \x3C/div>      \x3C!-- Search & Filter Controls --\x3E    \x3Cdiv class="tg-df-controls" id="tg-df-controls" style="display:flex;">      \x3Cdiv class="tg-df-top-bar">        \x3Cdiv class="tg-df-search-wrapper">          \x3Cinput type="text" class="tg-df-search-input" placeholder="Search for deals, products, or brands...">          \x3Cbutton type="button" class="tg-df-search-btn" aria-label="Search">              \x3Csvg class="tg-df-search-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">                \x3Cpath d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>              \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-autocomplete-dropdown" id="tg-df-autocomplete">\x3C/div>        \x3C/div>                \x3Cdiv class="tg-df-settings-wrapper">          \x3Cbutton type="button" class="tg-df-settings-btn" aria-label="Settings" id="tg-df-settings-toggle">            \x3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20">                \x3Cpath d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.06-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.73 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.06.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .43-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.49-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"/>            \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-settings-dropdown-backdrop" id="tg-df-settings-backdrop">\x3C/div>          \x3Cdiv class="tg-df-settings-dropdown" id="tg-df-settings-panel">            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Search Region\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-region-select">                \x3Coption value="auto">🌍 Auto-detect\x3C/option>                \x3Coption value="US">🇺🇸 United States (US)\x3C/option>                \x3Coption value="GB">🇬🇧 United Kingdom (UK)\x3C/option>                \x3Coption value="CA">🇨🇦 Canada (CA)\x3C/option>                \x3Coption value="AU">🇦🇺 Australia (AU)\x3C/option>                \x3Coption value="DE">🇩🇪 Germany (DE)\x3C/option>                \x3Coption value="FR">🇫🇷 France (FR)\x3C/option>                \x3Coption value="IT">🇮🇹 Italy (IT)\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Retailer\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-retailer-select">                \x3Coption value="">All Retailers\x3C/option>                \x3Coption value="Amazon">Amazon\x3C/option>                \x3Coption value="Walmart">Walmart\x3C/option>                \x3Coption value="Best Buy">Best Buy\x3C/option>                \x3Coption value="Target">Target\x3C/option>                \x3Coption value="John Lewis">John Lewis\x3C/option>                \x3Coption value="Currys">Currys\x3C/option>                \x3Coption value="Argos">Argos\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Offer Type\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-offer-type-select">                \x3Coption value="">All Offers\x3C/option>                \x3Coption value="amazon_prime">Amazon Prime\x3C/option>                \x3Coption value="recommended_promo">Recommended Promo\x3C/option>                \x3Coption value="amazon_lightning">Amazon Lightning Deal\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Result Count\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-rows-select">                \x3Coption value="3">3 Items\x3C/option>                \x3Coption value="4">4 Items\x3C/option>                \x3Coption value="6">6 Items\x3C/option>                \x3Coption value="12" selected>12 Items\x3C/option>                \x3Coption value="24">24 Items\x3C/option>                \x3Coption value="48">48 Items\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item tg-df-dl-row">              \x3Cdiv>                \x3Cspan class="tg-df-dl-row-text">Deal Mode\x3C/span>                \x3Cspan class="tg-df-dl-row-subtext">Only show products with active offers or previous prices (was_price)\x3C/span>              \x3C/div>              \x3Clabel class="tg-df-toggle">                \x3Cinput type="checkbox" id="tg-df-deal-mode">                \x3Cspan class="tg-df-slider">\x3C/span>              \x3C/label>            \x3C/div>            \x3Cdiv class="tg-df-setting-item tg-df-dl-row">              \x3Cdiv>                \x3Cspan class="tg-df-dl-row-text">Editor Mode\x3C/span>                \x3Cspan class="tg-df-dl-row-subtext">Enable multi-select to copy deals to CMS\x3C/span>              \x3C/div>              \x3Clabel class="tg-df-toggle">                \x3Cinput type="checkbox" id="tg-df-editor-mode">                \x3Cspan class="tg-df-slider">\x3C/span>              \x3C/label>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">View Mode\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-view-mode-select">                \x3Coption value="auto">Auto Collection\x3C/option>                \x3Coption value="carousel">Carousel\x3C/option>                \x3Coption value="savings_squad">Savings Squad\x3C/option>                \x3Coption value="grid">Grid (Columns)\x3C/option>                \x3Coption value="row">Row (List)\x3C/option>              \x3C/select>            \x3C/div>          \x3C/div>        \x3C/div>      \x3C/div>      \x3Cdiv class="tg-df-filters">        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-category-filter-wrapper" style="display: none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-category-filter" aria-label="Category">            \x3Coption value="all">All Categories\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-multiselect-container" id="tg-df-brand-filter-wrapper" style="display:none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"/>          \x3C/svg>          \x3Cdiv class="tg-df-filter-select tg-df-multiselect-trigger" id="tg-df-brand-trigger" tabindex="0">            Any Brand          \x3C/div>          \x3Cdiv class="tg-df-multiselect-dropdown" id="tg-df-brand-dropdown">            \x3C!-- Populated via script --\x3E          \x3C/div>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3z"/>          \x3C/svg>          \x3Cselect class="tg-df-sort-select" aria-label="Sort Deals">            \x3Coption value="date_desc">Newest First\x3C/option>            \x3Coption value="best_match">Sort by: Match\x3C/option>            \x3Coption value="price_asc">Price Low to High\x3C/option>            \x3Coption value="price_desc">Price High to Low\x3C/option>            \x3Coption value="discount_desc">Biggest Discount\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-price-range-wrapper" id="tg-df-custom-price-wrapper" style="display: flex; align-items:center; justify-content:center; padding: 10px 20px; gap: 8px; border: 1px solid var(--tg-df-border); border-radius: 100px; background-color: var(--tg-df-bg);">          \x3Cspan style="font-size:14px; font-weight:500; color:var(--tg-df-text-primary);">Price\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-min" placeholder="Min" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">          \x3Cspan style="color:var(--tg-df-text-muted)">-\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-max" placeholder="Max" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices">            \x3Coption value="all">All Prices\x3C/option>            \x3Coption value="under50">Under $50\x3C/option>            \x3Coption value="50_100">$50 - $100\x3C/option>            \x3Coption value="100_200">$100 - $200\x3C/option>            \x3Coption value="200_500">$200 - $500\x3C/option>            \x3Coption value="over500">Over $500\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount">            \x3Coption value="all">Any discount\x3C/option>            \x3Coption value="5">Min 5%\x3C/option>            \x3Coption value="10">Min 10%\x3C/option>            \x3Coption value="15">Min 15%\x3C/option>            \x3Coption value="20">Min 20%\x3C/option>            \x3Coption value="25">Min 25%\x3C/option>            \x3Coption value="30">Min 30%\x3C/option>            \x3Coption value="40">Min 40%\x3C/option>            \x3Coption value="50">Min 50%\x3C/option>            \x3Coption value="60">Min 60%\x3C/option>            \x3Coption value="70">Min 70%\x3C/option>          \x3C/select>        \x3C/div>      \x3C/div>    \x3C/div>    \x3C!-- Deals Grid Wrapper --\x3E    \x3Cdiv class="tg-df-grid-wrapper tg-df-carousel-cards-wrapper" id="tg-df-grid-wrapper">      \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3Cdiv class="tg-df-grid" id="tg-df-grid">        \x3C!-- Content populated by JavaScript --\x3E      \x3C/div>      \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>    \x3C/div>        \x3C!-- Vouchers Modal --\x3E    \x3Cdiv class="tg-df-modal-backdrop" id="tg-df-vouchers-modal">      \x3Cdiv class="tg-df-modal">        \x3Cdiv class="tg-df-modal-header">          \x3Ch3 class="tg-df-modal-title" id="tg-df-vouchers-title">Available Coupons & Deals\x3C/h3>          \x3Cbutton class="tg-df-modal-close" id="tg-df-vouchers-close">            \x3Csvg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">              \x3Cline x1="18" y1="6" x2="6" y2="18">\x3C/line>              \x3Cline x1="6" y1="6" x2="18" y2="18">\x3C/line>            \x3C/svg>          \x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-modal-body" id="tg-df-vouchers-content">          \x3C!-- Vouchers injected here --\x3E        \x3C/div>      \x3C/div>    \x3C/div>  \x3C/div>`;      if (!template) {        template = document.createElement('template');        template.innerHTML = rawTemplate;      }      let shadowRoot = null;      if (hostContainer && template) {        hostContainer.setAttribute('data-initialized', 'true');        shadowRoot = hostContainer.attachShadow({ mode: 'open' });        shadowRoot.appendChild(template.content.cloneNode(true));      }      class DealsFinderWidget {        constructor(config) {          this.rootNode = config.rootNode || document;          this.hostContainer = config.hostContainer || null;          this.rootId = config.rootId || 'signal-deals-finder-root';          this.root = this.rootNode.querySelector('#' + this.rootId);          if (!this.root) return;          this.widgetId = (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'widget-' + Date.now() + '-' + Math.random().toString(36).slice(2);          this.grid = this.root.querySelector('#tg-df-grid');          this.tagsContainer = this.root.querySelector('#tg-df-tags-container');          this.categoryFilter = this.root.querySelector('#tg-df-category-filter');          this.categoryFilterWrapper = this.root.querySelector('#tg-df-category-filter-wrapper');          this.searchInput = this.root.querySelector('.tg-df-search-input');          this.autocompleteDropdown = this.root.querySelector('#tg-df-autocomplete');          this.sortSelect = this.root.querySelector('.tg-df-sort-select');          this.searchBtn = this.root.querySelector('.tg-df-search-btn');                    this.settingsToggle = this.root.querySelector('#tg-df-settings-toggle');          this.settingsPanel = this.root.querySelector('#tg-df-settings-panel');          this.settingsBackdrop = this.root.querySelector('#tg-df-settings-backdrop');          this.regionSelect = this.root.querySelector('#tg-df-region-select');          this.retailerSelect = this.root.querySelector('#tg-df-retailer-select');          this.offerTypeSelect = this.root.querySelector('#tg-df-offer-type-select');          this.viewModeSelect = this.root.querySelector('#tg-df-view-mode-select');          this.rowsSelect = this.root.querySelector('#tg-df-rows-select');          this.dealModeToggle = this.root.querySelector('#tg-df-deal-mode');          this.editorModeToggle = this.root.querySelector('#tg-df-editor-mode');          this.priceFilter = this.root.querySelector('#tg-df-price-filter');          this.discountFilter = this.root.querySelector('#tg-df-discount-filter');                    this.editorBar = this.root.querySelector('#tg-df-editor-bar');          this.editorSelectedCount = this.root.querySelector('#tg-df-selected-count');          this.editorCopyBtn = this.root.querySelector('#tg-df-editor-copy');          this.editorClearBtn = this.root.querySelector('#tg-df-editor-clear');                    this.apiUrl = 'https://search-api.fie.future.net.uk/widget.php';          this.deals = [];          this.displayLimit = 12;          this.airedaleArticles = null;          this.airedaleTags = [];          this.airedaleTagCounts = {};          this.activeDealTag = null;          this.selectedBrands = [];          this.currentQuery = '';          this.editorMode = this.hostContainer ? this.hostContainer.hasAttribute('data-editor-mode') : false;          this.viewModeOverride = this.hostContainer ? this.hostContainer.getAttribute('data-view-mode') : null;          this.selectedDeals = new Map();                    this.brandFilterWrapper = this.root.querySelector('#tg-df-brand-filter-wrapper');          this.brandTrigger = this.root.querySelector('#tg-df-brand-trigger');          this.brandDropdown = this.root.querySelector('#tg-df-brand-dropdown');                    this.customPriceWrapper = this.root.querySelector('#tg-df-custom-price-wrapper');          this.customPriceMin = this.root.querySelector('#tg-df-custom-price-min');          this.customPriceMax = this.root.querySelector('#tg-df-custom-price-max');          this.legacyPriceWrapper = this.root.querySelector('#tg-df-legacy-price-wrapper');          this.discountFilterWrapper = this.root.querySelector('#tg-df-discount-filter-wrapper');          this.initResizeObserver();          this.init();            if (['carousel', 'carousel-compact', 'auto', 'grid', 'row'].includes(this.getViewMode())) { this.loadCarouselSpreadsheet(); }        }        getViewMode() {          if (this.viewModeOverride && (!this.editorMode || !this.viewModeSelect)) {            return this.viewModeOverride;          }          return (this.viewModeSelect && this.viewModeSelect.value) ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');        }        applyLayoutMode() {          if (!this.grid) return;          const mode = this.getViewMode();          this.grid.classList.remove('layout-row', 'layout-grid', 'tg-df-grid-auto', 'carousel-compact', 'layout-replica-1', 'layout-replica-2');                    const carouselHost = this.root.querySelector('#tg-df-carousel-host');          const controlsDiv = this.root.querySelector('#tg-df-controls');          if (mode === 'carousel' || mode === 'auto' || mode === 'grid' || mode === 'row') {             if (mode === 'carousel') this.grid.classList.add('carousel-compact');             if (carouselHost) carouselHost.style.display = 'block';             if (controlsDiv) controlsDiv.style.display = 'none';             if (this.root.classList.contains('tg-df-container') && mode === 'carousel') {               this.root.classList.add('is-carousel');             } else if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          } else {             if (carouselHost) carouselHost.style.display = 'none';             if (controlsDiv) controlsDiv.style.display = 'flex';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          }          if (mode === 'grid') {            this.grid.classList.add('layout-grid');          } else if (mode === 'row') {            this.grid.classList.add('layout-row');          } else if (mode === 'savings_squad') {            this.grid.classList.add('tg-df-grid-auto', 'savings-squad-cards');          } else if (mode !== 'carousel') {            this.grid.classList.add('tg-df-grid-auto');          }                    const settingsWrapper = this.root.querySelector('.tg-df-settings-wrapper');          if (settingsWrapper) {            settingsWrapper.style.display = mode === 'auto' ? 'none' : 'block';          }          if (this.customPriceWrapper) {             this.customPriceWrapper.style.display = mode === 'auto' ? 'flex' : 'none';          }          if (this.legacyPriceWrapper) {             this.legacyPriceWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }          if (this.discountFilterWrapper) {             this.discountFilterWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }        }        initResizeObserver() {          try {            if (window.parent === window) return;          } catch (e) {            // cross origin frame check threw          }          const emitHeight = () => {            try {              const height = document.documentElement.scrollHeight || document.body.scrollHeight;              const msg = { type: 'embed-size', height: height };              if (window.parent && window.parent !== window) {                window.parent.postMessage(msg, '*');                window.parent.postMessage(JSON.stringify({ ...msg, sentinel: 'amp' }), '*');              }            } catch (e) {}          };                    if (window.ResizeObserver) {            try {              const ro = new ResizeObserver(() => emitHeight());              ro.observe(document.body);              if (this.root) ro.observe(this.root);            } catch(e){ console.warn(e); }          }          window.addEventListener('resize', emitHeight);          setTimeout(emitHeight, 300);        }        initCountdown() {          this.cdWrapper = this.root.querySelector('#tg-df-countdown-wrapper');                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          this.showCountdown = params.get('show_countdown') === 'true';          const showHeaderDetails = params.get('show_header_details') !== 'false';          const eyebrow = this.root.querySelector('.tg-df-carousel-box-eyebrow');          const title = this.root.querySelector('.tg-df-carousel-box-title');          const subtitle = this.root.querySelector('.tg-df-carousel-box-subtitle');          if (!showHeaderDetails) {            let containerElement = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (containerElement) containerElement.classList.add('hide-header-details');            if (eyebrow) eyebrow.style.display = 'none';            if (title) title.style.display = 'none';            if (subtitle) subtitle.style.display = 'none';          }          if (!this.cdWrapper) return;          this.cdTitle = this.root.querySelector('#tg-df-countdown-title');          this.cdDays = this.root.querySelector('#tg-df-cd-days');          this.cdHrs = this.root.querySelector('#tg-df-cd-hrs');          this.cdMin = this.root.querySelector('#tg-df-cd-min');          this.cdSec = this.root.querySelector('#tg-df-cd-sec');          this.updateCountdown();          this.cdInterval = setInterval(() => this.updateCountdown(), 1000);        }        updateCountdown() {          if (!this.cdWrapper) return;          if (!this.showCountdown) {            this.cdWrapper.style.display = 'none';            return;          }          const area = this.getAreaCode();          let offset = '-04:00';          if (['DE', 'FR', 'IT', 'ES', 'NL'].includes(area)) {             offset = '+02:00';          } else if (['GB', 'IE', 'UK'].includes(area)) {             offset = '+01:00';          }          const startTime = new Date('2026-06-23T00:00:00' + offset).getTime();          const endTime = new Date('2026-06-26T00:00:00' + offset).getTime();          const now = Date.now();          let targetTime = 0;          if (now < startTime) {             targetTime = startTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day starts in';             this.cdWrapper.style.display = 'flex';          } else if (now < endTime) {             targetTime = endTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day ends in';             this.cdWrapper.style.display = 'flex';          } else {             this.cdWrapper.style.display = 'none';             if (this.cdInterval) clearInterval(this.cdInterval);             return;          }          const diff = Math.max(0, targetTime - now);          const d = Math.floor(diff / (1000 * 60 * 60 * 24));          const h = Math.floor((diff / (1000 * 60 * 60)) % 24);          const m = Math.floor((diff / 1000 / 60) % 60);          const s = Math.floor((diff / 1000) % 60);          if (this.cdDays) this.cdDays.textContent = d;          if (this.cdHrs) this.cdHrs.textContent = h;          if (this.cdMin) this.cdMin.textContent = m;          if (this.cdSec) this.cdSec.textContent = s;        }        init() {          this.initCountdown();          try {            initAnalytics();          } catch (e) {            console.warn('Deals Widget Analytics Error:', e);          }                    this.bindEvents();                    let initialQuery = '';                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          let initialViewMode = params.get('view_mode');          if (!params.has('search') && !params.has('q') && !params.has('query') && initialViewMode !== 'savings_squad') {             initialQuery = 'Everything';             if (this.discountFilter && !params.has('min_discount_ratio')) {               this.discountFilter.value = '5';             }          }          const website = params.get('website') || 'tomsguide';          this.website = website;          if (website === 'techradar') {            const squadHeader = this.root.querySelector('.tg-df-savings-squad-header');            if (squadHeader) {               const pic = squadHeader.querySelector('picture');               if (pic) pic.style.display = 'none';            }            const style = document.createElement('style');            style.innerHTML = `              .tg-df-container .hawk-affiliate-link-deal-button, .tg-df-container .tg-df-card-cta { background-color: #5DAF08 !important; }              .tg-df-container .hawk-affiliate-link-deal-button:hover, .tg-df-container .tg-df-card-cta:hover { background-color: #4a8c06 !important; }            `;            this.root.appendChild(style);          }                    if (this.regionSelect) {            this.regionSelect.value = params.get('region') || 'auto';            this.updatePriceDropdownCurrency();          }                    if (this.retailerSelect && params.has('retailer')) {            this.retailerSelect.value = params.get('retailer');          }                    if (params.has('brands')) {            const b = params.get('brands');            if (b) {              this.selectedBrands = b.split(',');            }          }                    if (this.offerTypeSelect && params.has('offer_type')) {            this.offerTypeSelect.value = params.get('offer_type');          }          if (params.has('bg_color')) {            const bg = params.get('bg_color');            if (bg === 'white') {              this.root.style.setProperty('background-color', '#ffffff', 'important');            } else if (bg === 'transparent') {              this.root.style.setProperty('background-color', 'transparent', 'important');            } else if (bg === 'light_blue') {              this.root.style.setProperty('background-color', '#E7F0FF', 'important');            }          } else {             this.root.style.removeProperty('background-color');          }                    if (params.has('view_mode')) {            if (this.viewModeSelect) {              this.viewModeSelect.value = params.get('view_mode');            } else {              this.viewModeOverride = params.get('view_mode');            }          }          if (this.rowsSelect && params.has('rows')) {            this.rowsSelect.value = params.get('rows');          }          if (params.has('price')) {            const priceVal = params.get('price');            if (this.priceFilter) {               // Try assigning it directly to select. If it's not present implicitly ignores               this.priceFilter.value = priceVal;            }            if (priceVal.includes('_')) {               const parts = priceVal.split('_');               if (this.customPriceMin && parts[0]) this.customPriceMin.value = parts[0];               if (this.customPriceMax && parts[1]) this.customPriceMax.value = parts[1];            }          }          if (this.discountFilter && params.has('min_discount_ratio')) {            // Need to convert back from ratio (e.g. 0.8) to select value (e.g. "20")            const ratioStr = params.get('min_discount_ratio');            const ratioFloat = parseFloat(ratioStr);            if (!isNaN(ratioFloat)) {               const percentage = Math.round((1 - ratioFloat) * 100);               this.discountFilter.value = percentage.toString();            }          }          if (this.sortSelect) {            this.sortSelect.value = params.get('sort') || 'discount_desc';          }          if (this.dealModeToggle && params.has('deal_mode')) {            this.dealModeToggle.checked = params.get('deal_mode') === 'true' || params.get('deal_mode') === '1';          }                    // Re-apply layout after params have updated control values          this.applyLayoutMode();                    if (params.get('search')) {            initialQuery = params.get('search');          } else if (params.get('q')) {            initialQuery = params.get('q');          } else if (params.get('query')) {            initialQuery = params.get('query');          }                    this.currentQuery = initialQuery;          if (this.searchInput) {            this.searchInput.value = this.currentQuery;          }                    if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {            this.fetchDeals(this.currentQuery);          } else {            this.render();          }        }        updatePriceDropdownCurrency() {          if (!this.priceFilter || !this.regionSelect) return;          const currencySymbols = {            'US': '$',            'GB': '£',            'CA': '$CA',            'AU': '$AU',            'DE': '€',            'FR': '€',            'IT': '€',          };          const area = this.getAreaCode();          const cur = currencySymbols[area || 'US'] || '$';                    const options = this.priceFilter.options;          for (let i = 0; i < options.length; i++) {            const opt = options[i];            if (opt.value === 'all') {              opt.innerText = 'All Prices';            } else if (opt.value === 'under50') {              opt.innerText = `Under ${cur}50`;            } else if (opt.value === '50_100') {              opt.innerText = `${cur}50 - ${cur}100`;            } else if (opt.value === '100_200') {              opt.innerText = `${cur}100 - ${cur}200`;            } else if (opt.value === '200_500') {              opt.innerText = `${cur}200 - ${cur}500`;            } else if (opt.value === 'over500') {              opt.innerText = `Over ${cur}500`;            }          }        }        populateBrandDropdown(values) {          if (!this.brandDropdown || !this.brandFilterWrapper) return;          this.brandFilterWrapper.style.display = 'flex'; // show the wrapper                    let html = '';          const allChecked = this.selectedBrands.length === 0 ? 'checked' : '';          const _div = '<' + '/div>';          const _span = '<' + '/span>';          html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="" ${allChecked} class="tg-df-brand-chk"> Any Brand${_div}`;                    values.forEach(v => {             if (!v.formatted_value || v.formatted_value === 'Any Brand') return;             const isChecked = this.selectedBrands.includes(v.formatted_value) ? 'checked' : '';             html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="${this.escapeHTML(v.formatted_value)}" ${isChecked} class="tg-df-brand-chk"> ${this.escapeHTML(v.formatted_value)} \x3Cspan style="color:var(--tg-df-text-muted);font-size:12px">(${v.count || 0})${_span}${_div}`;          });                    this.brandDropdown.innerHTML = html;                    // Re-bind listeners          const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');          chks.forEach(chk => {            chk.addEventListener('change', (e) => {              const val = e.target.value;              if (val === '') {                this.selectedBrands = [];              } else {                if (e.target.checked) {                   if (!this.selectedBrands.includes(val)) this.selectedBrands.push(val);                } else {                   this.selectedBrands = this.selectedBrands.filter(b => b !== val);                }              }                            if (this.selectedBrands.length === 0) {                 this.brandTrigger.innerText = 'Any Brand';              } else if (this.selectedBrands.length === 1) {                 this.brandTrigger.innerText = this.selectedBrands[0];              } else {                 this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;              }                            // Only call API if changed from UI interactions              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.updateURLParams();                 this.fetchDeals(this.currentQuery);              }            });          });                    // Update button text on load          if (this.selectedBrands.length === 0) {             this.brandTrigger.innerText = 'Any Brand';          } else if (this.selectedBrands.length === 1) {             this.brandTrigger.innerText = this.selectedBrands[0];          } else {             this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;          }        }        updateURLParams() {          const url = new URL(window.location);          if (this.currentQuery && this.currentQuery !== 'Gaming laptops') {            url.searchParams.set('q', this.currentQuery);          } else {            url.searchParams.delete('q');            url.searchParams.delete('search');            url.searchParams.delete('query');          }                    if (this.regionSelect && this.regionSelect.value !== 'auto') {            url.searchParams.set('region', this.regionSelect.value);          } else {            url.searchParams.delete('region');          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.set('retailer', this.retailerSelect.value);          } else {            url.searchParams.delete('retailer');          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.set('brands', this.selectedBrands.join(','));          } else {            url.searchParams.delete('brands');          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.set('offer_type', this.offerTypeSelect.value);          } else {            url.searchParams.delete('offer_type');          }                    if (this.viewModeSelect && this.viewModeSelect.value !== 'auto') {            url.searchParams.set('view_mode', this.viewModeSelect.value);          } else {            url.searchParams.delete('view_mode');          }                    if (this.rowsSelect && this.rowsSelect.value !== '12') {            url.searchParams.set('rows', this.rowsSelect.value);          } else {            url.searchParams.delete('rows');          }                    const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             url.searchParams.set('price', `${min}_${max}`);          } else if (this.priceFilter && this.priceFilter.value !== 'all') {            url.searchParams.set('price', this.priceFilter.value);          } else {            url.searchParams.delete('price');          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {               const ratio = (100 - v) / 100;               url.searchParams.set('min_discount_ratio', ratio.toString());            }          } else {            url.searchParams.delete('min_discount_ratio');          }                    if (this.sortSelect && this.sortSelect.value !== 'discount_desc') {            url.searchParams.set('sort', this.sortSelect.value);          } else {            url.searchParams.delete('sort');          }                    if (this.dealModeToggle && this.dealModeToggle.checked) {            url.searchParams.set('deal_mode', 'true');          } else {            url.searchParams.delete('deal_mode');          }                    window.history.replaceState({}, '', url);        }        bindEvents() {          const roundels = this.root.querySelectorAll('.tg-df-carousel-cat.original-hardcoded');          roundels.forEach(r => {             r.addEventListener('click', () => {                const q = r.getAttribute('data-query');                const pr = r.getAttribute('data-pr');                if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: q,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = q;                const label = this.root.querySelector('#tg-df-carousel-title-label');                if (label) label.textContent = 'Best ' + q;                if (this.priceFilter) this.priceFilter.value = pr || 'all';                if (this.discountFilter) this.discountFilter.value = '5';                if (this.searchInput) this.searchInput.value = q;                                roundels.forEach(ro => ro.classList.remove('active'));                r.classList.add('active');                this.fetchDeals(this.currentQuery);             });          });          const discBtns = this.root.querySelectorAll('.tg-df-carousel-filter-btn');          discBtns.forEach(b => {             b.addEventListener('click', () => {                const d = b.getAttribute('data-d');                const pr = b.getAttribute('data-pr');                const ot = b.getAttribute('data-ot');                let label = b.innerText ? b.innerText.trim() : '';                let filterType = 'unknown';                let filterVal = 'unknown';                if (d !== null) { filterType = 'discount'; filterVal = d; }                else if (pr !== null) { filterType = 'price'; filterVal = pr; }                else if (ot !== null) { filterType = 'offertype'; filterVal = ot; }                if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-${filterType}-${filterVal}`, name: 'Filter Button', label: label });                                if (d !== null) {                   if (this.discountFilter) this.discountFilter.value = this.discountFilter.value === d ? '0' : d;                } else if (pr !== null) {                   if (this.priceFilter) this.priceFilter.value = this.priceFilter.value === pr ? 'all' : pr;                } else if (ot !== null) {                   if (this.offerTypeSelect) this.offerTypeSelect.value = this.offerTypeSelect.value === ot ? 'all' : ot;                } else {                   if (this.discountFilter) this.discountFilter.value = '0';                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.offerTypeSelect) this.offerTypeSelect.value = 'all';                }                if (d === null && pr === null && ot === null && b.getAttribute("data-type") !== "custom") {                   discBtns.forEach(ro => ro.classList.remove('active'));                   b.classList.add('active');                } else if (b.getAttribute("data-type") !== "custom") {                   // Only operate on hardcoded buttons (those without data-type)                   discBtns.forEach(ro => {                      if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active');                   });                                      let makeActive = true;                   if (d !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-d') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (pr !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-pr') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (ot !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-ot') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   }                                      if (makeActive) b.classList.add('active');                                      // Check if anything is active, if not activate "All"                   let anyActive = false;                   discBtns.forEach(ro => { if (ro.classList.contains('active') && ro.getAttribute('data-type') !== 'custom') anyActive = true; });                   if (!anyActive) {                       discBtns.forEach(ro => { if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.add('active'); });                   }                }                                this.fetchDeals(this.currentQuery);             });          });          if (this.brandTrigger && this.brandDropdown) {            this.brandTrigger.addEventListener('click', () => {              this.brandDropdown.classList.toggle('active');            });            document.addEventListener('click', (e) => {              if (this.brandFilterWrapper && !e.composedPath().includes(this.brandFilterWrapper)) {                this.brandDropdown.classList.remove('active');              }            });          }          let debounceTimer;          if(this.searchInput) {            this.searchInput.addEventListener('input', (e) => {              clearTimeout(debounceTimer);              const query = e.target.value.trim();              this.currentQuery = query;              if (this.getViewMode() === 'savings_squad' && this.autocompleteDropdown && this.airedaleTags && query.length > 0) {                 const matches = this.airedaleTags.filter(t => t.toLowerCase().includes(query.toLowerCase()) && t.toLowerCase() !== query.toLowerCase()).slice(0, 5);                 if (matches.length > 0) {                    this.autocompleteDropdown.innerHTML = matches.map(m => `\x3Cdiv class="tg-df-autocomplete-item" data-tag="${this.escapeHTML(m)}">${this.escapeHTML(m)}<` + `/div>`).join('');                    this.autocompleteDropdown.classList.add('active');                 } else {                    this.autocompleteDropdown.classList.remove('active');                 }              } else if (this.autocompleteDropdown) {                 this.autocompleteDropdown.classList.remove('active');              }              debounceTimer = setTimeout(() => {                this.updateURLParams();                if (query.length > 2) {                  this.fetchDeals(query);                } else if (query.length === 0) {                  this.deals = [];                  this.render();                }              }, 400);            });            this.searchInput.addEventListener('keypress', (e) => {              if (e.key === 'Enter') {                if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');                clearTimeout(debounceTimer);                const query = e.target.value.trim();                this.currentQuery = query;                this.activeDealTag = null;                trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                this.updateURLParams();                if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                   this.fetchDeals(query);                }              }            });          }          if (this.autocompleteDropdown) {             this.autocompleteDropdown.addEventListener('click', (e) => {                const item = e.target.closest('.tg-df-autocomplete-item');                if (item) {                   const tag = item.getAttribute('data-tag');                   this.currentQuery = tag;                   if (this.searchInput) this.searchInput.value = tag;                   this.activeDealTag = tag;                   this.autocompleteDropdown.classList.remove('active');                   this.updateURLParams();                   this.fetchDeals(tag);                }             });             document.addEventListener('click', (e) => {               if (this.autocompleteDropdown && this.searchInput && !e.composedPath().includes(this.searchInput) && !e.composedPath().includes(this.autocompleteDropdown)) {                 this.autocompleteDropdown.classList.remove('active');               }             });          }          if (this.searchBtn) {            this.searchBtn.addEventListener('click', () => {              if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');              clearTimeout(debounceTimer);              const query = this.searchInput.value.trim();              trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });              this.activeDealTag = null;              this.currentQuery = query;              this.updateURLParams();              if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.fetchDeals(query);              }            });          }          if(this.sortSelect) this.sortSelect.addEventListener('change', () => {            trackElementInteraction({ id: `sort-option-${this.sortSelect.value}`, name: 'Sort', label: `Sort: ${this.sortSelect.options[this.sortSelect.selectedIndex].text}` });            this.updateURLParams();            if (this.deals.length > 0) {              this.sortData();              this.render();            }          });                    const priceFilter = this.root.querySelector('#tg-df-price-filter');          if (priceFilter) {            this.priceFilter = priceFilter;            this.priceFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-price-${this.priceFilter.value}`, name: 'Price', label: this.priceFilter.options[this.priceFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          const updateCustomPrice = () => {             this.updateURLParams();             if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);             } else {                this.render();             }          };          if (this.customPriceMin) {             this.customPriceMin.addEventListener('change', updateCustomPrice);             this.customPriceMin.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          if (this.customPriceMax) {             this.customPriceMax.addEventListener('change', updateCustomPrice);             this.customPriceMax.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          const discountFilter = this.root.querySelector('#tg-df-discount-filter');          if (discountFilter) {            this.discountFilter = discountFilter;            this.discountFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-discount-${this.discountFilter.value}`, name: 'Discount', label: this.discountFilter.options[this.discountFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          if (this.categoryFilter) {            this.categoryFilter.addEventListener('change', (e) => {               const val = e.target.value === 'all' ? null : e.target.value;               this.activeDealTag = val;               this.fetchSavingsSquad();            });          }                    if (this.settingsToggle) {            this.settingsToggle.addEventListener('click', () => {              const o = this.settingsPanel.classList.toggle('active');              this.settingsBackdrop.classList.toggle('active');              if (o) trackElementInteraction({ id: 'filter-open', name: 'Filters', label: 'Open filters' });            });          }                    if (this.settingsBackdrop) {            this.settingsBackdrop.addEventListener('click', () => {              this.settingsPanel.classList.remove('active');              this.settingsBackdrop.classList.remove('active');            });          }                    if (this.regionSelect) {            this.regionSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-region-${this.regionSelect.value}`, name: 'Region', label: this.regionSelect.options[this.regionSelect.selectedIndex].text });              this.updateURLParams();              this.updatePriceDropdownCurrency();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.retailerSelect) {            this.retailerSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-merchant-${this.retailerSelect.value}`, name: 'Retailer', label: this.retailerSelect.options[this.retailerSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.offerTypeSelect) {            this.offerTypeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-offertype-${this.offerTypeSelect.value}`, name: 'Offer Type', label: this.offerTypeSelect.options[this.offerTypeSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.viewModeSelect) {            this._prevViewMode = this.viewModeSelect.value;            this.viewModeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-viewmode-${this.viewModeSelect.value}`, name: 'View Mode', label: this.viewModeSelect.options[this.viewModeSelect.selectedIndex].text });                            // Reset all active toggles and filters to prevent config carry-over              this.selectedBrands = [];              if (this.brandTrigger) this.brandTrigger.innerText = 'Select Brands';              if (this.brandDropdown) {                const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                chks.forEach(chk => { chk.checked = false; });              }              if (this.priceFilter) this.priceFilter.value = 'all';              if (this.customPriceMin) this.customPriceMin.value = '';              if (this.customPriceMax) this.customPriceMax.value = '';              if (this.sortSelect) this.sortSelect.value = this.viewModeSelect.value === 'savings_squad' ? 'date_desc' : 'discount_desc';              if (this.discountFilter) this.discountFilter.value = '0';              if (this.retailerSelect) this.retailerSelect.value = '';              if (this.offerTypeSelect) this.offerTypeSelect.value = '';              if (this.rowsSelect) this.rowsSelect.value = '12';              if (this.categoryFilter) this.categoryFilter.value = 'all';              this.activeDealTag = null;              this.updateURLParams();              this.applyLayoutMode();                            if (this.getViewMode() === 'savings_squad' || this._prevViewMode === 'savings_squad') {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }              this._prevViewMode = this.viewModeSelect.value;            });          }                    if (this.rowsSelect) {            this.rowsSelect.addEventListener('change', () => {              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.dealModeToggle) {            this.dealModeToggle.addEventListener('change', () => {              this.updateURLParams();              this.render();            });          }          if (this.editorModeToggle) {             this.editorModeToggle.addEventListener('change', (e) => {                this.editorMode = e.target.checked;                this.render();                this.updateFloatingCopyBar();             });          }          if (this.editorCopyBtn) {             this.editorCopyBtn.addEventListener('click', () => {                this.copySelectedDealsToCMS();             });          }          if (this.editorClearBtn) {             this.editorClearBtn.addEventListener('click', () => {                this.selectedDeals.clear();                this.render();                this.updateFloatingCopyBar();             });          }          if (this.grid) {            this.grid.addEventListener('change', (e) => {               if (e.target.classList.contains('tg-df-deal-checkbox')) {                  const dealId = e.target.getAttribute('data-id');                  if (e.target.checked) {                     const dealObj = this.deals.find(d => d.id === dealId);                     if (dealObj) this.selectedDeals.set(dealId, dealObj);                  } else {                     this.selectedDeals.delete(dealId);                  }                  this.updateFloatingCopyBar();               }            });            this.grid.addEventListener('click', (e) => {              const dealCard = e.target.closest('[data-action="deal-click"]');              const similarCard = e.target.closest('[data-action="view-similar-click"]');              const cardLink = dealCard || similarCard;              if (cardLink) {                const productName = cardLink.getAttribute('data-product-name');                const merchantName = cardLink.getAttribute('data-merchant-name');                const productId = cardLink.getAttribute('data-analytics-id');                const price = parseFloat(cardLink.getAttribute('data-price')) || null;                const prevPriceStr = cardLink.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = cardLink.getAttribute('data-original-link');                const rewrittenLink = cardLink.getAttribute('href');                const revenueId = cardLink.getAttribute('data-revenue-id');                const index = parseInt(cardLink.getAttribute('data-index'), 10) || 0;                const inStock = cardLink.getAttribute('data-in-stock') === 'true';                const totalText = cardLink.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: cardLink.getAttribute('data-model-id') || null,                    matchId: cardLink.getAttribute('data-match-id') || null,                    brand: cardLink.getAttribute('data-model-brand') || null,                    parent: cardLink.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: cardLink.getAttribute('data-merchant-id') || null,                    network: cardLink.getAttribute('data-merchant-network') || null,                    url: cardLink.getAttribute('data-merchant-url') || null,                    name: merchantName                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: normalizeCurrency(this.escapeHTML(cardLink.getAttribute('data-currency') || '$'))                };                if (dealCard) {                  trackDealClick(trackingParams);                } else {                  trackViewSimilarClick(trackingParams);                }              }              const couponsBtn = e.target.closest('[data-action="coupons-click"]');              if (couponsBtn) {                trackElementInteraction({                  id: 'product-card-show-coupons',                  name: 'Coupons',                  label: `Product card coupons: ${couponsBtn.getAttribute('data-merchant')}`                });              }            });          }          this.setupScrollListeners();        }        setupScrollListeners() {          const containers = [             this.root.querySelector('.tg-df-carousel-roundels'),             this.root.querySelector('.tg-df-carousel-filters-wrap'),             this.root.querySelector('#tg-df-grid')          ];                    containers.forEach(container => {             if (!container) return;                          const checkScroll = () => {                if (!container.parentElement) return;                const leftBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-left');                const rightBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-right');                                if (leftBtn) {                   if (container.scrollLeft <= 5) leftBtn.style.display = 'none';                   else leftBtn.style.display = 'flex';                }                                if (rightBtn) {                   if (container.scrollWidth <= container.clientWidth) {                       rightBtn.style.display = 'none';                   } else if (container.scrollLeft >= container.scrollWidth - container.clientWidth - 5) {                       rightBtn.style.display = 'none';                   } else {                       rightBtn.style.display = 'flex';                   }                }             };                          container.addEventListener('scroll', checkScroll);             checkScroll();                          window.addEventListener('resize', checkScroll);                          const observer = new MutationObserver(checkScroll);             observer.observe(container, { childList: true, subtree: true, characterData: false });          });        }        get widgetTypeName() {          const mode = this.viewModeSelect ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');          switch(mode) {              case 'carousel': return 'Carousel';              case 'savings_squad': return 'Savings Squad';              case 'grid': return 'Grid';              case 'row': return 'Row';              default: return 'Auto Collection';          }        }        getRowsLimit() {          if (this.rowsSelect && this.rowsSelect.value) return parseInt(this.rowsSelect.value, 10);          let configSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {             configSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {             configSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(configSource);          if (params.has('rows')) return parseInt(params.get('rows'), 10) || 12;          return 12;        }        getAreaCode() {          if (this.regionSelect && this.regionSelect.value) {            if (this.regionSelect.value === 'auto') return null;            return this.regionSelect.value;          }          let area = null;          try {            const locale = window.navigator.language || window.navigator.userLanguage;            if (locale && locale.includes('-')) {              area = locale.split('-')[1].toUpperCase();            } else if (locale && locale.length === 2) {              if (locale.toUpperCase() === 'EN') { area = 'US'; }              else { area = locale.toUpperCase(); }            }          } catch (e) { /* Ignore */ }                    // Map to known valid options or fallback to US          const valid = ['US', 'GB', 'CA', 'AU', 'DE', 'FR', 'IT'];          if (area === 'UK') area = 'GB';          if (valid.includes(area)) {             return area;          }          return 'US';        }                async loadCarouselSpreadsheet() {          try {              const parseCSVRow = (str) => {                  let result = [], cur = '', inQuotes = false;                  for (let i = 0; i < str.length; i++) {                      let char = str[i];                      if (inQuotes) {                          if (char === '"') {                              if (str[i + 1] === '"') { cur += '"'; i++; }                              else { inQuotes = false; }                          } else { cur += char; }                      } else {                          if (char === '"') { inQuotes = true; }                          else if (char === ',') { result.push(cur); cur = ''; }                          else { cur += char; }                      }                  }                  result.push(cur); return result;              };              const parseCSV = (str) => {                  const rows = []; let curRow = '', inQuotes = false;                  for (let i = 0; i < str.length; i++) {                      let char = str[i];                      if (char === '"') inQuotes = !inQuotes;                      if ((char === '\n' || char === '\r') && !inQuotes) {                          if (char === '\r' && str[i+1] === '\n') i++;                          if (curRow) rows.push(parseCSVRow(curRow));                          curRow = '';                      } else { curRow += char; }                  }                  if (curRow) rows.push(parseCSVRow(curRow));                  return rows;              };              const preloadedCSV = decodeURIComponent(escape(atob("LCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNQ0KUm91bmRlbCB0ZXh0LEFsbCxUVnMsRm9vdHdlYXIsQXBwYXJlbCxNYXR0cmVzZXMsQXBwbGlhbmNlcyxXZWFyYWJsZSB0ZWNoLEhlYWRwaG9uZXMsU21hcnQgSG9tZSxTcGVha2VycyxMYXB0b3BzLFRhYmxldHMsQ29tcHV0aW5nLFBob25lcyxHYW1pbmcsTGVnbw0KUm91bmRlbCBpbWFnZSxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL2FpLnBuZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3R2cy5wbmcsaHR0cHM6Ly9pbWFnZXMuZmllLmZ1dHVyZWNkbi5uZXQvcHJvZHVjdHMvN2IzYTIyNGIwNzk2M2M2MjdiNmI5MDliZDc4MzM4MzZlMDJmZjgxOS5qcGcud2VicCxodHRwczovL2ltYWdlcy5maWUuZnV0dXJlY2RuLm5ldC9wcm9kdWN0cy84NGRhYzVkNDhlZDJkNDQ4NTU5ZWJhNjdhY2U4MzE0Y2M2N2NjZDk0LmpwZy53ZWJwLGh0dHBzOi8vd3d3LnRvbXNndWlkZS5jb20vcHJvZHVjdHMvY2Fyb3VzZWwvbWF0dHJlc3Nlcy5wbmcsaHR0cHM6Ly9pbWFnZXMuZmllLmZ1dHVyZWNkbi5uZXQvcHJvZHVjdHMvNzY4ZTk3Y2ViMDcxODAxZmFlMjA5MTBkMDgyMGIxNmY3NDdhZjkzOS5qcGcud2VicCxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3dlbGxuZXNzLnBuZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL2hlYWRwaG9uZXMuanBnLGh0dHBzOi8vaW1hZ2VzLmZpZS5mdXR1cmVjZG4ubmV0L3Byb2R1Y3RzLzg5NTM1YmVlYmUyMGRiYmQ0YTM0NmQ2ZDZiZGZlOTFkOGE4ODRhMjEuanBnLndlYnAsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9hdWRpby5qcGcsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9sYXB0b3BzLmpwZyxodHRwczovL2ltYWdlcy5maWUuZnV0dXJlY2RuLm5ldC9wcm9kdWN0cy8yMzk3NTY0ZWQ3YTVmZjk0N2U5YjZiMzBlNTRmNDc0OTRiODQxZjg5LmpwZy53ZWJwLGh0dHBzOi8vd3d3LnRvbXNndWlkZS5jb20vcHJvZHVjdHMvY2Fyb3VzZWwvY29tcHV0aW5nLmpwZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3Bob25lcy5wbmcsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9nYW1pbmcucG5nLGh0dHBzOi8vaW1hZ2VzLmZpZS5mdXR1cmVjZG4ubmV0L3Byb2R1Y3RzLzRmNmM2MjFjYWMwYmMxYTg1ZDU5M2UzNTk0YmE1YjM0OWVmZmQyOTIuanBnLndlYnANClNlYXJjaCBRdWVyeSxFdmVyeXRoaW5nLFRlbGV2aXNpb25zLCJTbmVha2VycywgcnVubmluZyBzaG9lcywgc2FuZGFscyIsQ2xvdGhpbmcsTWF0dHJlc3NlcyxIb21lIEFwcGxpYW5jZXMsV2VhcmFibGVzICYgRml0bmVzcyBUZWNoLEhlYWRwaG9uZXMsSG9tZSBUZWNoLFNwZWFrZXJzLExhcHRvcHMsVGFibGV0cyxDb21wdXRpbmcsUGhvbmVzLEdhbWluZyxDb25zdHJ1Y3Rpb24gVG95cw0KRGlzY291bnQgQW1vdW50LG1pbiA1JSxtaW4gMTAlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUNClByaWNlIFJhbmdlLCwsLCxtaW4gJDQwMCwsLCxtaW4gJDI1LCxtaW4gJDMwMCwsLG1pbiAkMTAwLCwNCkJyYW5kIFNlbGVjdGlvbiwsLCwsLCwsLCwsLCwsLCwNCkZpbHRlciBidXR0b25zLCwsLCwsLCwsLCwsLCwsLA0KMSxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMNCjIsQW1hem9uIGRlYWxzLFVuZGVyICQxMDAwLDUwJSBvZmYsQWRpZGFzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsNTAlIG9mZixBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscw0KMyxPdmVyICQ0MDAsVW5kZXIgJDUwMCxIb2thLE5pa2UsU2FhdHZhLE5pbmphLDQwJSBvZmYsSkxhYiwsSkJMLERlbGwsLEFzdXMsQXBwbGUsQ29uc29sZXMsU3RhciBXYXJzDQo0LFVuZGVyICQxMDAwLDUwJSBvZmYsU2tlY2hlcnMsVW5kZXIgQXJtb3VyLEhlbGl4LFNoYXJrLEdhcm1pbixBbmtlciBTb3VuZGNvcmUsUmluZyxTb25vcyxBcHBsZSxBcHBsZSxUUC1saW5rLFNhbXN1bmcsQWNjZXNzb3JpZXMsVW5kZXIgJDI1DQo1LFVuZGVyICQ1MDAsTEcsQXNpY3MsQ29sdW1iaWEsRHJlYW1DbG91ZCxLZXVyaWcsQXBwbGUsU29ueSxHb3ZlZSxUcmliaXQsTGVub3ZvLFNhbXN1bmcsRWVybyxHb29nbGUsR2FtZXMsVW5kZXIgJDUwDQo2LDUwJSBvZmYsU2Ftc3VuZyxOaWtlLFBhdGFnb25pYSxOZWN0YXIsRGUnTG9uZ2hpLEFtYXpmaXQsQXBwbGUsS2FzYSBzbWFydCxTb255LEFsaWVud2FyZSxUQ0wsTmV0Z2VhcixNb3Rvcm9sYSxOaW50ZW5kbyxCb3RhbmljYWxzDQo3LEFtYXpvbixIaXNlbnNlLE5ldyBCYWxhbmNlLEFyYyd0ZXJ5eCxUZW1wdXItcGVkaWMsRHlzb24sRml0Yml0LEJlYXRzLFBoaWxpcHMgSHVlLEFua2VyLEFjZXIsT25lUGx1cyxEZWxsLE9uZVBsdXMsU29ueSxEaXNuZXkNCjgsQXBwbGUsVENMLEFkaWRhcyxDYXJoYXJ0dCxCZWFyLEJpc3NlbGwsU2Ftc3VuZyxFYXJmdW4sQmxpbmssQmVhdHMsTVNJLE1pY3Jvc29mdCxBY2VyLE5vdGhpbmcsWGJveCxNYXJ2ZWwNCjksLFNvbnksU2F1Y29ueSxUaGUgTm9ydGggRmFjZSxTaWVuYSxOdXRyaWJ1bGxldCxPdXJhLFNhbXN1bmcsR29vZ2xlIE5lc3QgLE1hcnNoYWxsLFNhbXN1bmcsTGVub3ZvLExlbm92bywsLFBva2Vtb24NCjEwLCxSb2t1LEJpcmtlbnN0b2NrLENSWiBZb2dhLFdpbmtCZWRzLEJsYWNrIGFuZCBEZWNrZXIsUmluZ2Nvbm4sQ01GLEV1ZnksU2Ftc3VuZyxNaWNyb3NvZnQsUmVNYXJrYWJsZSxBbGllbndhcmUsLCwNCjExLCwsQnJvb2tzLFRoZSBHeW0gUGVvcGxlLEJyb29rbHluIGJlZGRpbmcsTmVzcHJlc3NvLCwxTW9yZSxBcmxvLCxSYXplciwsQ29yc2FpciwsLA0KMTIsLCxDcm9jcywsRWlnaHQgU2xlZXAsQ3Vpc2luYXJ0LCxKQkwsLCwsLEhQLCwsDQpOb3RlcywsLCwsLCwsLCwsLCwsLCwNCiwsIlByaW9yaXRpc2UgYmlnZ2VzdCAlLyQgZGlzY291bnQsIFR2cyB3aXRoIH41MCUgb2ZmIGhhdmUgYmVlbiB0aGUgbW9zdCBwb3B1bGFyIGV2ZW4gaWYgdGhleSBhcmUgc3RpbGwgZXhwZW5zaXZlIiwiTm8gcGF0dGVybiB0byBwcmljaW5nL2Rpc2NvdW50LCByZWFkZXJzIG1haW5seSBzaG9wIGJ5IGJyYW5kL3JlY29nbmlzYWJsZSBzaG9lcyIsIk5vIHBhdHRlcm4gdG8gcHJpY2luZy9kaXNjb3VudCwgcmVhZGVycyBtYWlubHkgc2hvcCBieSBicmFuZCIsIkEgbGFiZWwgd2lsbCBkZWZpbml0ZWx5IGhlbHAgaGVyZSBlLmcuIGJlc3QgZm9yIHNpZGUgc2xlZXBlciwgYmVzdCBtZW1vcnkgZm9hbSIsIkFwcGxpYW5jZXMgaXMgYSBiaWcgY2F0ZWdvcnksIGlzIGl0IHBvc3NpYmxlIHRvIHNwbGl0IGludG8ga2l0Y2hlbiBhcHBsaWFuY2VzLCBmbG9vcmNhcmUsIGFpciBoZWFsdGgvY29vbGluZz8gT3Igc2ltaWxhciIsIkZvY3VzIG9uIHZhbHVlIGZvciBtb25leSwgR2FybWlucyB3aXRoIH41MCUgb2ZmIGhhdmUgYmVlbiBwb3B1bGFyIGV2ZW4gdGhvdWdoIHRoZXkgYXJlIHN0aWxsICQ1MDAiLCwsLCxJbmNsdWRlIEtpbmRsZXMsSSB3b3VsZCBpbmNsdWRlIHdpZmkgcm91dGVycyBoZXJlIGluc3RlYWQgb2Ygc21hcnQgaG9tZSxDYW4gd2Ugc3VyZmFjZSBwaG9uZSBwcm92aWRlciBkZWFscz8gVC1tb2JpbGUgYW5kIHZlcml6b24gd291bGQgbWFrZSBhIGxvdCBtb3JlIG1vbmV5IHRoYW4gQW1hem9uLCwNCiwsaGF2aW5nIGEgJ2Jlc3QgZm9yJyBsYWJlbCB3b3VsZCBiZSBoZWxwZnVsIGUuZy4gYmVzdCBmb3IgYnJpZ2h0IHJvb20sQ2FuIHdlIHN0b3Aga2lkcyBzaG9lcyBmcm9tIHB1bGxpbmcgdGhyb3VnaD8sIldpbGwgdGhpcyBpbmNsdWRlIGFjY2Vzc29yaWVzIGUuZy4gY2FwcywgYmFncywgaWYgc28gbWFrZSBzdXJlIHRoZXNlIGFyZSBtaXhlZCB0aHJvdWdob3V0IGNsb3RoaW5nIGRlYWxzIixXaWxsIHRoaXMgaW5jbHVkZSB0b3BwZXJzIGFuZCBwaWxsb3dzPyBTZWVpbmcgbW9yZSBtb21lbnR1bSB3aXRoIHRoaXMgY2F0ZWdvcnkgcmVjZW50bHkgc28gYSBiZWRkaW5nIHRhYiBtaWdodCB3b3JrLCwiTmVlZCB0byBtYWtlIHN1cmUgYmFuZHMsIHNjcmVlbiBwcm90ZWN0b3JzIGV0Yy4gZG9uJ3QgcHVsbCBpbnRvIGhlcmUiLCwsLCwsLCwsDQosLCJQcmlvcml0aXNlIDY1JycgYW5kIDU1JyBpbmNoIFRWcywgdGhlbiBiaWdnZXIgc2NyZWVucyBiZWZvcmUgdGhlIHNtYWxsZXIgc2l6ZXMiLCwsUXVlZW4gaXMgdGhlIG1vc3QgcG9wdWxhciBzaXplIGluIHRoZSBVUyAtIHByaW9yaXRpc2UgZGVhbHMgZm9yIHRoaXMgc2l6ZSwsLCwsLCwsLCwsDQosLCwsLCwsLCwsLCwsLCwsDQpDYXRlZ29yaWVzIHRvIGNvbnNpZGVyLCxQcm9kdWN0cyBpbmNsdWRlZCwsLCwsLCwsLCwsLCwsDQpVbmRlciAkNTA/LCxBaXIgdGFncywsLCwsLCwsLCwsLCwsDQosLFBvcnRhYmxlIGNoYXJnZXJzL3dpcmVsZXNzIGNoYXJnZXJzLCwsLCwsLCwsLCwsLCwNCiwsIldhdGVyIGJvdHRsZXMgKHN0YW5sZXlzLCBPd2FsYSwgSHlkcm8gZmxhc2ssIFlldGkpIiwsLCwsLCwsLCwsLCwsDQosLEhhbmQgaGVsZCBmYW5zLCwsLCwsLCwsLCwsLCwNCiwsLCwsLCwsLCwsLCwsLCwNCmhvbWUgb2ZmaWNlLCxvZmZpY2UgY2hhaXJzLCwsLCwsLCwsLCwsLCwNCiwsc3RhbmRpbmcgZGVza3MsLCwsLCwsLCwsLCwsLA0KLCxtb25pdG9ycywsLCwsLCwsLCwsLCwsDQosLEtleWJvYXJkcywsLCwsLCwsLCwsLCwsDQosLGRvY2tpbmcgc3RhdGlvbiwsLCwsLCwsLCwsLCwsDQosLCwsLCwsLCwsLCwsLCwsDQpHYW1pbmcsLENvbnNvbGVzLCwsLCwsLCwsLCwsLCwNCiwsQWNjZXNzb3JpZXMsLCwsLCwsLCwsLCwsLA0KLCxHYW1lcywsLCwsLCwsLCwsLCwsDQosLENvdWxkIGluY2x1ZGUgTGVnbz8sLCwsLCwsLCwsLCwsLA==")));              const text = preloadedCSV;              const parsed = parseCSV(text);                            const rowsByName = {};              let filterStart = -1;              parsed.forEach((rc, i) => {                 if (rc && rc.length > 0 && rc[0]) rowsByName[rc[0]] = rc;                 if (rc && rc.length > 0 && rc[0] === 'Filter buttons') filterStart = i;              });                            const cols = [];              if(rowsByName['Roundel text']) {                const headerRow = rowsByName['Roundel text'];                for(let col = 1; col < headerRow.length; col++) {                   let label = headerRow[col];                   if (!label) continue;                                      let q = rowsByName['Search Query'] && rowsByName['Search Query'][col] ? rowsByName['Search Query'][col] : '';                   let img = rowsByName['Roundel image'] && rowsByName['Roundel image'][col] ? rowsByName['Roundel image'][col] : '';                   let ds = rowsByName['Discount Amount'] && rowsByName['Discount Amount'][col] ? rowsByName['Discount Amount'][col] : '';                   let pr = rowsByName['Price Range'] && rowsByName['Price Range'][col] ? rowsByName['Price Range'][col] : '';                   let rt = rowsByName['Retailer'] && rowsByName['Retailer'][col] ? rowsByName['Retailer'][col] : '';                   let ot = rowsByName['Offer Type'] && rowsByName['Offer Type'][col] ? rowsByName['Offer Type'][col] : '';                                      let filters = [];                   if(filterStart > 0) {                     for(let r = filterStart + 1; r < parsed.length; r++) {                         if(!parsed[r] || parsed[r][0] === 'Notes' || parsed[r][0] === 'Categories to consider') break;                         let f = parsed[r][col];                         if(f) filters.push(f);                     }                   }                   cols.push({ label, img, q, ds, pr, rt, ot, filters });                }              }              this.carouselData = cols;              if (this.carouselData && this.carouselData.length > 0) {                 const isMatched = this.carouselData.some(c => c.q === this.currentQuery || c.label === this.currentQuery);                 if (!isMatched) {                    const first = this.carouselData[0];                    this.currentQuery = first.q || first.label;                    if (this.priceFilter) this.priceFilter.value = 'all';                    if (this.customPriceMin) this.customPriceMin.value = '';                    if (this.customPriceMax) this.customPriceMax.value = '';                    let dPr = first.pr || 'all';                    if (typeof dPr === 'string' && dPr !== 'all') {                       let prLower = dPr.toLowerCase();                       if (prLower.includes('min') || prLower.includes('over')) {                          let m = dPr.match(/(\d+)/);                          if (m && this.customPriceMin) this.customPriceMin.value = m[1];                       } else if (prLower.includes('max') || prLower.includes('under')) {                          let m = dPr.match(/(\d+)/);                          if (m && this.customPriceMax) this.customPriceMax.value = m[1];                       }                    }                    let dAm = '0';                    if(first.ds && typeof first.ds === 'string') {                       let m = first.ds.match(/(\d+)/);                       if(m) dAm = m[1];                    }                    if (this.discountFilter) this.discountFilter.value = dAm;                    if (this.offerTypeSelect) this.offerTypeSelect.value = first.ot || '';                    if (this.retailerSelect) this.retailerSelect.value = first.rt || '';                    this.selectedBrands = [];                    if (this.brandDropdown) {                        const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                        chks.forEach(chk => chk.checked = false);                    }                    if (this.searchInput) this.searchInput.value = this.currentQuery;                 }              }              this.renderCarouselUI();          } catch(e){ console.warn(e); }        }                renderCarouselUI() {           const roundelWrapper = this.root.querySelector('.tg-df-carousel-roundels');           if(!roundelWrapper || !this.carouselData) return;                      let html = '';           this.carouselData.forEach(r => {              const q = r.q || r.label;              const isActive = (this.currentQuery === q || this.currentQuery === r.label) ? 'active' : '';              const imgHtml = r.img ? `\x3Cimg src="${r.img}" alt="${r.label}" />` : `\x3Csvg width="32" height="32" fill="#1F69FF" viewBox="0 0 24 24">\x3Cpath d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\x3C/svg>`;              html += `                \x3Cdiv class="tg-df-roundel tg-df-carousel-cat ${isActive}" data-label="${this.escapeHTML(r.label)}">                  \x3Cdiv class="tg-df-roundel-img-box">${imgHtml}\x3C/div>                  \x3Cspan class="tg-df-roundel-label">${this.escapeHTML(r.label)}\x3C/span>                \x3C/div>              `;           });           roundelWrapper.innerHTML = html;                      // Rebind clicks           const roundels = this.root.querySelectorAll('.tg-df-carousel-cat');           roundels.forEach(rNode => {             rNode.addEventListener('click', () => {                const r = this.carouselData.find(c => c.label === rNode.getAttribute('data-label'));                 if(!r) return;                                  if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: r.label,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = r.q || r.label;                const labelTitle = this.root.querySelector('#tg-df-carousel-title-label');                if (labelTitle) labelTitle.textContent = 'Best ' + this.currentQuery;                if (this.priceFilter) this.priceFilter.value = 'all';                if (this.customPriceMin) this.customPriceMin.value = '';                if (this.customPriceMax) this.customPriceMax.value = '';                let dPr = r.pr || 'all';                if (typeof dPr === 'string' && dPr !== 'all') {                   let prLower = dPr.toLowerCase();                   if (prLower.includes('min') || prLower.includes('over')) {                      let m = dPr.match(/(\d+)/);                      if (m && this.customPriceMin) this.customPriceMin.value = m[1];                   } else if (prLower.includes('max') || prLower.includes('under')) {                      let m = dPr.match(/(\d+)/);                      if (m && this.customPriceMax) this.customPriceMax.value = m[1];                   }                }                                let discountAmount = '0';                if(r.ds && typeof r.ds === 'string') {                   let m = r.ds.match(/(\d+)/);                   if(m) discountAmount = m[1];                }                if (this.discountFilter) this.discountFilter.value = discountAmount;                if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                                // Clear brands                    this.selectedBrands = [];                    if (this.brandDropdown) {                    const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                    chks.forEach(chk => chk.checked = false);                }                                if (this.searchInput) this.searchInput.value = this.currentQuery;                                roundels.forEach(ro => ro.classList.remove('active'));                if (rNode) rNode.classList.add('active');                                this.renderCarouselFilters(r);                this.fetchDeals(this.currentQuery);             });           });                      // Auto-highlight active           const activeR = this.carouselData.find(c => c.q === this.currentQuery || c.label === this.currentQuery);           if(activeR) this.renderCarouselFilters(activeR);        }                renderCarouselFilters(r) {           const filtersWrap = this.root.querySelector('.tg-df-carousel-filters-wrap');           if(!filtersWrap) return;                      let html = `\x3Cbutton class="tg-df-carousel-filter-btn" data-type="all">All\x3C/button>`;                      r.filters.forEach(f => {              let fL = f.toLowerCase();              let icon = '';              let logic = `data-type="custom" data-v="${this.escapeHTML(f)}"`;              if (fL === 'amazon deals' || fL === 'prime deals') {                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>\x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>`;              } else if (fL === 'lightning deals') {                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>\x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>`;              } else {                 if (fL.includes('lightning')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap">\x3Cpolygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2">\x3C/polygon>\x3C/svg>`;                 } else if (fL.includes('% off')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>`;                 } else if (fL.includes('under') || fL.includes('min ')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>`;                 }                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>${icon} ${this.escapeHTML(f)}\x3C/button>`;              }           });                      filtersWrap.innerHTML = html;                      const btns = filtersWrap.querySelectorAll('button');           btns.forEach(b => {             b.addEventListener('click', () => {                const type = b.getAttribute('data-type');                if (type === 'custom') {                   const v = b.getAttribute('data-v');                   if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-custom-${(v||'').toLowerCase().replace(/[^a-z0-9]+/g, '-')}`, name: 'Custom Filter', label: v });                }                if (type === 'all') {                   if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: 'filter-clear-all', name: 'Clear all', label: 'Clear all filters' });                   // reset everything                   btns.forEach(btn => btn.classList.remove('active'));                   b.classList.add('active');                                      // Reset prices                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.customPriceMin) this.customPriceMin.value = '';                   if (this.customPriceMax) this.customPriceMax.value = '';                   let dPr = r.pr || 'all';                   if (typeof dPr === 'string' && dPr !== 'all') {                      let prLower = dPr.toLowerCase();                      if (prLower.includes('min') || prLower.includes('over')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMin) this.customPriceMin.value = m[1];                      } else if (prLower.includes('max') || prLower.includes('under')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMax) this.customPriceMax.value = m[1];                      }                   }                                      let discountAmount = '0';                   if(r.ds && typeof r.ds === 'string') {                      let m = r.ds.match(/(\d+)/);                      if(m) discountAmount = m[1];                   }                   if (this.discountFilter) this.discountFilter.value = discountAmount;                   if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                   if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                   this.selectedBrands = [];                   if (this.brandDropdown) {                     const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                     chks.forEach(chk => chk.checked = false);                   }                } else {                   const v = b.getAttribute('data-v');                   const fL = v.toLowerCase();                                      let mapRet = ['amazon', 'walmart', 'best buy', 'target', 'john lewis', 'currys', 'argos'];                   const getCategory = (s) => {                      if (s === 'lightning deals' || s === 'amazon deals' || s === 'prime deals') return 'offer';                      if (s.includes('% off')) return 'discount';                      if (s.includes('under') || s.includes('over') || s.includes('min') || s.includes('max')) return 'price';                      if (mapRet.includes(s)) return 'retailer';                      return 'brand';                   };                   const cat = getCategory(fL);                   const wasActive = b.classList.contains('active');                   if (cat !== 'brand') {                      btns.forEach(btn => {                          if (btn === b) return;                          if (btn.getAttribute('data-type') === 'all') return;                          const bV = btn.getAttribute('data-v');                          if (!bV) return;                          if (getCategory(bV.toLowerCase()) === cat) btn.classList.remove('active');                      });                   }                   if (wasActive) b.classList.remove('active');                   else b.classList.add('active');                   let anyActive = Array.from(btns).some(btn => btn !== btns[0] && btn.classList.contains('active'));                   if (!anyActive) {                       btns[0].click();                       return;                   } else {                       btns[0].classList.remove('active');                   }                                      if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.customPriceMin) this.customPriceMin.value = '';                   if (this.customPriceMax) this.customPriceMax.value = '';                   let dPr = r.pr || 'all';                   if (typeof dPr === 'string' && dPr !== 'all') {                      let prLower = dPr.toLowerCase();                      if (prLower.includes('min') || prLower.includes('over')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMin) this.customPriceMin.value = m[1];                      } else if (prLower.includes('max') || prLower.includes('under')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMax) this.customPriceMax.value = m[1];                      }                   }                                      let discountAmount = '0';                   if(r.ds && typeof r.ds === 'string') {                      let m = r.ds.match(/(\d+)/);                      if(m) discountAmount = m[1];                   }                   if (this.discountFilter) this.discountFilter.value = discountAmount;                   if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                   if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                   this.selectedBrands = [];                   btns.forEach(btn => {                       if (!btn.classList.contains('active') || btn.getAttribute('data-type') === 'all') return;                       const vv = btn.getAttribute('data-v');                       const vl = vv.toLowerCase();                                              if (vl === 'lightning deals') {                          if (this.offerTypeSelect) this.offerTypeSelect.value = 'amazon_lightning';                       } else if (vl === 'amazon deals' || vl === 'prime deals') {                          if (this.offerTypeSelect) this.offerTypeSelect.value = 'amazon_prime';                       } else if (vl.includes('% off')) {                          let m = vl.match(/(\d+)%/);                          if (m && this.discountFilter) this.discountFilter.value = m[1];                       } else if (vl.includes('under') || vl.includes('max')) {                          let m = vl.match(/(\d+)/);                          if (m && this.customPriceMax) this.customPriceMax.value = m[1];                       } else if (vl.includes('min') || vl.includes('over')) {                          let m = vl.match(/(\d+)/);                          if (m && this.customPriceMin) this.customPriceMin.value = m[1];                       } else {                          let foundR = mapRet.find(x => x === vl);                          if (foundR) {                             let realR = ['Amazon', 'Walmart', 'Best Buy', 'Target', 'John Lewis', 'Currys', 'Argos'].find(x => x.toLowerCase() === vl);                             if (this.retailerSelect) this.retailerSelect.value = realR;                          } else {                             this.selectedBrands.push(vv);                          }                       }                   });                                      if (this.brandDropdown) {                       const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                       chks.forEach(c => c.checked = this.selectedBrands.includes(c.value));                   }                                      if (r.pr && typeof r.pr === 'string') {                       let prL = r.pr.toLowerCase();                       if (prL.includes('under $')) {                           let m = prL.match(/under \$(\d+)/i);                           if (m && this.customPriceMax && !this.customPriceMax.value) this.customPriceMax.value = m[1];                       }                   }                }                                this.fetchDeals(this.currentQuery);             });           });                      // default to highlighting first           btns[0].classList.add('active');        }async fetchDeals(query, append = false) {          if (!append) {             this.showLoading();             this.deals = [];             this.displayLimit = this.getRowsLimit();          } else {             this.displayLimit += this.getRowsLimit();          }                    try {            if (this.getViewMode() === 'savings_squad') {               await this.fetchSavingsSquad(append);            } else {               if (this.isBroadQuery(query)) {                 await this.fetchAdviserDeals(query, append);               } else {                 await this.fetchHawkDeals(query, append);                 if (this.deals.length === 0) {                   await this.fetchAdviserDeals(query, append);                 }               }            }          } catch (error) {            console.warn("[Tom's Guide Widget] Fetch error:", error);            this.showError();          }        }        async fetchSavingsSquad() {          let topArticles = this.airedaleArticles;          if (!topArticles) {            const airedaleUrl = `https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50`;            let res;            try {               res = await fetch(airedaleUrl);            } catch(e) {               try { res = await fetch(`https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50`); } catch (err) { console.warn("Fallback fetch failed", err); return; }            }            if (!res.ok) throw new Error('Airedale API Error');            const articles = await res.json();            topArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);            this.airedaleArticles = topArticles;                        let tagCounts = {};            topArticles.forEach((a) => {              let articleTags = new Set();              if (a.articlecategory && Array.isArray(a.articlecategory)) {                 a.articlecategory.forEach((t) => articleTags.add(t));              }              articleTags.forEach(t => {                 tagCounts[t] = (tagCounts[t] || 0) + 1;              });            });                        this.airedaleTags = Object.keys(tagCounts).sort((a, b) => tagCounts[b] - tagCounts[a]);            this.airedaleTagCounts = tagCounts;          }                    let targetArticles = topArticles;          if (this.activeDealTag) {             const cleanTag = this.activeDealTag.toLowerCase().replace(/&/g, '').replace(/[^a-z0-9]+/g, '-').replace(/-+/g, '-').replace(/^-|-$/g, '');             const encodedTag = encodeURIComponent(cleanTag);             const url = `https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50&articleCategoryHandle=${encodedTag}`;             try {                const res = await fetch(url);                if (res.ok) {                   const articles = await res.json();                   targetArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);                }             } catch(e) {                console.warn("Failed to fetch by activeDealTag", e);             }          }          let extractedDeals = [];          let dynamicBrandsCounts = {};                    targetArticles.forEach((article) => {             if (!article.articlepage) return;                          let pageData = [];             try {                pageData = JSON.parse(article.articlepage[0]);             } catch(e){ console.warn(e); }                          const savingsSquad = pageData.filter((p) => p.type === 'deal' || p.type === 'featured-product');                          savingsSquad.forEach((block, idx) => {                const data = block.data || {};                const isFeatured = block.type === 'featured-product';                                const link = data.link || {};                const priceObj = data.price || {};                const image = data.image || {};                                if (data.brand) {                   data.brand = data.brand.replace(/^\d+\.\s*/, '').trim();                   dynamicBrandsCounts[data.brand] = (dynamicBrandsCounts[data.brand] || 0) + 1;                }                const externalUrl = isFeatured ? data.url : (link.href || null);                let summaryTitle = isFeatured ? (data.name || data.brand) : (data.productName || link.label || article.articlename);                let description = isFeatured ? (data.strapline || '') : (data.text || '');                                if (!isFeatured && !data.productName && data.text) {                   const brSplit = data.text.split(new RegExp('\x3Cbr\\s*\\/?\\x3E', 'i'));                   if (brSplit.length > 1) {                     summaryTitle = brSplit[0].replace(/<[^>]+>/g, '').trim();                     description = brSplit.slice(1).join(' ').replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim();                   } else {                     const match = data.text.match(/\x3Cstrong>(.*?)<\/strong>/);                     if (match) {                       summaryTitle = match[1].replace(/<[^>]+>/g, '').trim();                       if (summaryTitle.endsWith(':')) summaryTitle = summaryTitle.slice(0, -1);                     }                   }                }                                let imageUrl = isFeatured ? image.mos : (image.src || null);                if (imageUrl && imageUrl.startsWith('//')) imageUrl = 'https:' + imageUrl;                                description = description.replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').replace(/View Deal$/i, '').trim();                                let merchantName = data.retailer || '';                if (!merchantName && externalUrl) {                   try {                     merchantName = new URL(externalUrl).hostname.replace('www.', '').split('.')[0];                     merchantName = merchantName.charAt(0).toUpperCase() + merchantName.slice(1);                   }catch(e){ console.warn(e); }                }                if (!merchantName) merchantName = 'Retailer';                const q = (this.currentQuery || '').toLowerCase();                const activeTagLogic = (this.activeDealTag || '').toLowerCase();                if (q.length > 2 && q !== activeTagLogic) {                   const searchTarget = `${summaryTitle || ''} ${description || ''}`.toLowerCase();                   if (!searchTarget.includes(q)) return;                }                let rawPrice = 0;                let rawMsrp = 0;                let currencyStr = '$';                if (isFeatured) {                   rawPrice = typeof data.salePrice === 'number' && data.salePrice > 0 ? data.salePrice : (typeof data.price === 'number' ? data.price : 0);                   rawMsrp = typeof data.salePrice === 'number' && typeof data.price === 'number' && data.price > data.salePrice ? data.price : 0;                   currencyStr = data.currency === 'GBP' ? '£' : '$';                } else {                   rawPrice = priceObj.amount ? parseFloat(priceObj.amount) : 0;                   rawMsrp = priceObj.amountWas ? parseFloat(priceObj.amountWas) : 0;                   currencyStr = priceObj.currency === 'GBP' ? '£' : '$';                }                                let savingAmt = 0;                let savingLabel = '';                if (rawPrice > 0 && rawMsrp > rawPrice) {                   savingAmt = parseFloat((rawMsrp - rawPrice).toFixed(2));                   savingLabel = `Save ${currencyStr}${savingAmt}`;                }                                // Apply Brand filter                if (this.selectedBrands && this.selectedBrands.length > 0) {                   const itemBrand = (data.brand || '').toLowerCase();                   const hasMatch = this.selectedBrands.some(sb => sb.toLowerCase() === itemBrand);                   if (!hasMatch) return;                }                // Apply Price filter                let priceFilterVal = null;                const min = this.customPriceMin ? this.customPriceMin.value : '';                const max = this.customPriceMax ? this.customPriceMax.value : '';                if (min || max) {                   priceFilterVal = `${min}_${max}`;                } else if (this.priceFilter && this.priceFilter.value !== 'all') {                   priceFilterVal = this.priceFilter.value;                }                if (priceFilterVal && rawPrice > 0) {                   if (priceFilterVal === 'under50' && rawPrice >= 50) return;                   if (priceFilterVal === 'over50' && rawPrice <= 50) return;                   if (priceFilterVal === 'over30' && rawPrice <= 30) return;                   if (priceFilterVal === 'over500' && rawPrice <= 500) return;                   if (priceFilterVal.includes('_')) {                      const parts = priceFilterVal.split('_');                      const min = parseFloat(parts[0]);                      const max = parseFloat(parts[1]);                      if (!isNaN(min) && rawPrice < min) return;                      if (!isNaN(max) && rawPrice > max) return;                   }                }                // Apply Discount filter                if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {                   const requiredDiscount = parseInt(this.discountFilter.value);                   if (!isNaN(requiredDiscount) && requiredDiscount > 0) {                      if (!rawMsrp || rawMsrp <= rawPrice) return;                      const ratio = Math.round((1 - (rawPrice / rawMsrp)) * 100);                      if (ratio < requiredDiscount) return;                   }                }                                extractedDeals.push({                   id: `airedale-${article.id || Math.random()}-${idx}`,                   url: externalUrl,                   image: imageUrl,                   fallbackImage: imageUrl,                   title: summaryTitle,                   brand: data.brand || '',                   productName: data.productName || '',                   merchant: merchantName,                   rawPrice: rawPrice,                   rawMsrp: rawMsrp,                   price: rawPrice > 0 ? rawPrice.toString() : '',                   msrp: rawMsrp > 0 ? rawMsrp.toString() : '',                   currency: currencyStr,                   isCheckPrice: !rawPrice,                   savingLabel: savingLabel,                   savingType: rawMsrp > rawPrice ? 'amount' : 'none',                   isPrime: false,                   starRating: null,                   description: description,                   text: data.text || ''                });             });          });                    const airedaleBrandsList = Object.keys(dynamicBrandsCounts).map(b => ({              formatted_value: b,              count: dynamicBrandsCounts[b]          })).sort((a,b) => b.count - a.count);                    if (this.getViewMode() === 'savings_squad') {             this.populateBrandDropdown(airedaleBrandsList.slice(0, 15));             if (this.brandFilterWrapper) {                if (airedaleBrandsList.length === 0) {                    this.brandFilterWrapper.style.display = 'none';                } else {                    this.brandFilterWrapper.style.display = 'flex';                }             }          }                    this.deals = extractedDeals;          this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        isBroadQuery(query) {          const q = query.toLowerCase();          const intentModifiers = ['deals', 'best', 'sale', 'under', 'cheap', 'offers', 'discount'];          return intentModifiers.some(term => q.includes(term));        }        async fetchHawkDeals(query, append = false) {          const url = new URL(this.apiUrl);          url.searchParams.append('model_name', query);          const areaCode = this.getAreaCode();          if (areaCode) {            url.searchParams.append('area', areaCode);          }                    if (append && this.deals.length > 0) {            url.searchParams.append('offset', this.deals.length.toString());          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.append('filter_merchant_name', this.retailerSelect.value);          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.append('filter_label[text_brand]', this.selectedBrands.join(','));          }                    let priceVal = null;          const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             priceVal = `${min}_${max}`;          } else if (this.priceFilter && this.priceFilter.value !== 'all') {             priceVal = this.priceFilter.value;          }          if (priceVal) {            if (priceVal === 'under50') {              url.searchParams.append('filter_max_price', '50');            } else if (priceVal === 'over50') {              url.searchParams.append('filter_min_price', '50');            } else if (priceVal === 'over30') {              url.searchParams.append('filter_min_price', '30');            } else if (priceVal === 'over500') {              url.searchParams.append('filter_min_price', '500');            } else if (priceVal.includes('_')) {              const parts = priceVal.split('_');              if (parts[0]) url.searchParams.append('filter_min_price', parts[0]);              if (parts[1]) url.searchParams.append('filter_max_price', parts[1]);            }          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {              const ratio = (100 - v) / 100;              url.searchParams.append('min_discount_ratio', ratio.toString());            }          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.append('offer', this.offerTypeSelect.value);          }                    url.searchParams.append('filter_product_types', 'deals');                    url.searchParams.append('rows', this.getRowsLimit().toString());          let response;          try {             response = await fetch(url.toString());          } catch(e) {             if (window.location.protocol === 'file:') {                console.warn("[Tom's Guide Widget] fetch from file:// blocked by local CORS policy, falling back to Adviser mock.");                await this.fetchAdviserDeals(query);                return;             }             console.warn("Hawk fetch failed", e);             this.deals = [];             this.render();             return;          }          if (!response.ok) {            throw new Error('Hawk API Response Error');          }          const rawData = await response.json();          // Safely locate data array from potentially wrapped response          let offers = [];          let modelInfoArray = [];                    let brandFilterData = null;          if (rawData && rawData.widget && rawData.widget.data && Array.isArray(rawData.widget.data.filters)) {             brandFilterData = rawData.widget.data.filters.find(f => f.type === 'label_text_brand');          } else if (rawData && rawData.data && Array.isArray(rawData.data.filters)) {             brandFilterData = rawData.data.filters.find(f => f.type === 'label_text_brand');          }          if (brandFilterData && Array.isArray(brandFilterData.values) && brandFilterData.values.length > 0) {             this.populateBrandDropdown(brandFilterData.values);          } else {             if (this.brandFilterWrapper && this.selectedBrands.length === 0) {                this.brandFilterWrapper.style.display = 'none';             }          }                    if (rawData && rawData.widget && rawData.widget.data) {            if (Array.isArray(rawData.widget.data.offers)) offers = rawData.widget.data.offers;            if (rawData.widget.data.model_info && typeof rawData.widget.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.widget.data.model_info) ? rawData.widget.data.model_info : Object.values(rawData.widget.data.model_info);            }          } else if (rawData && rawData.data) {            if (Array.isArray(rawData.data.offers)) offers = rawData.data.offers;            if (rawData.data.model_info && typeof rawData.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.data.model_info) ? rawData.data.model_info : Object.values(rawData.data.model_info);            }          } else {            if (Array.isArray(rawData)) offers = rawData;            else if (rawData && Array.isArray(rawData.offers)) offers = rawData.offers;            else if (rawData && rawData.offers && Array.isArray(rawData.offers.offer)) offers = rawData.offers.offer;            else if (rawData && rawData.offers) offers = [].concat(rawData.offers);                        if (rawData && rawData.model_info && typeof rawData.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.model_info) ? rawData.model_info : Object.values(rawData.model_info);            }          }          let modelDetails = {};          modelInfoArray.forEach(m => {            const mId = m.model_id || m.id;            if (mId) {              modelDetails[mId] = {                score: m.score != null ? parseFloat(m.score) : null,                brand: m.brand || null,                parent: (m.parents && Array.isArray(m.parents) && m.parents.length > 0) ? m.parents[0].name : null              };            }          });          offers.forEach(item => {            let data = { ...item };            const mId = data.model_id;            if (mId && modelDetails[mId]) {              data.review_score = modelDetails[mId].score;              data.model_brand = modelDetails[mId].brand;              data.model_parent = modelDetails[mId].parent;            } else {              data.review_score = null;            }                        let itemOffers = [];            if (Array.isArray(item.offers)) itemOffers = item.offers;            else if (Array.isArray(item.offer)) itemOffers = item.offer;            else if (item.offers && typeof item.offers === 'object') itemOffers = [item.offers];            else if (item.offer && typeof item.offer === 'object') itemOffers = [item.offer];            if (itemOffers.length > 0) {              itemOffers.forEach(subItem => {                let subData = { ...item, ...subItem };                const subId = subData.model_id;                if (subId && modelDetails[subId]) {                  subData.review_score = modelDetails[subId].score;                  subData.model_brand = modelDetails[subId].brand;                  subData.model_parent = modelDetails[subId].parent;                } else if (data.review_score != null) {                  subData.review_score = data.review_score;                }                if (subData.merchant && typeof subData.merchant === 'object') {                  subData.merchant_name = subData.merchant.name;                }                this.deals.push(this.extractDealData(subData));              });              return;            }                        if (item.merchant && typeof item.merchant === 'object') {              data.merchant_name = item.merchant.name;            }                        this.deals.push(this.extractDealData(data));          });                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        async fetchAdviserDeals(query) {          // ======================================================================          // TODO: ADVISER API REPLACEMENT          // The code below simulates the Adviser API response using mock data.          // Once the real endpoint is ready, remove getAdviserMockData() and           // perform an actual fetch() request similar to fetchHawkDeals().          // Example:          // const area = this.getAreaCode();          // let apiUrl = `https://your-adviser-api.com/search?q=${query}&area=${area}`;          // if (this.priceFilter && this.priceFilter.value !== 'all') {          //   const val = this.priceFilter.value;          //   if (val === 'under50') apiUrl += '&filter_max_price=50';          //   else if (val === '50_100') apiUrl += '&filter_max_price=100';          //   else if (val === '100_200') apiUrl += '&filter_max_price=200';          //   else if (val === '200_500') apiUrl += '&filter_max_price=500';          // }          // const res = await fetch(apiUrl);          // const rawData = await res.json();          // ======================================================================          // Simulating network latency          await new Promise(resolve => setTimeout(resolve, 400));                    const rawData = this.getAdviserMockData();          let offers = [];                    if (rawData && rawData.data && rawData.data.Get && Array.isArray(rawData.data.Get.Deal)) {            offers = rawData.data.Get.Deal;          }                    // Basic client-side filtering for the mock if we want it to react to the query          const q = query.toLowerCase();          const selectedRetailer = (this.retailerSelect && this.retailerSelect.value) ? this.retailerSelect.value.toLowerCase() : null;                    offers.forEach(item => {            const dataObj = item;                        // Apply retailer filter            const itemRetailer = (dataObj.dataRetailer || '').toLowerCase();            if (selectedRetailer && itemRetailer !== selectedRetailer && !itemRetailer.includes(selectedRetailer)) {              return;            }                        // Apply mock price filter            let price = dataObj.dataDiscountedPrice || 0;            if (typeof price === 'string') {              price = parseFloat(price.replace(/[^0-9.]/g, ''));            }            let priceVal = null;            const min = this.customPriceMin ? this.customPriceMin.value : '';            const max = this.customPriceMax ? this.customPriceMax.value : '';            if (min || max) {               priceVal = `${min}_${max}`;            } else if (this.priceFilter && this.priceFilter.value !== 'all') {               priceVal = this.priceFilter.value;            }            if (priceVal) {              if (priceVal === 'under50' && price >= 50) return;              if (priceVal === 'over50' && price <= 50) return;              if (priceVal === 'over30' && price <= 30) return;              if (priceVal === 'over500' && price <= 500) return;              if (priceVal.includes('_')) {                 const parts = priceVal.split('_');                 if (parts[0] && price < parseFloat(parts[0])) return;                 if (parts[1] && price > parseFloat(parts[1])) return;              }            }                        // Map Adviser schema to our widget's expected schema            const mappedData = {              url: dataObj.linkHREF || dataObj.dataLink || '#',              image: dataObj.imageURL || (dataObj.image && dataObj.image.src) || '',              title: dataObj.dataProduct || (dataObj.product && dataObj.product.name) || 'Product Deal',              merchant: dataObj.dataRetailer || 'Retailer',              price: dataObj.dataDiscountedPrice || 0,              currency: dataObj.dataCurrency === 'USD' ? '$' : (dataObj.dataCurrency || '$'),              msrp: dataObj.dataOriginalPrice || null            };                        const titleLow = mappedData.title.toLowerCase();            const merchLow = mappedData.merchant.toLowerCase();                        // Smarter mock filtering            let isMatch = false;            if (q === '' || this.isBroadQuery(q)) {              isMatch = true;            } else if (titleLow.includes(q) || merchLow.includes(q)) {              isMatch = true;            } else if ((q.includes('laptop') || q.includes('mac') || q.includes('pc')) && (titleLow.includes('macbook') || titleLow.includes('laptop'))) {              isMatch = true;            } else if ((q.includes('tv') || q.includes('television')) && (titleLow.includes('tv') || titleLow.includes('oled') || titleLow.includes('qled'))) {              isMatch = true;            } else if ((q.includes('phone') || q.includes('smartphone')) && (titleLow.includes('galaxy') || titleLow.includes('phone'))) {              isMatch = true;            } else if ((q.match(/watch|fitness|run|shoe/)) && (titleLow.includes('forerunner') || titleLow.includes('saucony') || titleLow.includes('watch'))) {              isMatch = true;            }                        if (isMatch) {               this.deals.push(this.extractDealData(mappedData));            }          });                    let rowLimit = this.getRowsLimit();          // Intentionally omitting the slice here to allow "Load More" to work if the API returns more                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        getAdviserMockData() {          return {            "data": {              "Get": {                "Deal": [                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 300,                    "dataOriginalPrice": 399,                    "dataProduct": "Samsung Galaxy A36",                    "dataRetailer": "Samsung",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/MqDYsukV3JBG54te6dEs7j.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 14,                    "dataOriginalPrice": 24,                    "dataProduct": "Blink Mini",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/3JurmAjHsDa5tPdaHAwEV8.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 59,                    "dataOriginalPrice": 99,                    "dataProduct": "Ring Video Doorbell",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/rAh4uR7AsAsALCCLTXnLNJ.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 10,                    "dataOriginalPrice": 599,                    "dataProduct": "MacBook Neo",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/Lg4Dvg68j9SbB5CPNrTEpH.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 749,                    "dataOriginalPrice": 849,                    "dataProduct": "65\\\" Fire TV Omni 4K QLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/SG34ZWodUkLTxJvMTbjPYR.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 71,                    "dataOriginalPrice": 160,                    "dataProduct": "Saucony Hurricane 24",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/vxf7UD5T2Am7guVzFoFcZ4.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 649,                    "dataOriginalPrice": 749,                    "dataProduct": "Garmin Forerunner 970",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/3GKnEu7CdhtxPMfnPCMCiA.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1049,                    "dataOriginalPrice": 1499,                    "dataProduct": "LG 48\\\" C4 4K OLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/imvwZV9zoMD6fn9Afuge35.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1499,                    "dataOriginalPrice": 2199,                    "dataProduct": "Samsung 49\\\" Odyssey Neo G9 4K Gaming Monitor",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/XWDEJ5dUAE2nhK8k3Jk7k7.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 299,                    "dataOriginalPrice": 699,                    "dataProduct": "EGOHOME Black Memory Foam Mattress (queen)",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/hMUemtAejNETLVYxNrktzm.jpg"                  }                ]              }            }          };        }        decodeHTML(html) {          if (!html) return '';          const txt = document.createElement("textarea");          txt.innerHTML = String(html);          return txt.value;        }        extractDealData(item) {          const priceRawStr = String(item.price || item.current_price || '0');          const msrpRawStr = String(item.was_price || item.msrp || item.original_price || '0');          const rawPrice = parseFloat(priceRawStr.replace(/[^\d.]/g, '')) || 0;          const rawMsrp = parseFloat(msrpRawStr.replace(/[^\d.]/g, '')) || 0;          const isCheckPrice = rawPrice === 0 || priceRawStr === '0.00' || priceRawStr === '0';                    let originalImageUrl = item.image || item.image_url || item.product_image || '';          let imageUrl = originalImageUrl;          if ((!imageUrl || isCheckPrice) && item.model_image_url) {             imageUrl = item.model_image_url;             originalImageUrl = imageUrl;          } else if ((!imageUrl || isCheckPrice) && item.model_image) {             imageUrl = item.model_image;             originalImageUrl = imageUrl;          }                    if (imageUrl) {            imageUrl = imageUrl.replace(/-(\d+)-(\d+)(\.[a-z.]+)$/i, '$3');          }                    let fallbackImage = '';          if (originalImageUrl && originalImageUrl !== imageUrl) {             fallbackImage = originalImageUrl;          } else if (item.model_image && item.model_image !== imageUrl) {             fallbackImage = item.model_image;          } else if (item.model_image_url && item.model_image_url !== imageUrl) {             fallbackImage = item.model_image_url;          }                    const rawCurrency = item.currency || item.currency_symbol || '$';                    let savingLabel = item.percentage_saving_label || '';          if (!savingLabel && rawMsrp > rawPrice && rawPrice > 0) {            const pct = Math.round(((rawMsrp - rawPrice) / rawMsrp) * 100);            if (pct > 0) {              savingLabel = `${pct}% OFF`;            }          }                    const isPrime = item.shipping && item.shipping.prime === true;                    let scoreRaw = (item.review_score !== undefined && item.review_score !== null && item.review_score > 0) ? parseFloat(item.review_score) : null;          let starRating = 0;          if (scoreRaw !== null) {            starRating = Math.round((scoreRaw > 10 ? scoreRaw / 20 : scoreRaw / 2) * 2) / 2;          }                    return {            id: item.offer_id || item.link || item.url || item.offer_link || Math.random().toString(),            url: item.link || item.url || item.offer_link || '#',            image: imageUrl,            fallbackImage: fallbackImage,            title: item.name || item.title || item.model_name || item.product_name || 'Unknown Product',            brand: item.brand || '',            productName: item.model_name || item.product_name || item.name || '',            merchant: item.merchant_name || item.merchant || item.retailer || 'Retailer',            price: item.price !== undefined ? String(item.price) : '0.00',            currency: this.decodeHTML(rawCurrency),            msrp: item.was_price || item.msrp || item.original_price || null,            rawPrice: rawPrice,            rawMsrp: rawMsrp,            hasWasPrice: (item.was_price !== undefined && item.was_price !== null),            isCheckPrice: isCheckPrice,            savingLabel: savingLabel,            isPrime: isPrime,            starRating: starRating > 0 ? starRating : null,            modelId: item.model_id || '',            productKey: item.product_key || '',            merchantId: (item.merchant && typeof item.merchant === 'object') ? item.merchant.id || '' : '',            matchId: item.match_id || '',            merchantNetwork: (item.merchant && typeof item.merchant === 'object') ? item.merchant.an || '' : '',            merchantUrl: (item.merchant && typeof item.merchant === 'object') ? item.merchant.url || '' : '',            modelBrand: item.model_brand || item.brand || '',            modelParent: item.model_parent || ''          };        }        sortData() {          const sortVal = this.sortSelect ? this.sortSelect.value : (this.getViewMode() === 'savings_squad' ? 'date_desc' : 'discount_desc');          if (sortVal === 'price_asc') {            this.deals.sort((a, b) => a.rawPrice - b.rawPrice);          } else if (sortVal === 'price_desc') {            this.deals.sort((a, b) => b.rawPrice - a.rawPrice);          } else if (sortVal === 'discount_desc') {            this.deals.sort((a, b) => {              const aDiscount = a.rawMsrp > a.rawPrice ? (a.rawMsrp - a.rawPrice) : 0;              const bDiscount = b.rawMsrp > b.rawPrice ? (b.rawMsrp - b.rawPrice) : 0;              return bDiscount - aDiscount;            });          } else if (sortVal === 'date_desc') {             this.deals.sort((a, b) => {                let dateA = 0;                let dateB = 0;                if (a && a.modifiedDate) {                   const valA = Array.isArray(a.modifiedDate) ? a.modifiedDate[0] : a.modifiedDate;                   dateA = new Date(valA).getTime();                   if (isNaN(dateA)) dateA = 0;                }                if (b && b.modifiedDate) {                   const valB = Array.isArray(b.modifiedDate) ? b.modifiedDate[0] : b.modifiedDate;                   dateB = new Date(valB).getTime();                   if (isNaN(dateB)) dateB = 0;                }                return dateB - dateA;             });          }        }        getFilteredDeals() {          let filteredDeals = [...this.deals];                    if (this.dealModeToggle && this.dealModeToggle.checked) {            filteredDeals = filteredDeals.filter(d => d.hasWasPrice || (d.msrp && d.rawMsrp > d.rawPrice));          }                    return filteredDeals;        }        showLoading() {          const _div = '<' + '/div>';          const skeletonCardHtml = `            \x3Cdiv class="tg-df-card">              \x3Cdiv class="tg-df-card-image-box">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-img">${_div}              ${_div}              \x3Cdiv class="tg-df-card-body">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-card-footer mt-auto">                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="height:24px;">${_div}                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text" style="height:44px; margin-top:8px;">${_div}                ${_div}              ${_div}            ${_div}`;          this.grid.innerHTML = Array(4).fill(skeletonCardHtml).join('');        }        showError() {          const _div = '<' + '/div>';          this.grid.innerHTML = `\x3Cdiv class="tg-df-message">            An error occurred while finding deals. Please check your connection and try again.          ${_div}`;        }        escapeHTML(str) {          if (!str) return '';          return String(str).replace(/[&<>'"]/g, tag => ({              '&': '&', '<': '<', '>': '>', "'": ''', '"': '"'          }[tag] || tag));        }                bindCouponButtons() {          const btns = this.root.querySelectorAll('.tg-df-tag-coupons');          btns.forEach(btn => {            btn.addEventListener('click', (e) => {              e.preventDefault();              e.stopPropagation();              const merchant = btn.getAttribute('data-merchant');              this.openVouchersModal(merchant);            });          });                    const closeBtn = this.root.querySelector('#tg-df-vouchers-close');          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (closeBtn) {            closeBtn.onclick = () => this.closeVouchersModal();          }          if (backdrop) {            backdrop.onclick = (e) => {              if (e.target === backdrop) this.closeVouchersModal();            };          }        }                closeVouchersModal() {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (backdrop) backdrop.classList.remove('active');        }                async checkMerchantsCouponsBulk(merchants) {          if (!merchants || merchants.length === 0) return {};          const controller = new AbortController();          const timeoutId = setTimeout(() => controller.abort(), 4000);          try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchants.join(','));            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '120');            url.searchParams.append('origin', 'widgets-clientside');                        let res; try { res = await fetch(url.toString(), { signal: controller.signal }); } catch (e) { return {}; }            clearTimeout(timeoutId);            if (!res.ok) return {};            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        const foundMerchants = new Set();            offers.forEach(o => {              let mName = o.merchant_name || o.merchant || o.retailer;              if (mName && typeof mName === 'object') mName = mName.name;              if (mName) foundMerchants.add(String(mName).toLowerCase());            });            const resultMap = {};            merchants.forEach(m => {              if (m) resultMap[m] = foundMerchants.has(String(m).toLowerCase());            });            return resultMap;          } catch (e) {            return {};          }        }                async openVouchersModal(merchantName) {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          const title = this.root.querySelector('#tg-df-vouchers-title');          const content = this.root.querySelector('#tg-df-vouchers-content');                    if (!backdrop || !content) return;                    // HACK: Hide closing tags          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h4 = '<' + '/h4>';          const _svg = '<' + '/svg>';          const _circle = '<' + '/circle>';          const _polyline = '<' + '/polyline>';          const _rect = '<' + '/rect>';          const _path = '<' + '/path>';                    title.innerText = `${merchantName} Coupons & Deals`;          content.innerHTML = `\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}                               \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}`;          backdrop.classList.add('active');                    try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchantName);            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '50');            url.searchParams.append('origin', 'widgets-clientside');                        const res = await fetch(url.toString());            if (!res.ok) throw new Error('API Error');            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        if (offers.length === 0) {              content.innerHTML = `\x3Cdiv class="tg-df-message">No vouchers currently available for ${this.escapeHTML(merchantName)}.${_div}`;              return;            }                        content.innerHTML = offers.map((v, idx) => {              let offerObj = v;              if (v.offers && v.offers.offer) {                offerObj = Array.isArray(v.offers.offer) ? v.offers.offer[0] : v.offers.offer;              } else if (v.offer) {                offerObj = Array.isArray(v.offer) ? v.offer[0] : v.offer;              }              let logoUrl = v.logo_url || offerObj.logo_url || '';              if (!logoUrl && v.merchant) {                if (Array.isArray(v.merchant) && v.merchant.length > 0) logoUrl = v.merchant[0].logo_url || '';                else logoUrl = v.merchant.logo_url || '';              }                            const offerName = offerObj.name || offerObj.title || v.name || v.title || 'Special Offer';              const endTime = offerObj.end_time || v.end_time || '';              const linkUrl = offerObj.link || offerObj.url || v.link || v.url || '#';                            let foundVoucherCode = '';              const findVoucherCode = (obj) => {                if (!obj || typeof obj !== 'object') return;                if (obj.type === 'voucher_code' && obj.display_value) {                  foundVoucherCode = obj.display_value;                  return;                }                if (Array.isArray(obj)) {                  for (const item of obj) {                    findVoucherCode(item);                    if (foundVoucherCode) return;                  }                } else {                  for (const k in obj) {                    if (Object.prototype.hasOwnProperty.call(obj, k)) {                      findVoucherCode(obj[k]);                      if (foundVoucherCode) return;                    }                  }                }              };              findVoucherCode(offerObj);              if (!foundVoucherCode) findVoucherCode(v);                            const voucherCode = foundVoucherCode || offerObj.voucher_code || v.voucher_code || '';              const codeHtml = voucherCode ? `\x3Cspan class="tg-df-voucher-code" data-action="copy-code" data-code="${this.escapeHTML(voucherCode)}" title="Copy to clipboard">                \x3Cspan class="tg-df-voucher-code-text">${this.escapeHTML(voucherCode)}${_span}                \x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-left:6px;flex-shrink:0;" class="tg-df-voucher-copy-icon">                  \x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">${_rect}                  \x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">${_path}                ${_svg}              ${_span}` : '';                            const logoHtml = logoUrl                 ? `\x3Cimg src="${this.escapeHTML(logoUrl)}" alt="${this.escapeHTML(offerName)}" class="tg-df-voucher-logo" />`                 : `\x3Cdiv class="tg-df-voucher-logo" style="background:#e2e8f0;">${_div}`;                            let expiryHtml = '';              if (endTime) {                let dStr = endTime;                if (!isNaN(dStr) && String(dStr).length === 10) dStr = Number(dStr) * 1000;                const d = new Date(dStr);                if (!isNaN(d.getTime())) {                  const options = { year: 'numeric', month: 'short', day: 'numeric' };                  expiryHtml = `                    \x3Cdiv class="tg-df-voucher-expiry">                      \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                        \x3Ccircle cx="12" cy="12" r="10">${_circle}                        \x3Cpolyline points="12 6 12 12 16 14">${_polyline}                      ${_svg}                      Expires ${d.toLocaleDateString(undefined, options)}                    ${_div}`;                }              }              const revenueIdVal = generateRevenueId(linkUrl, offerName, merchantName, null);              const rewrittenLinkUrl = rewriteAffiliateLink(linkUrl, area, revenueIdVal);              return `                \x3Ca href="${this.escapeHTML(rewrittenLinkUrl)}" target="_blank" rel="noopener nofollow" class="tg-df-voucher-item"                  data-action="voucher-click"                  data-product-name="${this.escapeHTML(offerName)}"                  data-merchant-name="${this.escapeHTML(merchantName)}"                  data-analytics-id="${this.escapeHTML(offerObj.offer_id || offerObj.id || v.id || '')}"                  data-price=""                  data-previous-price=""                  data-original-link="${this.escapeHTML(linkUrl)}"                  data-revenue-id="${revenueIdVal}"                  data-index="${idx}"                  data-total="${offers.length}"                  data-in-stock="true"                  data-currency="USD"                  data-model-id="${this.escapeHTML(offerObj.model_id || v.model_id || offerObj.id || v.id || '')}"                  data-merchant-id="${this.escapeHTML(offerObj.merchant_id || offerObj.merchant?.id || '')}"                >                  ${logoHtml}                  \x3Cdiv class="tg-df-voucher-content">                    \x3Ch4 class="tg-df-voucher-title">${this.escapeHTML(offerName)}${_h4}                    ${codeHtml}                    ${expiryHtml}                  ${_div}                ${_a}              `;            }).join('');                        // Attach copy functionality            const copyBtns = content.querySelectorAll('[data-action="copy-code"]');            copyBtns.forEach(btn => {              btn.addEventListener('click', async (e) => {                e.preventDefault();                e.stopPropagation();                                const code = btn.getAttribute('data-code');                if (!code) return;                                try {                  const copyToClipboard = async (text) => {                     if (window.navigator.clipboard && window.isSecureContext) {                        try { await window.navigator.clipboard.writeText(text); return; } catch (e) {}                     }                     const textArea = document.createElement("textarea");                     textArea.value = text;                     textArea.style.position = "fixed";                     document.body.appendChild(textArea);                     textArea.focus();                     textArea.select();                     document.execCommand('copy');                     textArea.remove();                  };                  await copyToClipboard(code);                                    // Visual feedback                  btn.classList.add('copied');                  const textSpan = btn.querySelector('.tg-df-voucher-code-text');                  const iconSvg = btn.querySelector('.tg-df-voucher-copy-icon');                                    const origText = textSpan.innerText;                  const origIcon = iconSvg.innerHTML;                                    textSpan.innerText = 'Copied!';                  iconSvg.innerHTML = `\x3Cpolyline points="20 6 9 17 4 12">${_polyline}`;                                    setTimeout(() => {                    if (btn) {                      btn.classList.remove('copied');                      if (textSpan) textSpan.innerText = origText;                      if (iconSvg) iconSvg.innerHTML = origIcon;                    }                  }, 2000);                                    trackElementInteraction({                    id: 'voucher-code-copy',                    name: 'Copy Voucher Code',                    label: `Copied ${code} for ${merchantName}`                  });                } catch (err) {                  console.warn('Failed to copy text: ', err);                }              });            });            // Attach voucher click tracking            const voucherBtns = content.querySelectorAll('[data-action="voucher-click"]');            voucherBtns.forEach(btn => {              btn.addEventListener('click', (e) => {                if (e.target.closest('[data-action="copy-code"]')) return;                                const productName = btn.getAttribute('data-product-name');                const merchantNameAttr = btn.getAttribute('data-merchant-name');                const productId = btn.getAttribute('data-analytics-id');                const price = parseFloat(btn.getAttribute('data-price')) || null;                const prevPriceStr = btn.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = btn.getAttribute('data-original-link');                const rewrittenLink = btn.getAttribute('href');                const revenueId = btn.getAttribute('data-revenue-id');                const index = parseInt(btn.getAttribute('data-index'), 10) || 0;                const inStock = btn.getAttribute('data-in-stock') === 'true';                const totalText = btn.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: btn.getAttribute('data-model-id') || null,                    matchId: btn.getAttribute('data-match-id') || null,                    brand: btn.getAttribute('data-model-brand') || null,                    parent: btn.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: btn.getAttribute('data-merchant-id') || null,                    network: btn.getAttribute('data-merchant-network') || null,                    url: btn.getAttribute('data-merchant-url') || null,                    name: merchantNameAttr                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: btn.getAttribute('data-currency') || 'USD'                };                if (typeof trackDealClick === 'function') {                  trackDealClick(trackingParams);                }              });            });                                  } catch (e) {            console.warn(e);            content.innerHTML = `\x3Cdiv class="tg-df-message">Failed to load vouchers.${_div}`;          }        }        render() {          try {            if (this.getViewMode() === 'savings_squad' && this.airedaleTags.length > 0) {              if (this.categoryFilterWrapper) {                 this.categoryFilterWrapper.style.display = 'flex';              }              if (this.categoryFilter) {                 const _option = '<' + '/option>';                 let optionsHtml = `\x3Coption value="all">All Categories${_option}`;                 this.airedaleTags.forEach(tag => {                    const isSelected = this.activeDealTag === tag ? 'selected' : '';                    optionsHtml += `\x3Coption value="${this.escapeHTML(tag)}" ${isSelected}>${this.escapeHTML(tag)} (${this.airedaleTagCounts[tag] || 0})${_option}`;                 });                 this.categoryFilter.innerHTML = optionsHtml;                 this.categoryFilter.value = this.activeDealTag || 'all';              }            } else {               if (this.categoryFilterWrapper) {                  this.categoryFilterWrapper.style.display = 'none';               }            }            const displayDeals = this.getFilteredDeals();          // HACK: Hide closing tags from the CMS HTML sanitizer so it doesn't strip them during in-page injection          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h3 = '<' + '/h3>';          const _p = '<' + '/p>';          const _strong = '<' + '/strong>';          const _sup = '<' + '/sup>';          const _button = '<' + '/button>';          if (displayDeals.length === 0) {            if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {              if (this.deals.length > 0) {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No deals match your selected filters.                ${_div}`;              } else if (this.getViewMode() === 'savings_squad' && this.currentQuery.length <= 2) {                 // Do not show "no exact matches" if query is empty for savings_squad                 this.grid.innerHTML = '';              } else {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No exact matches found for "\x3Cstrong>${this.escapeHTML(this.currentQuery)}${_strong}". Try adjusting your search term.                ${_div}`;              }            } else {              this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                Search product or category names to discover the best deals from across the web.              ${_div}`;            }            return;          }          let dealsHtml = displayDeals.slice(0, this.displayLimit).map((deal, index) => {            try {               const currencySym = this.escapeHTML(deal.currency);               const isoCurrencyCode = normalizeCurrency(currencySym);               const escapedPrice = this.escapeHTML(deal.price);               const escapedMsrp = this.escapeHTML(deal.msrp);               const areaCode = this.getAreaCode();                              const revenueId = generateRevenueId(deal.url, deal.title, deal.merchant, null);               const originalLink = deal.url;               const rewrittenLink = rewriteAffiliateLink(deal.url, areaCode, revenueId);                        const productCategoryName = 'deals';            const dataAttr = `              data-action="${deal.isCheckPrice ? 'view-similar-click' : 'deal-click'}"              data-analytics-id="${this.escapeHTML(deal.externalProductId || deal.id || '')}"              data-product-name="${this.escapeHTML(deal.title)}"              data-merchant-name="${this.escapeHTML(deal.merchant)}"              data-price="${deal.rawPrice || ''}"              data-previous-price="${deal.rawMsrp || ''}"              data-original-link="${this.escapeHTML(originalLink)}"              data-revenue-id="${revenueId}"              data-index="${index}"              data-total="${displayDeals.length}"              data-in-stock="${deal.inStock !== false}"              data-currency="${this.escapeHTML(isoCurrencyCode)}"              data-model-id="${this.escapeHTML(deal.modelId || '')}"              data-product-key="${this.escapeHTML(deal.productKey || '')}"              data-merchant-id="${this.escapeHTML(deal.merchantId || '')}"            `;                        let priceGroupHtml = '';            let isSavingsSquadMode = this.getViewMode() === 'savings_squad';            let ctaText = 'View Deal';            let formattedPrice = '';            let msrpHtml = '';                        if (deal.isCheckPrice) {              ctaText = isSavingsSquadMode ? 'View Deal' : 'Check Price';              if (isSavingsSquadMode) {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-merchant-wrapper">                    \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                  \x3Cdiv class="tg-df-card-price-group">                  ${_div}                `;              } else {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-merchant-wrapper">                    \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                  \x3Cdiv class="tg-df-card-price-group">                    \x3Cspan class="tg-df-card-price" style="font-size: 15px; font-weight: 500; font-style: italic;">See price at retailer${_span}                  ${_div}                `;              }            } else {              // Format Price              formattedPrice = escapedPrice.includes(currencySym)                 ? escapedPrice                 : `${currencySym}${escapedPrice}`;                              // Format MSRP              msrpHtml = deal.msrp && deal.rawMsrp > deal.rawPrice                ? `\x3Cspan class="tg-df-card-msrp">${escapedMsrp.includes(currencySym) ? escapedMsrp : currencySym + escapedMsrp}${_span}`                : '';                              priceGroupHtml = `                \x3Cdiv class="tg-df-card-merchant-wrapper">                  \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                ${_div}                \x3Cdiv class="tg-df-card-price-group">                  ${isSavingsSquadMode ? '' : `                  \x3Cspan class="tg-df-card-price">${formattedPrice}${_span}                  ${msrpHtml}                  `}                ${_div}              `;            }                        const discountBadgeHtml = deal.savingLabel && !deal.isCheckPrice              ? `\x3Cspan class="tg-df-card-discount-badge">${this.escapeHTML(deal.savingLabel)}${_span}`              : '';                          // HACK for CMS            const _button = '<' + '/button>';            const _svg = '<' + '/svg>';            const _path = '<' + '/path>';            const _rect = '<' + '/rect>';            const _circle = '<' + '/circle>';            const _polyline = '<' + '/polyline>';            const _line = '<' + '/line>';                        let badgesHtml = '';            const primeBadge = deal.isPrime ? `              \x3Cspan class="tg-df-tag tg-df-tag-prime">                \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="currentColor">                  \x3Cpath d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z">${_path}                ${_svg} Prime              ${_span}            ` : '';                        const couponsBadge = deal.merchant && deal.merchant.toLowerCase().includes('amazon') ? '' : `              \x3Cdiv class="tg-df-coupon-wrapper" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:inline-flex; align-items:center;">                \x3Cdiv class="tg-df-coupon-spinner">${_div}                \x3Cbutton type="button" class="tg-df-tag tg-df-tag-coupons" data-action="coupons-click" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:none;">                  \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                    \x3Cpath d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z">${_path}                    \x3Cline x1="7" y1="7" x2="7.01" y2="7">${_line}                  ${_svg} Coupons                ${_button}              ${_div}            `;                        // Note: We always add coupons badge if there's a chance, but to allow 3-line titles we check wrapper display state            badgesHtml = `              \x3Cdiv class="tg-df-card-badges">                ${primeBadge}                ${couponsBadge}              ${_div}            `;            const _linearGradient = '<' + '/linearGradient>';            const _polygon = '<' + '/polygon>';            const _stop = '<' + '/stop>';            const _defs = '<' + '/defs>';                        let starHtml = '';            if (deal.starRating) {              let rating = deal.starRating;                            if (rating > 0) {                const fullStars = Math.floor(rating);                const halfStar = (rating - fullStars) >= 0.5 ? 1 : 0;                const emptyStars = Math.max(0, 5 - fullStars - halfStar);                const blue = '#1f69ff'; // Tom's guide brand color from VIEW DEAL button                const gray = '#cbd5e1';                                const starSvgFull = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="${blue}" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                const gradId = 'half_grad_' + Math.floor(Math.random()*1000000);                const starSvgHalf = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cdefs>\x3ClinearGradient id="${gradId}" x1="0" x2="1" y1="0" y2="0">\x3Cstop offset="50%" stop-color="${blue}">${_stop}\x3Cstop offset="50%" stop-color="transparent">${_stop}${_linearGradient}${_defs}                  \x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26" fill="url(#${gradId})">${_polygon}${_svg}`;                                  const starSvgEmpty = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="${gray}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                let stars = [];                for (let i=0; i<fullStars; i++) stars.push(starSvgFull);                if (halfStar) stars.push(starSvgHalf);                for (let i=0; i<emptyStars; i++) stars.push(starSvgEmpty);                                starHtml = `\x3Cdiv class="tg-df-card-stars" style="display:flex;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--tg-df-text-muted);">                  \x3Cspan style="margin-right:6px;">Tom's Guide:${_span}                  \x3Cdiv style="display:flex;gap:2px;">                    ${stars.join('')}                  ${_div}                ${_div}`;              }            }            let htmlOutput = '';            if (isSavingsSquadMode) {              htmlOutput += `              \x3Cdiv class="hawk-deal-widget-container tg-df-mobile-only" data-collapsible="true">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''} style="margin-bottom: 10px;">` : ''}                \x3Cdiv class="hawk-deal-widget-wrap">                  \x3Cdiv class="hawk-deal-widget-image-container">                    \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" rel="sponsored noopener" target="_blank" class="hawk-affiliate-link-deal-widget" ${dataAttr}>                      \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="hawk-lazy-image-deal-widget" loading="lazy" width="140" height="160" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                    ${_a}                  ${_div}                  \x3Cdiv class="hawk-deal-widget-text-cta-container">                    \x3Cdiv class="hawk-deal-widget-text-body-container">                      \x3Cdiv class="hawk-deal-widget-text-body-main">                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          ${deal.isCheckPrice ? `                            \x3Cspan class="hawk-deal-widget-title-product-title">${this.escapeHTML(deal.title)}${_span}                          ` : `                            \x3Cspan class="hawk-deal-widget-title-product-title">${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_span}                          `}                        ${_a}                        ${!deal.isCheckPrice && deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan class="hawk-deal-widget-title-was-price">was ${currencySym}${escapedMsrp}${_span}                          ${_a}                        ` : ''}                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          \x3Cspan class="hawk-deal-widget-title-retailer-price">                            ${!deal.isCheckPrice ? `                              \x3Cspan class="hawk-deal-widget-title-price">now ${formattedPrice}${_span}                              \x3Cspan class="hawk-deal-widget-title-retailer"> at ${this.escapeHTML(deal.merchant)}${_span}                            ` : `                              \x3Cspan class="hawk-deal-widget-title-price">See price at ${this.escapeHTML(deal.merchant)}${_span}                            `}                          ${_span}                        ${_a}                        ${deal.description ? `\x3Cdiv class="hawk-deal-widget-text-body-description">\x3Cp>${this.escapeHTML(deal.description)}${_p}${_div}` : ''}                      ${_div}                    ${_div}                    \x3Cdiv class="hawk-deal-widget-footer">                      \x3Cdiv class="hawk-deal-widget-button-wrapper">                        \x3Cdiv class="hawk-deal-widget-preferred-partner-wrapper">                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-deal-button" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan>${deal.isCheckPrice ? 'Check Price' : 'View Deal'}${_span}                          ${_a}                        ${_div}                      ${_div}                    ${_div}                  ${_div}                ${_div}              ${_div}              `;            }            htmlOutput += `              \x3Cdiv class="tg-df-card ${isSavingsSquadMode ? 'tg-df-desktop-only' : ''}">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''}>` : ''}                \x3Cdiv class="tg-df-card-image-box">                  ${discountBadgeHtml}                  \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;">                    \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="tg-df-card-image" loading="lazy" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                  ${_a}                ${_div}                \x3Cdiv class="tg-df-card-body">                  ${starHtml}                  ${badgesHtml}                  \x3Ch3 class="tg-df-card-title tg-df-custom-savings-squad-title" title="${this.escapeHTML(deal.title)}">                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" disable-tracking="true" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit;">                      ${isSavingsSquadMode                         ? (deal.isCheckPrice                             ? (deal.title && deal.title.includes(':')                                 ? `\x3Cstrong>${this.escapeHTML(deal.title.substring(0, deal.title.indexOf(':') + 1))}${_strong}\x3Cspan style="color: #1f69ff; font-weight: normal;">${this.escapeHTML(deal.title.substring(deal.title.indexOf(':') + 1))}${_span}`                                : this.escapeHTML(deal.title)                              )                             : `\x3Cstrong>${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_strong} ${deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `\x3Cspan style="color: #d0021b; text-decoration: line-through; font-weight: normal; margin-right: 4px;">was ${currencySym}${escapedMsrp}${_span} ` : ''}\x3Cspan style="color: #1f69ff; font-weight: normal;">now ${formattedPrice} at ${this.escapeHTML(deal.merchant)}${_span}`                          )                        : this.escapeHTML(deal.title)                      }                    ${_a}                  ${_h3}                  ${deal.description ? `\x3Cp style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 12px; line-height: 1.4;">${this.escapeHTML(deal.description)}${_p}` : ''}                  \x3Cdiv class="tg-df-card-footer">                    ${priceGroupHtml}                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" class="tg-df-card-cta ${isSavingsSquadMode ? 'tg-df-cta-savings-squad' : ''}" style="text-decoration: none;">${ctaText}${_a}                  ${_div}                ${_div}              ${_div}            `;                        return htmlOutput;            } catch (e) {               console.log("Error rendering deal in map for index", index, typeof deal === 'object' ? JSON.stringify(deal) : deal, "MSG:", e.message);               return '';            }          }).join('');                    if (displayDeals.length > this.displayLimit || ((this.getViewMode() === 'carousel' || this.getViewMode() === 'auto') && displayDeals.length > 0 && displayDeals.length % ((this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12) === 0)) {            if (this.getViewMode() === 'carousel') {               dealsHtml += `                 \x3Cbutton type="button" class="tg-df-load-more-card tg-df-load-more">                   \x3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-bottom: 8px;">\x3Cpath d="M5 12h14">\x3C/path>\x3Cpath d="m12 5 7 7-7 7">\x3C/path>\x3C/svg>                   Load More                 ${_button}               `;            } else {               dealsHtml += `                 \x3Cdiv style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1;">                   \x3Cbutton type="button" class="tg-df-tag-outline tg-df-load-more" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer; display: flex; align-items: center;">Load More${_button}                 ${_div}               `;            }          }                    this.grid.innerHTML = dealsHtml;          // Inject JSON-LD          try {            let targetNode = this.hostContainer || document.head;            let jsonLdScript = targetNode.querySelector('#tg-df-json-ld-' + this.widgetId);            if (!jsonLdScript) {                jsonLdScript = document.createElement('script');                jsonLdScript.type = 'application/ld+json';                jsonLdScript.id = 'tg-df-json-ld-' + this.widgetId;                targetNode.appendChild(jsonLdScript);            }            const jsonLdData = {              "@context": "https://schema.org",              "@type": "ItemList",              "itemListElement": displayDeals.slice(0, this.displayLimit).map((deal, index) => {                 let isoCurrency = "USD";                 if (deal.currency === '£') isoCurrency = "GBP";                 else if (deal.currency === '€') isoCurrency = "EUR";                 else if (deal.currency === 'A$') isoCurrency = "AUD";                 else if (deal.currency === 'CA$') isoCurrency = "CAD";                 const areaCode = typeof this.getAreaCode === 'function' ? this.getAreaCode() : 'US';                 const revenueId = typeof generateRevenueId === 'function' ? generateRevenueId(deal.url, deal.title, deal.merchant, null) : '';                 const rewrittenLink = typeof rewriteAffiliateLink === 'function' ? rewriteAffiliateLink(deal.url, areaCode, revenueId) : deal.url;                 return {                   "@type": "ListItem",                   "position": index + 1,                   "item": {                     "@type": "Product",                     "name": deal.title,                     "image": deal.image || "",                     "description": deal.description || "",                     "brand": {                       "@type": "Brand",                       "name": deal.brand || ""                     },                     "offers": {                       "@type": "Offer",                       "priceCurrency": isoCurrency,                       "price": deal.rawPrice || 0,                       "url": rewrittenLink,                       "seller": {                         "@type": "Organization",                         "name": deal.merchant || ""                       }                     }                   }                 };              }).filter(item => item.item.name)            };            jsonLdScript.textContent = JSON.stringify(jsonLdData);          } catch(e) { console.warn("JSON-LD generation failed", e); }                    let gridWrapper = this.grid.parentElement;          if (gridWrapper && gridWrapper.classList.contains('tg-df-grid-wrapper')) {             let rightChevron = gridWrapper.querySelector('.tg-df-carousel-scroll-right');             let leftChevron = gridWrapper.querySelector('.tg-df-carousel-scroll-left');             if (this.getViewMode() === 'carousel') {                 // The observer set up in setupScrollListeners handles visibility.                 if (rightChevron) rightChevron.style.display = 'flex';                 if (leftChevron) leftChevron.style.display = 'none'; // reset correctly             } else {                 if (rightChevron) rightChevron.style.display = 'none';                 if (leftChevron) leftChevron.style.display = 'none';             }          }                    const loadMoreBtn = this.grid.querySelector('.tg-df-load-more');          if (loadMoreBtn) {            loadMoreBtn.addEventListener('click', async () => {              if (typeof trackElementInteraction === 'function') {                trackElementInteraction({ id: 'load-more', name: 'Load more', label: 'Load More Results' });              }              if (displayDeals.length <= this.displayLimit) {                 loadMoreBtn.innerHTML = `                  <svg class="tg-df-spinner" style="width: 16px; height: 16px; display: inline-block; vertical-align: middle; margin-right: 8px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" d="M12 2v4m0 12v4M4.93 4.93l2.83 2.83m8.48 8.48l2.83 2.83M2 12h4m12 0h4M4.93 19.07l2.83-2.83m8.48-8.48l2.83-2.83"/></svg>                  Loading...                 `;                 loadMoreBtn.disabled = true;                 await this.fetchDeals(this.currentQuery, true);              } else {                 this.displayLimit += this.getRowsLimit();                 this.render();              }            });          }                      this.bindCouponButtons();            this.checkAndUpdateCoupons();                        // Allow hawklinks.js to discover and rewrite our widget links             // by appending the .article-body class and manually triggering processArticle.            let container = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (container && !container.classList.contains('article-body')) {               container.classList.add('article-body');            }            setTimeout(() => {               if (this.grid && !this.grid.classList.contains('article-body')) this.grid.classList.add('article-body');               document.dispatchEvent(new CustomEvent('processArticle', { detail: { element: this.root } }));            }, 50);          } catch(e) {            console.warn("Widget render error", e);          }        }                async checkAndUpdateCoupons() {          const wrappers = Array.from(this.root.querySelectorAll('.tg-df-coupon-wrapper'));          if (wrappers.length === 0) return;                    const merchants = [...new Set(wrappers.map(w => w.getAttribute('data-merchant')).filter(Boolean))];          if (merchants.length === 0) return;          const couponResultsMap = await this.checkMerchantsCouponsBulk(merchants);                    for (const merchant of merchants) {            const hasCoupons = !!couponResultsMap[merchant];            const merchantWrappers = wrappers.filter(w => w.getAttribute('data-merchant') === merchant);            merchantWrappers.forEach(wrapper => {              const spinner = wrapper.querySelector('.tg-df-coupon-spinner');              const btn = wrapper.querySelector('.tg-df-tag-coupons');                            if (spinner) spinner.style.display = 'none';                            if (hasCoupons && btn) {                btn.style.display = 'inline-flex';              } else if (!hasCoupons) {                wrapper.style.display = 'none';              }            });          }        }        updateFloatingCopyBar() {          if (!this.editorBar || !this.editorSelectedCount) return;          if (this.editorMode && this.selectedDeals.size > 0) {            this.editorBar.style.display = 'flex';            this.editorSelectedCount.innerText = this.selectedDeals.size;          } else {            this.editorBar.style.display = 'none';          }        }        async copySelectedDealsToCMS() {           function htmlToSlate(htmlString) {              if (!htmlString) return [{ type: 'paragraph', children: [{ text: '' }] }];              let doc;              if (typeof window !== 'undefined' && window.DOMParser) {                 doc = new DOMParser().parseFromString(htmlString, 'text/html');              } else {                 doc = document.implementation.createHTMLDocument('');                 doc.body.innerHTML = htmlString;              }                            function parseNode(node, marks = {}) {                  if (node.nodeType === 3) {                      const text = node.textContent;                      if (!text) return null;                      return { text: text, ...marks };                  }                  if (node.nodeType === 1) {                      const tagName = node.tagName.toLowerCase();                      if (tagName === 'br') {                          return { type: 'line-break', children: [{ text: '' }] };                      }                      if (tagName === 'p') {                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return { type: 'paragraph', children };                      }                      if (tagName === 'strong' || tagName === 'b') {                          const newMarks = { ...marks, bold: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'em' || tagName === 'i') {                          const newMarks = { ...marks, italic: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'a') {                          const href = node.getAttribute('href') || '';                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return {                              type: 'link',                              url: href,                              isNoFollow: (node.getAttribute('rel') || '').includes('nofollow'),                              isSponsored: (node.getAttribute('rel') || '').includes('sponsored'),                              isOpenNewTab: node.getAttribute('target') === '_blank',                              isPreventDataRewrite: false,                              children: children                          };                      }                      return Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                  }                  return null;              }                            let blocksArray = [];              let currentParagraphChildren = [];              function flushParagraph() {                  if (currentParagraphChildren.length > 0) {                      blocksArray.push({ type: 'paragraph', children: currentParagraphChildren });                      currentParagraphChildren = [];                  }              }              Array.from(doc.body.childNodes).forEach(node => {                  const parsed = parseNode(node, {});                  const parsedItems = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : []);                  parsedItems.forEach(item => {                      if (item.type === 'paragraph') {                          flushParagraph();                          blocksArray.push(item);                      } else {                          currentParagraphChildren.push(item);                      }                  });              });              flushParagraph();              if (blocksArray.length === 0) {                  blocksArray = [{ type: 'paragraph', children: [{ text: '' }] }];              }              return blocksArray;           }           const blocks = [];                      this.editorCopyBtn.innerHTML = '\x3Cspan class="tg-df-coupon-spinner" style="display:inline-block; margin-right:8px; border-top-color:#fff;">' + '<' + '/span> Copying...';           for (const deal of Array.from(this.selectedDeals.values())) {              const url = deal.url;              const merchant = deal.merchant;              const title = deal.title;              const image = deal.image;              const currentPrice = deal.currency + deal.rawPrice;              const wasPrice = deal.hasWasPrice && deal.rawMsrp > deal.rawPrice ? deal.currency + deal.rawMsrp : '';                            let couponsChildren = [];              try {                  const area = this.getAreaCode();                  const apiUrl = new URL('https://search-api.fie.future.net.uk/widget.php');                  apiUrl.searchParams.append('model_name', 'Everything');                  apiUrl.searchParams.append('language', 'en-GB');                  apiUrl.searchParams.append('area', area);                  apiUrl.searchParams.append('combine_product_types', '1');                  apiUrl.searchParams.append('filter_merchant_name', merchant);                  apiUrl.searchParams.append('all_filters', 'false');                  apiUrl.searchParams.append('exclude_unlabelled', 'false');                  apiUrl.searchParams.append('include_specs', 'false');                  apiUrl.searchParams.append('sort', 'voucher');                  apiUrl.searchParams.append('distinct_merchants', 'natural');                  apiUrl.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');                  apiUrl.searchParams.append('rows', '3');                  apiUrl.searchParams.append('origin', 'widgets-clientside');                                    let res; try { res = await fetch(apiUrl.toString()); } catch (e) { return; }                  if (res.ok) {                      const data = await res.json();                      let offers = [];                      if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {                        offers = data.widget.data.offers;                      } else if (data && data.data && Array.isArray(data.data.offers)) {                        offers = data.data.offers;                      }                                            if (offers.length > 0) {                          couponsChildren.push({ text: "Also check out these coupons: ", bold: true });                          offers.slice(0, 3).forEach((offer, idx) => {                              const actualOffer = offer.offer || offer;                              const offerName = actualOffer.name || actualOffer.title || offer.model_name || offer.title || offer.name || 'Coupon';                              const linkUrl = actualOffer.link || actualOffer.url || actualOffer.offer_link || '#';                              couponsChildren.push({ type: "line-break", children: [{ text: "" }] });                              couponsChildren.push({ text: "🎟️ " });                              couponsChildren.push({                                  type: "link",                                  url: linkUrl,                                  isNoFollow: true,                                  isSponsored: false,                                  isOpenNewTab: true,                                  isPreventDataRewrite: false,                                  children: [{ text: offerName, bold: true }]                              });                          });                      }                  }              } catch (err) {                  console.warn('Failed to fetch coupons for', merchant, err);              }              let descriptionValue = [];              if (deal.text) {                 descriptionValue = htmlToSlate(deal.text);              } else {                 const dealDescriptions = [                   `Don't miss out on this fantastic deal for the ${title}. It is currently available at ${merchant} for a highly competitive price.`,                   `We've spotted an excellent price drop on the ${title}. Grab it now at ${merchant} before it's gone.`,                   `The ${title} is currently seeing a generous discount over at ${merchant}. This is a perfect time to buy if you've been holding out.`,                   `If you're in the market for the ${title}, ${merchant} has just the deal for you.`,                   `Score the ${title} for less at ${merchant} right now. This is a rare chance to save big.`,                   `Upgrade your setup with the ${title}, now available at a stellar price via ${merchant}.`                 ];                 const randomDescription = dealDescriptions[Math.floor(Math.random() * dealDescriptions.length)];                 descriptionValue = [                    { type: "paragraph", children: [{ text: randomDescription }] }                 ];              }                            if (couponsChildren.length > 0) {                 let lastBlock = descriptionValue[descriptionValue.length - 1];                 if (lastBlock && lastBlock.type === 'paragraph') {                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ text: "Also check out these coupons: ", bold: true });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children = lastBlock.children.concat(couponsChildren);                 } else {                     descriptionValue.push({                         type: "paragraph",                         children: [                             { type: "line-break", children: [{ text: "" }] },                             { type: "line-break", children: [{ text: "" }] },                             { text: "Also check out these coupons: ", bold: true },                             { type: "line-break", children: [{ text: "" }] },                             ...couponsChildren                         ]                     });                 }              }              function normalizeCurrencyToISO(symbol) {                const map = { '£': 'GBP', '$': 'USD', 'A$': 'AUD', 'CA$': 'CAD', '€': 'EUR' };                return map[symbol] || symbol;              }              const isoCurrency = normalizeCurrencyToISO(deal.currency);              blocks.push({                 id: (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'cms-' + Date.now() + Math.random(),                 blockTypeName: "deal",                 excludeFrom: [],                 collapsible: false,                 props: {                    description: {                       value: descriptionValue,                       touched: false,                       validationMessage: ""                    },                    image: {                       value: {                          credit: [{ type: "paragraph", children: [{ text: merchant }] }],                          dateCreated: Date.now(),                          dateModified: Date.now(),                          distribution: [],                          fileSize: 0,                          height: 1000,                          id: deal.id,                          imageRights: "",                          src: image,                          name: title + ".jpg",                          tags: [],                          width: 1000                       },                       touched: false,                       validationMessage: ""                    },                    showDealButton: { value: true, touched: false, validationMessage: "" },                    isPreferredPartner: { value: false, touched: false, validationMessage: "" },                    linkHref: { value: url, touched: false, validationMessage: "" },                    linkLabel: { value: "", touched: false, validationMessage: "" },                    linkIsNoFollow: { value: true, touched: false, validationMessage: "" },                    linkIsSponsored: { value: false, touched: false, validationMessage: "" },                    linkIsOpenNewWindow: { value: true, touched: false, validationMessage: "" },                    customPromoFlags: { value: [], touched: false, validationMessage: "" },                    showStarDeal: { value: false, touched: false, validationMessage: "" },                    savingType: { value: "none", touched: false, validationMessage: "" },                    starDealPromoFlag: { value: "", touched: false, validationMessage: "" },                    showEditorsChoice: { value: false, touched: false, validationMessage: "" },                    editorsChoiceTitle: { value: "", touched: false, validationMessage: "" },                    hawkPriceCurrency: { value: { value: isoCurrency, label: isoCurrency }, touched: false, validationMessage: "" },                    hawkPrice: { value: deal.hasWasPrice ? String(deal.rawMsrp) : String(deal.rawPrice), touched: false, validationMessage: "" },                    hawkSalePrice: { value: String(deal.rawPrice), touched: false, validationMessage: "" },                    lastCheckedPriceDate: { value: "", touched: false, validationMessage: "" },                    hawkModel: { touched: false, validationMessage: "" },                    productId: { value: "", touched: false, validationMessage: "" },                    voucherId: { value: "", touched: false, validationMessage: "" },                    brand: { value: deal.brand || merchant, touched: false, validationMessage: "" },                    productName: { value: title, touched: false, validationMessage: "" },                    label: { value: "", touched: false, validationMessage: "" },                    retailer: { value: merchant, touched: false, validationMessage: "" },                    priceCheckError: false                 },                 failedFetchError: ""              });           }           const payload = {              type: "articleBuilderPages",              data: blocks           };           const jsonStr = JSON.stringify(payload);                      if (navigator.clipboard && navigator.clipboard.writeText) {              navigator.clipboard.writeText(jsonStr).then(() => {                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              }).catch(err => {                 console.warn('Failed to copy text: ', err);                 alert('Failed to copy deals to clipboard. See console.');              });           } else {              // Fallback              const textArea = document.createElement("textarea");              textArea.value = jsonStr;              document.body.appendChild(textArea);              textArea.focus();              textArea.select();              try {                 document.execCommand('copy');                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              } catch (err) {                 console.warn('Fallback: Oops, unable to copy', err);                 alert('Fallback: Failed to copy deals to clipboard.');              }              document.body.removeChild(textArea);           }        }      }      // Initialize the Widget      if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', () => new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer }));      } else {        new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer });      }    })();  </script></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ How much would you pay for a PS6? I asked my colleagues how much they'd spend ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/how-much-would-you-pay-for-a-ps6-i-asked-my-colleagues-how-much-theyd-spend</link>
                                                                            <description>
                            <![CDATA[ How far would your wallet stretch for a new PlayStation? I asked the Tom's Guide team, and now it's your turn to sound off. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">YEPMPMVB7TL4FkwLNsXpYn</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 12 Jul 2026 11:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ rory.mellon@futurenet.com (Rory Mellon) ]]></author>                    <dc:creator><![CDATA[ Rory Mellon ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5Rv6LtQXMj5JB4Eu8Lt4Sn.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                        <dc:contributor><![CDATA[ Tom&#039;s Guide Staff ]]></dc:contributor>
                                                                    <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The PlayStation logo on a PS5 Pro]]></media:description>                                                            <media:text><![CDATA[The PlayStation logo on a PS5 Pro]]></media:text>
                                <media:title type="plain"><![CDATA[The PlayStation logo on a PS5 Pro]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Whenever the conversation turns to the (unannounced) <a href="https://www.tomsguide.com/gaming/playstation/ps6-price-could-be-in-the-same-stratosphere-as-the-steam-machine-based-on-new-leak">PS6</a>, it’s not potential specs or launch games that people seem to want to discuss; it’s the price. The so-called <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">“RAMageddon”</a> has seen the cost of basically all tech items skyrocket, and gaming consoles are very much impacted. </p><p>The current-generation <a href="https://www.tomsguide.com/gaming/playstation/ps5-slim">PS5</a> console hasn’t decreased in price over its lifespan, but instead, buying into the PlayStation platform has gotten more expensive. The base PS5 now costs $650 ($499 at launch), while the <a href="https://www.tomsguide.com/gaming/playstation/ps5-pro-review">PS5 Pro</a> is an eye-watering $899 ($699 at launch). This console generation is the first I can recall where launch-day buyers got a better deal than late adopters. </p><p><a href="https://www.tomsguide.com/gaming/steam-machine-review">Valve’s Steam Machine</a> finally hit shelves last month, with a $1,049 MSRP for its base model (which doesn’t even include a controller). In response, fears surrounding how much the PS6 will cost when it launches (<a href="https://www.tomsguide.com/gaming/playstation/sony-will-allegedly-launch-three-ps6-systems-including-two-consoles-and-a-handheld-claims-leaker">rumored as early as next year</a>) are only increasing as RAM costs spiral even higher. </p><p>But my question is, how much is too much? What is the tipping point for gamers? When does sticker shock go beyond reluctantly forking over your money to just outright refusal to buy into the next generation of gaming? That’s why I decided to ask some of my colleagues how much they would be willing to pay for a hypothetical PS6, and the answers varied a lot. </p><p>I also want to hear from you: what’s your PS6 price limit? <strong>Vote in our poll</strong> down below, and be sure to <strong>leave a comment</strong>, letting me know how much you’d pay for a new PlayStation console.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XYd2YO"></div>                            </div>                            <script src="https://kwizly.com/embed/XYd2YO.js" async></script><h2 id="the-price-of-the-ps6-is-only-half-the-battle">The price of the PS6 is only half the battle</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FY4VGTzod8PrjU4mryi8hn" name="shutterstock_2023742252.jpg" alt="PS5 DualSense controller next to a PS5 console" src="https://cdn.mos.cms.futurecdn.net/FY4VGTzod8PrjU4mryi8hn.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Rokas Tenys | Shutterstock)</span></figcaption></figure><p>Being a gamer isn’t just about the console. It is about the entire ecosystem, from your setup to the actual library of games. That’s why, when the PlayStation 6 eventually drops, <strong>$1,000</strong> is my absolute hard line. </p><p>If Sony pushes the price tag any higher, it completely breaks my budget for everything else that might make gaming worth it, since there can be other costs to it. As Grand Theft Auto 6 proved, big-name titles are at the $80 mark now. You'll also need extra controllers, a solid headset, and potentially expanded SSD storage. </p><p>When you tally up the extras, the console itself is only half of the price. If Sony wants to keep me as a PlayStation fan, they can't price me out! <em>— Arif Bacchus, Lab Tester</em></p><h2 id="i-m-not-sure-if-any-price-would-be-worth-it">I'm not sure if any price would be worth it</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gXSEaKYb5GTQcmF5VG443W" name="PS5" alt="PS5 Slim console positioned horizontally on table" src="https://cdn.mos.cms.futurecdn.net/gXSEaKYb5GTQcmF5VG443W.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Tom's Guide)</span></figcaption></figure><p>The current console generation has been something of a disappointment for me. Supply issues hampered the launch, and PS4 support persisted longer than necessary. It feels like the PS5 never really got going. Furthermore, the current cost of gaming means the console hasn't had much attention from me.</p><p>Games are a lot more expensive than they used to be. Paying full price feels like I'm being ripped off, and good game sales are rather hard to come by — <a href="https://www.tomsguide.com/gaming/playstation/playstation-killing-physical-games-could-make-gaming-deals-a-thing-of-the-past-and-thats-a-major-problem">especially if you're looking for physical discs</a>. So the prospect of paying several hundred dollars to replace my PS5 is not appealing. If Sony wants my money for the PS6, they're going to have to do a lot of things to grab my attention.</p><p>The least of which is offering an affordable console, noticeably cheaper than a competent gaming PC. For me, that means I won't bother to entertain prices above the PS5 Pro's <strong>$699 </strong>launch price. </p><p>The odds of this happening are about as likely as Wales winning the World Cup, so I've made peace with the fact that I will probably never own a PS6. Maybe the PS7 will change my mind when it arrives sometime around 2040. <em>— Tom Pritchard, UK Phones Editor</em></p><h2 id="shut-up-and-take-my-money-playstation">Shut up and take my money, PlayStation</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Bpj7CyihPnACavjptKtPnj" name="19_BaldursGate3_Gameplay_Screenshot.jpg" alt="baldur's gate 3" src="https://cdn.mos.cms.futurecdn.net/Bpj7CyihPnACavjptKtPnj.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Larian Studios)</span></figcaption></figure><p>I’ll be honest: I was on the fence about getting the PS5. I got as much use as I could out of my PS4 before biting the bullet and getting the PS5 Slim… and I really wanted to play Baldur’s Gate 3, which wasn’t on Sony’s fourth-gen console. I suspect it’ll be a similar story by the time the PS6 comes around.</p><p>My PS5 right now is my favorite console, and it’s what I’ve sunk thousands of hours into games on. Sony would have to price the PS6 <em>exorbitantly </em>to stop me from buying it. I’d happily spend <strong>up to $1,000 </strong>on it. I can’t say for certain whether I’d buy it at launch, but it will most certainly happen.</p><p>The only thing I can see potentially stopping me from getting the PS6 is the rising cost of games — especially as we won’t be able to buy second-hand discs of the latest titles. But given how happy playing on my PS5 (and PS4 before it) makes me, right now, I can’t see myself <em>not</em> buying the PS6. — <em>Nikita Achanta, Senior Reviews Writer</em></p><h2 id="i-may-have-already-reached-my-limit">I may have already reached my limit</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="D8e7NbR2UySVhGgY9YqwLM" name="PS5 Slim.jpg" alt="PS5 Slim" src="https://cdn.mos.cms.futurecdn.net/D8e7NbR2UySVhGgY9YqwLM.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>I don’t consider myself a Sony fanboy, but PlayStation has been my console of choice since the original. Despite recent choices to lean into live service, PlayStation is where the types of games I want to play live. </p><p>That said, I choked paying $500 for the <a href="https://www.tomsguide.com/gaming/nintendo/nintendo-switch-2-console-review">Nintendo Switch 2</a> — hoarded gift cards allayed that frustration some —  and haven’t bothered upgrading to the PS5 Pro. Inflation aside, my sweet spot for a gaming console is around $400 to $600. With things steadily getting more expensive, I’ve had a hard time accepting that those prices may no longer be realistic. I had high hopes for the Steam Machine, but its $1,050 price tag put me off, and I’m not excited about whatever the PS6 might bring to the table.</p><p>Right now, I don’t know that I’d go more than <strong>$700</strong>, but I would hate every second of it until I got the console in my house. </p><p>PlayStation 6 might be the first generation I actively skip, but who am I kidding? I’ll probably wait until I’ve hoarded enough gift cards again. It won’t be day one, though; I promise you that. <em>— Scott Younker, West Coast Reporter</em></p><h2 id="sony-would-have-to-charge-a-fortune-to-stop-me-buying-a-ps6">Sony would have to charge a fortune to stop me buying a PS6</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bMX2buAmAL7uK2BwXXj5F" name="PS5 Pro-17" alt="PS5 Pro" src="https://cdn.mos.cms.futurecdn.net/bMX2buAmAL7uK2BwXXj5F.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Truthfully, I’m more than prepared to pay a four-digit figure for the PS6. The thought of a $1,000+ PlayStation console certainly isn’t pleasant, but Sony would have to charge well north of <strong>$1,250</strong> before I reached my limit and felt forced to stick with my current PS5 Pro for a while longer. </p><p>I swear I’m not a corporate bootlicker; it’s a simple matter of determining value per dollar spent. PlayStation has been my primary gaming platform since the PS1, and each year, I get <em>thousands</em> of hours of use from my console. When you break it down into money spent to entertainment hours delivered, each PlayStation machine has been a complete bargain.</p><p>For me, it’s not the price that will put me off the PS6, but rather <a href="https://www.tomsguide.com/gaming/playstation/playstation-is-officially-killing-physical-discs-heres-when-they-disappear-and-what-that-means-for-you">Sony’s decision to axe physical games</a> (I’m mostly digital already, but still want the option of using a disc), and my concerns that it’ll launch with a relatively small hard drive in an effort to reduce costs. <em>— Rory Mellon, Senior Entertainment Editor</em></p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/best-picks/the-best-ps5-games">The best PS5 games in 2026</a></li><li><a href="https://www.tomsguide.com/gaming/playstation/ps6-price-could-be-in-the-same-stratosphere-as-the-steam-machine-based-on-new-leak">PS6 price could be in the same stratosphere as the Steam Machine</a></li><li><a href="https://www.tomsguide.com/gaming/a-playstation-6-without-a-disc-drive-im-done-with-sony">A PlayStation 6 without a disc drive? I’m done with Sony</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ A PlayStation 6 without a disc drive? I’m done with Sony ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/a-playstation-6-without-a-disc-drive-im-done-with-sony</link>
                                                                            <description>
                            <![CDATA[ I’m not averse to digital gaming, but I don’t have much faith in Sony’s ability to deliver it at a fair price. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">4vGi6VscabZ3YMiWAh5pKV</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/FY4VGTzod8PrjU4mryi8hn-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 06 Jul 2026 09:10:10 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming]]></category>
                                                    <category><![CDATA[Playstation]]></category>
                                                                                                                    <dc:creator><![CDATA[ Alan Martin ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xMmhmPSssqZHHFWveDgSs7.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/FY4VGTzod8PrjU4mryi8hn-1280-80.jpg">
                                                            <media:credit><![CDATA[Rokas Tenys | Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[How to watch Super Bowl with your PS5]]></media:description>                                                            <media:text><![CDATA[How to watch Super Bowl with your PS5]]></media:text>
                                <media:title type="plain"><![CDATA[How to watch Super Bowl with your PS5]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/FY4VGTzod8PrjU4mryi8hn-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It seems like there’s no going back. I initially thought that <a href="https://www.tomsguide.com/gaming/playstation/playstation-is-officially-killing-physical-discs-heres-when-they-disappear-and-what-that-means-for-you">Sony’s decision to phase out physical discs for PlayStation 5</a> had such a long run-in time that there was deliberate wiggle room for a slightly embarrassing U-turn before 2028.</p><p>However, <a href="https://www.theverge.com/games/961203/sony-austria-thalgau-end-disc-production-microlenses-instead" target="_blank">The Verge</a> is reporting that <strong>Sony’s Thalgau plant is already being repurposed to make optical microlenses instead</strong>. In other words, this wasn’t testing the waters with an announcement and checking for feedback — this was<em> fait accompli</em>: a decision already decided upon, with loyal customers the last to know.</p><p>No wonder the company’s popular Xbox-baiting game loaning video from the PS4 era is now <a href="https://www.youtube.com/watch?v=uMrL8jwhMXg" target="_blank">being thrown back in its corporate face</a>. Despite effectively taking brutal advantage of Microsoft’s anti-consumer error with a viral marketing video, Sony got to a very similar place in the end. It just took them longer.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="high" data-lazy-src="https://www.youtube-nocookie.com/embed/kWSIFh8ICaA" allowfullscreen></iframe></div></div><p>Assuming there is no room for the expensive U-turn that Microsoft ended up screeching around 13 years ago, then that’s the end of the road for me with PlayStation. </p><p><strong>It’s not that I’m averse to digital gaming, I just have very little faith in Sony’s ability to deliver it at a reasonable price.</strong></p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eMVm7W"></div>                            </div>                            <script src="https://kwizly.com/embed/eMVm7W.js" async></script><h2 id="the-worst-of-both-worlds">The worst of both worlds</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1890px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="QtC5XrBKmnRNJDnKmAV3QD" name="PS5 Gaming TV.jpg" alt="Ratchet & Clank being played on a PS5 and a Sony Bravia gaming TV." src="https://cdn.mos.cms.futurecdn.net/QtC5XrBKmnRNJDnKmAV3QD.jpg" mos="" align="middle" fullscreen="" width="1890" height="1063" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>In theory, I can see the case for a digital-only console. A PS6 without a disc drive should be cheaper to manufacture (though that doesn’t mean cheap, given the soaring price of hardware), and as a PC gamer, I haven’t owned a computer with a disc drive in well over a decade.</p><p>But I consciously made the opposite choice when I pre-ordered my day-one PS5: <strong>I paid extra for the model with a disc drive, safe in the knowledge that over the long run, the extra cost would be recouped</strong>, after borrowing and trading in games had been taken into account. </p><p>Which isn’t to say I don’t see the benefit of digital. While nine times out of ten, I would buy the disc version for resale value and the ability to loan my favourite games to friends, I still would buy from the PlayStation store occasionally. After all, you can’t beat the convenience of instantly accessing a game no matter what time of day or night. The PlayStation Store never sleeps.</p><p>Indeed, 99% of my PC games come digitally via Steam, and it works brilliantly. But it’s not a like-for-like comparison, because ironically <strong>part of what makes Steam such a popular option is its competition</strong>. There’s no shortage of places to buy PC games from the Epic Store to GOG, so Steam can’t rest on its laurels: its prices have to stay competitive, especially during the frequent sales.</p><p>Sony could replicate this, allowing third-party game stores on PS6, but why would it? If there’s only one place to buy games, Sony can charge a healthy platform fee for every sale, safe in the knowledge that there’s no alternative (Valve gets away with <a href="https://steamcommunity.com/groups/steamworks/announcements/detail/1697191267930157838" target="_blank">between 20 and 30%</a> depending on sales figures, despite gamers being able to vote with their feet).</p><p>There was outrage when it was announced that <a href="https://www.tomsguide.com/news/ps5-and-xbox-series-x-games-will-cost-dollar70-and-subscriptions-may-be-the-future">PS5 games would cost $70</a>, but at least people knew they could recoup some of the costs when finished. With development costs spiralling,<strong> it wouldn’t be surprising if PS6 pricing goes even higher</strong> — and we’ve already seen some evidence of this price inflation with the <a href="https://www.tomsguide.com/gaming/gta-6s-ultimate-edition-is-the-real-full-game-and-the-rumors-of-it-costing-usd100-were-true-after-all">MSRP of $80 plus</a> for the digital-first <a href="https://www.tomsguide.com/news/gta-6">GTA 6</a>.</p><p><strong>Without physical game shops to compete with, Sony has far more control over sales too</strong>. The company can reduce both frequency and discount percentage, safe in the knowledge that <strong>you’ve got no alternative</strong>. If you want the game, you’ll have to pay whatever Sony wants or go without.</p><p>That’s not even considering the other downsides of digital-only games. What if your account gets hacked and Sony bans you? You’ve lost access to all the games you’d paid for. What if Sony decides to remove a game before you downloaded it? Tough luck, it’s gone forever. That’s why <a href="https://www.gamespot.com/articles/ps4s-with-pre-installed-pt-listed-on-ebay-for-as-m/1100-6426971/" target="_blank">PS4 consoles with the deleted PT demo were listed on Ebay for over $1,000 a decade ago</a>.</p><h2 id="farewell-playstation">Farewell PlayStation</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ecidnCAguSkpYaD5oKosUH" name="TG_PS5_7.jpg" alt="PS5" src="https://cdn.mos.cms.futurecdn.net/ecidnCAguSkpYaD5oKosUH.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>With the <a href="https://www.tomsguide.com/gaming/playstation/ps6-price-could-be-in-the-same-stratosphere-as-the-steam-machine-based-on-new-leak">expected price of PS6 blowing past even those PT scalping prices</a>, I was already contemplating opting out of a Sony console for the first time since I was at university with my trusty GameCube. </p><p>This move seals the deal. I’ll keep playing PS5 games, but once publishers stop making them and I finish my substantial backlog, <strong>I’ll turn off a PlayStation console for the last time</strong>. If I have to play digital-only, my PC and Steam Deck will get all the love going forward. Thanks anyway, Sony.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/playstation/customers-need-assurances-their-games-wont-be-taken-from-them-after-purchase-stop-killing-games-on-playstations-decision-to-kill-physical-discs">We spoke to Stop Killing Games about PlayStation killing discs</a></li><li><a href="https://www.tomsguide.com/gaming/steam-machine-vs-ps5-pro-theres-a-clear-winner-for-most-gamers">Steam Machine vs. PS5 Pro — there’s a clear winner</a></li><li><a href="https://www.tomsguide.com/gaming/splatoon-raiders-combines-ink-splatting-and-treasure-hunting-and-im-already-hooked">Splatoon Raiders hands-on preview: I'm already hooked</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ PlayStation killing physical games could make gaming deals a thing of the past — and that’s a major problem ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/playstation-killing-physical-games-could-make-gaming-deals-a-thing-of-the-past-and-thats-a-major-problem</link>
                                                                            <description>
                            <![CDATA[ PlayStation's decision to end physical games in January 2028 could have a major impact on bargain shopping. Here's why it's a problem. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">NW32TykkmE79VYLsnLPjYG</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 05 Jul 2026 08:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ rory.mellon@futurenet.com (Rory Mellon) ]]></author>                    <dc:creator><![CDATA[ Rory Mellon ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5Rv6LtQXMj5JB4Eu8Lt4Sn.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The PlayStation logo on a PS5 Pro]]></media:description>                                                            <media:text><![CDATA[The PlayStation logo on a PS5 Pro]]></media:text>
                                <media:title type="plain"><![CDATA[The PlayStation logo on a PS5 Pro]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>This week, PlayStation announced its plans to <a href="https://www.tomsguide.com/gaming/playstation/playstation-is-officially-killing-physical-discs-heres-when-they-disappear-and-what-that-means-for-you">stop producing physical game discs</a> for titles released on its platform starting in January 2028. The internet's response has been strong and loud. In fact, I don’t think I’ve spoken to a single gamer who is in any way supportive of this decision.</p><p>Among the outraged, the main points of contention seem to be how this will affect those who take pride in displaying their vast physical game collection, and what this decision will mean for gaming preservation. There’s also a lot of fear about a theoretical future in which Sony decides to strip users of their digital purchases without warning — a nightmare outcome that I personally believe is not impossible, but highly improbable.</p><p>These are all valid points, but my real anger over this ill-judged decision is how it could make gaming deal-hunting a closed shop, robbing consumers of options to save money. I started my time at Tom’s Guide as a deals writer, and I know firsthand how many gamers are savvy shoppers, and how important scoring a big discount is for gamers who can’t afford to drop $70 (or $80 in the case of <a href="https://www.tomsguide.com/news/live/gta-6-pre-orders-news-and-live-updates">GTA VI</a>) on a brand new release day one. </p><p>Once PlayStation takes physical games away in early 2028, the economics of buying video games will likely completely change for millions of people, and that’s something to be mad about even if you're already all digital.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eMVm7W"></div>                            </div>                            <script src="https://kwizly.com/embed/eMVm7W.js" async></script><h2 id="no-more-discs-could-destroy-gaming-deals">No more discs could destroy gaming deals</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AXNNW7PLmYmCxqswRjhu8R" name="God of War Ragnarok - Kratos vs creature.jpg" alt="God of War Ragnarok" src="https://cdn.mos.cms.futurecdn.net/AXNNW7PLmYmCxqswRjhu8R.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony Interactive Entertainment)</span></figcaption></figure><p>For gamers who largely buy new releases day one, the removal of physical games won’t make all that much of a difference, at least in terms of affordability. Right now, if you want to pre-order an upcoming game — for example, <a href="https://www.tomsguide.com/gaming/playstation/ps5-slim">PS5</a> exclusive Marvel’s Wolverine — it will cost you <a href="https://www.amazon.com/Wolverine-PS5-PlayStation-5/dp/B0G6157JKW/" target="_blank" rel="nofollow">$69 on Amazon</a> for a disc and also <a href="https://store.playstation.com/en-us/concept/10002861" target="_blank" rel="nofollow">$69 on the digital PlayStation Store</a>. </p><p>However, the shockwaves of no more physical games will be felt in the months after launch, and primarily by more patient gamers who don’t feel the need to pre-order to play on day one. Once a game has had its moment in the sun, retailers tend to discount remaining stock, but over on the PlayStation Store, prices can remain locked for months, even years. </p><p>In the table below, I’ve compared prices for some of the biggest PS5 exclusives across major retailers and on the PlayStation Store (prices correct as of Friday, July 3). It paints a bleak picture. If Sony’s desired future comes to pass (and there are no signs of a U-turn yet), then gamers looking to pick up older titles could be forced to pay launch day prices.</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>PlayStation Store</strong></p></td><td  ><p><strong>Amazon</strong></p></td><td  ><p><strong>Best Buy</strong></p></td><td  ><p><strong>Walmart</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Astro Bot</strong></p></td><td  ><p><a href="https://store.playstation.com/en-us/product/UP9000-PPSA21564_00-0000000000000000" target="_blank" rel="nofollow">$59.99</a></p></td><td  ><p><a href="https://www.amazon.com/Astro-Bot-PS5-PlayStation-5/dp/B0D5SM3K4Q/" target="_blank" rel="nofollow">$39.99</a></p></td><td  ><p><a href="https://www.bestbuy.com/product/astro-bot-playstation-5/JXHQ3C2TG8" target="_blank" rel="nofollow">$49.99</a></p></td><td  ><p><a href="https://www.walmart.com/ip/Astro-Bot-PlayStation-5/6261168812" target="_blank" rel="nofollow">$39</a></p></td></tr><tr><td class="firstcol " ><p><strong>Death Stranding 2: On the Beach</strong></p></td><td  ><p><a href="https://store.playstation.com/en-us/product/JP9000-PPSA02015_00-DS2OTB0000000001" target="_blank" rel="nofollow">$69.99</a></p></td><td  ><p><a href="https://www.amazon.com/Death-Stranding-2-Beach-PlayStation-5/dp/B0F19GPDW3/" target="_blank" rel="nofollow">$54.97</a></p></td><td  ><p><a href="https://www.bestbuy.com/product/death-stranding-2-on-the-beach-playstation-5/JXHQ3CX8WG" target="_blank" rel="nofollow">$57.99</a></p></td><td  ><p><a href="https://www.walmart.com/ip/Death-Stranding-2-On-The-Beach-Playstation-5/15583874414" target="_blank" rel="nofollow">$49.95</a></p></td></tr><tr><td class="firstcol " ><p><strong>Demon's Souls</strong></p></td><td  ><p><a href="https://store.playstation.com/en-us/product/UP9000-PPSA01342_00-DEMONSSOULS00000" target="_blank" rel="nofollow">$69.99</a></p></td><td  ><p><a href="https://www.amazon.com/Demons-Souls-PlayStation-5/dp/B08FC5TTBF" target="_blank" rel="nofollow">$37.99</a></p></td><td  ><p><a href="https://www.bestbuy.com/product/demons-souls-standard-edition-playstation-5/JXHQ3C7QZY" target="_blank" rel="nofollow">$40.99</a></p></td><td  ><p><a href="https://www.walmart.com/ip/PlayStation-5-CD-Demon-s-Souls/741555735" target="_blank" rel="nofollow">$39.72</a></p></td></tr><tr><td class="firstcol " ><p><strong>God of War Ragnarök</strong></p></td><td  ><p><a href="https://store.playstation.com/en-us/product/UP9000-PPSA08329_00-GOWRAGNAROK00000" target="_blank" rel="nofollow">$69.99</a></p></td><td  ><p><a href="https://www.amazon.com/God-War-Ragnar%C3%B6k-PlayStation-5/dp/B0B61YDF5V/?th=1" target="_blank" rel="nofollow">$32.75</a></p></td><td  ><p><a href="https://www.bestbuy.com/product/god-of-war-ragnarok-standard-edition-playstation-5/JXHQ3C7VHL" target="_blank" rel="nofollow">$34.99</a></p></td><td  ><p><a href="https://www.walmart.com/ip/God-of-War-Ragnar-k-Standard-Edition-Playstation-5-Physical/1336533270" target="_blank" rel="nofollow">$28.69</a></p></td></tr><tr><td class="firstcol " ><p><strong>Marvel's Spider-Man 2 </strong></p></td><td  ><p><a href="https://store.playstation.com/en-us/product/UP9000-PPSA03016_00-MARVELSPIDERMAN2" target="_blank" rel="nofollow">$69.99</a></p></td><td  ><p><a href="https://www.amazon.com/Marvels-Spider-Man-2-playstation-5/dp/B0CM27RYVC/" target="_blank" rel="nofollow">$44.48</a></p></td><td  ><p><a href="https://www.bestbuy.com/product/marvels-spider-man-2-standard-edition-playstation-5/JXHQ3CCL82" target="_blank" rel="nofollow">$40.99</a></p></td><td  ><p><a href="https://www.walmart.com/ip/Marvel-s-Spider-Man-2-Playstation-5/3930621352" target="_blank" rel="nofollow">$31.47</a></p></td></tr><tr><td class="firstcol " ><p><strong>Ratchet & Clank: Rift Apart </strong></p></td><td  ><p><a href="https://store.playstation.com/en-us/product/UP9000-PPSA01473_00-RATCHETCLANKRIFT" target="_blank" rel="nofollow">$69.99</a></p></td><td  ><p><a href="https://www.amazon.com/Ratchet-Clank-Rift-Apart-PlayStation-5/dp/B095T8C99C/" target="_blank" rel="nofollow">$43.94</a></p></td><td  ><p><a href="https://www.bestbuy.com/product/ratchet-clank-rift-apart-playstation-5/JXHQ3C7Q5R" target="_blank" rel="nofollow">$39.95</a></p></td><td  ><p><a href="https://www.walmart.com/ip/Ratchet-and-Clank-A-Rift-Apart-Playstation-5/150805682" target="_blank" rel="nofollow">$41.99</a></p></td></tr><tr><td class="firstcol " ><p><strong>The Last of Us Part 1 </strong></p></td><td  ><p><a href="https://store.playstation.com/en-us/product/UP9000-PPSA03396_00-THELASTOFUSPART1" target="_blank" rel="nofollow">$69.99</a></p></td><td  ><p><a href="https://www.amazon.com/Last-Us-Part-PlayStation-5/dp/B0B3QWRQL8/" target="_blank" rel="nofollow">$34.38</a></p></td><td  ><p><a href="https://www.bestbuy.com/product/the-last-of-us-part-i-playstation-5/JXHQ3CJPS2" target="_blank" rel="nofollow">$48.99</a></p></td><td  ><p><a href="https://www.walmart.com/ip/The-Last-of-Us-Part-I-PlayStation-5/1643604134" target="_blank" rel="nofollow">$39.99</a></p></td></tr></tbody></table></div><h2 id="digital-deals-do-exist-but-choice-is-non-existent">Digital deals do exist, but choice is non-existent</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TSyiK2axFtwNAy77GRENuh" name="playstation-store-image-live-blog.jpg" alt="PlayStation Store image" src="https://cdn.mos.cms.futurecdn.net/TSyiK2axFtwNAy77GRENuh.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>All of this isn’t to say that deals don’t exist on digital games. I’ve been tracking PlayStation Store deals for years, and can say firsthand that there is pretty much always some form of sale running. Right now, it’s the <a href="https://store.playstation.com/en-us/category/d1fa27b1-da1f-4c4b-8e7a-997e59b787f7/1" target="_blank" rel="nofollow">July Savings sale</a>, offering up to 75% off <em>select </em>PS5 and PS4 titles. </p><p>The problem here is that PlayStation gamers will be at the mercy of these limited-time sales. Let's say right now in July 2026, you decide you want to pick up <a href="https://www.tomsguide.com/reviews/god-of-war-ragnarok">God of War Ragnarök</a>. While it’s been on sale digitally before, it’s not included in the July Savings promotion at present. It costs a full $70. Meanwhile, on Amazon you can grab a physical copy for just $32. </p><p>I can imagine a future where circling back to a game you skipped at launch means waiting months, if not longer, until it appears in one of the PlayStation Store’s rotating sales, unless you’re willing to pay the day-one price. In an all-digital future, shopping around for the best deal might be a non-starter; you will have only one storefront to buy PlayStation games on.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bSgJexzmBfwV8pzW9bKFJL" name="PS5 Pro-13" alt="PS5 Pro sitting horizontally on a table" src="https://cdn.mos.cms.futurecdn.net/bSgJexzmBfwV8pzW9bKFJL.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Tom's Guide)</span></figcaption></figure><p>This situation could be mitigated by Sony allowing additional storefronts onto its consoles, but I would suggest the odds of this are slim to none. Or perhaps a more likely solution is hinted at in the <a href="https://blog.playstation.com/2026/07/01/physical-disc-production-ending-in-january-2028-for-new-games-releasing-on-playstation-consoles/" target="_blank">PlayStation Blog article</a> announcing this unwelcome news, which states “new games will be available on PlayStation Store <strong>and at retailers</strong> in digital formats only.”</p><p>Perhaps post-2028, PlayStation will permit the likes of Amazon, Best Buy and Target to sell digital game codes directly (at present, they only sell PlayStation Store credit vouchers). This could lead to more deals and discounts. Amazon could reduce the price of a digital game code in the months/years after launch. But remember, a digital code doesn't take up warehouse space, so retailers will have less incentive to clear out inventory.</p><p>However you slice it, any new game releasing on PlayStation platforms post January 2028 will seemingly be at the mercy of Sony’s and/or the publisher’s digital pricing strategy. That could mean that shopping for the best gaming deals whenever suits you becomes a thing of the past.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/playstation/customers-need-assurances-their-games-wont-be-taken-from-them-after-purchase-stop-killing-games-on-playstations-decision-to-kill-physical-discs">We spoke to Stop Killing Games about PlayStation killing discs</a></li><li><a href="https://www.tomsguide.com/gaming/steam-machine-vs-ps5-pro-theres-a-clear-winner-for-most-gamers">Steam Machine vs. PS5 Pro — there’s a clear winner</a></li><li><a href="https://www.tomsguide.com/gaming/splatoon-raiders-combines-ink-splatting-and-treasure-hunting-and-im-already-hooked">Splatoon Raiders hands-on preview: I'm already hooked</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 'The average person expects something marketed as a physical copy of something to be physical': Stop Killing Games on PlayStation killing discs ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/customers-need-assurances-their-games-wont-be-taken-from-them-after-purchase-stop-killing-games-on-playstations-decision-to-kill-physical-discs</link>
                                                                            <description>
                            <![CDATA[ We spoke with Stop Killing Games to get their take on Sony's announcement that it will no longer produce discs for new games starting in 2028. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">mYTe2Bh6rdFfLfoZstMzJ4</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ecidnCAguSkpYaD5oKosUH-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 02 Jul 2026 04:15:00 +0000</pubDate>                                                                                                                                <updated>Thu, 02 Jul 2026 20:03:34 +0000</updated>
                                                                                                                                            <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ tony.polanco@futurenet.com (Tony Polanco) ]]></author>                    <dc:creator><![CDATA[ Tony Polanco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/atzRNqFt5wYgEUPBDahWsD.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/ecidnCAguSkpYaD5oKosUH-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[PS5]]></media:description>                                                            <media:text><![CDATA[PS5]]></media:text>
                                <media:title type="plain"><![CDATA[PS5]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ecidnCAguSkpYaD5oKosUH-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>In case you didn’t know, <a href="https://www.tomsguide.com/gaming/playstation/playstation-is-officially-killing-physical-discs-heres-when-they-disappear-and-what-that-means-for-you">PlayStation is officially killing physical discs</a>. The company says this is a natural step that aligns with how most players buy and play games. Considering how 85% of PlayStation games (via <a href="chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/https://www.sony.com/en/SonyInfo/IR/library/presen/er/pdf/25q4_supplement.pdf" target="_blank">PlayStation's financials</a>) are bought digitally, this move isn’t all that surprising — though that fact doesn’t ease the concern of many who see this as a wrong move.</p><p>Tom’s Guide reached out to Ross Scott, Founder of <a href="https://www.stopkillinggames.com/en" target="_blank">Stop Killing Games</a> — the campaign pushing for legal protections so games don’t disappear once publishers stop supporting them — to get their take on what this announcement means for PlayStation players and gamers as a whole.</p><p>The group’s responses were measured on some points but clear on others. While they didn’t outright call Sony’s consumer preference argument false, they argued that the bigger issue isn’t really about discs at all. Here are some highlights from their answers to our questions.</p><h2 id="the-disc-isn-t-the-problem">The disc isn't the problem</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hhrYrGQkptDpU5UMQUECcY" name="PS5 Slim-17.jpg" alt="PS5 Slim" src="https://cdn.mos.cms.futurecdn.net/hhrYrGQkptDpU5UMQUECcY.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Ross didn’t argue about whether most people preferred digital to physical. Instead, they challenged the notion that removing physical discs is the next logical step with no downsides. In their estimation, the conversation has become too focused on the format itself rather than on what players lose when that format disappears.</p><p>“<strong>The lack of the disc is just a symptom and not the core problem in itself</strong>,” Scott told us. They see the shift away from physical media as a surface-level change that masks a deeper issue: the gradual erosion of player ownership and long-term access to games.</p><div><blockquote><p>"What customers need [is] assurances their games won't be taken from them after purchase."</p><p>Ross Scott, Founder of Stop Killing Games</p></blockquote></div><p>Having a physical disc gives players something close to real ownership. Even if a publisher decided to shut down servers or stop supporting a game, you still (in most cases) had a working copy. This hasn’t been a thing on PC for a long time, and it appears the same will happen on consoles. Stop Killing Games thinks that’s why Sony’s response is wrong. Players are losing one of the last ways to keep a game they bought.</p><p>“<strong>What customers need [is] assurances their games won't be taken from them after purchase, which large publishers sometimes have a very poor track record on</strong>,” Scott said.</p><h2 id="second-hand-sales-and-publisher-incentives">Second-hand sales and publisher incentives</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5951px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="UNQTPWHvjo8WP4aCPUT58C" name="shutterstock_2302850573.jpg" alt="Video game collection in a drawer alongside a controller and wires packed neatly" src="https://cdn.mos.cms.futurecdn.net/UNQTPWHvjo8WP4aCPUT58C.jpg" mos="" align="middle" fullscreen="" width="5951" height="3347" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>We also asked about the impact on the used-games market and on retail competition. Their answer was more nuanced than you might expect from an anti-DRM campaign.</p><p>“<strong>I actually am sympathetic to publishers wanting to avoid secondhand sales, as in my opinion, that has led to lower prices overall (think of all the large sale events or digital game giveaways we see nowadays), but that also assumes competition in the market</strong>,” Scott added.</p><p>They also pointed out that copyrighted works already come with certain legal monopolies, and they’re wary of companies expanding that control through technical means without going through the proper legal process in different countries.</p><p>Additionally, they noted that recent examples, such as price increases following major acquisitions, show how quickly consumer-friendly promises can shift once competition decreases.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eMVm7W"></div>                            </div>                            <script src="https://kwizly.com/embed/eMVm7W.js" async></script><h2 id="a-warning-from-the-past">A warning from the past</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="ehKH6GSEWqriffcToAJZgG" name="shutterstock_1870302739.jpg" alt="Xbox Series X controller being held" src="https://cdn.mos.cms.futurecdn.net/ehKH6GSEWqriffcToAJZgG.jpg" mos="" align="middle" fullscreen="" width="3000" height="1688" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>The all-digital future that many dreaded is effectively here, but the idea isn’t completely new. To that end, SKG pointed to Microsoft’s original Xbox One reveal as a cautionary example. Even though Microsoft walked back many of the most controversial features after receiving backlash, SKG sees the 2013 presentation as a sign of where parts of the industry still want to go.</p><div><blockquote><p>"I felt like the original Xbox One reveal was a sign of where the industry would like to take things"</p><p>Ross Scott, Founder of Stop Killing Games</p></blockquote></div><p>“<strong>Not to pick on Microsoft in particular, but I felt like the original Xbox One reveal was a sign of where the industry would like to take things</strong>,” Scott continued.</p><p>Some of Microsoft's original plans included: mandatory daily online checks, or your games would stop working, unclear rules around used games, and no guarantees that your library would survive once support for the console ended. Gamers decried all of these, but we’ve since seen them effectively become standard for all game consoles. Not having physical discs will just make it easier for companies to enact such measures.</p><p>Stop Killing Games added that they don’t believe digital games are inherently bad. When handled responsibly, digital-only games have real benefits, such as easier ways to back up purchases by copying games to an external hard drive. The danger lies when publishers treat digital ownership as something temporary or revocable.</p><h2 id="when-physical-doesn-t-mean-physical">When “physical” doesn’t mean physical</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Dr6t5xfKCVPGaaKmReweqN" name="GTA6-TV-02" alt="A GTA 6 screenshot on a TV." src="https://cdn.mos.cms.futurecdn.net/Dr6t5xfKCVPGaaKmReweqN.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock / Rockstar / Tom's Guide)</span></figcaption></figure><p>One area where Stop Killing Games was more direct was the growing trend of retailers selling “physical editions” that contain nothing but a download code inside a box—such as <a href="https://www.tomsguide.com/news/live/gta-6-pre-orders-news-and-live-updates">GTA 6 not launching with a game disc</a>. They described this as misleading to consumers.</p><div><blockquote><p>"The average person expects something marketed as a physical copy of something to be physical."</p><p>Ross Scott, Founder of Stop Killing Games</p></blockquote></div><p>“<strong>I think this does create a sense of deception among consumers, since regardless of one's opinion on digital v. physical games, the average person expects something marketed as a physical copy of something to be physical</strong>.”</p><p>This practice also raises questions about what ownership even means. If the only thing inside the box is a code that can be revoked or tied to an account that might one day disappear, then the idea of “owning” a physical copy starts to feel hollow. They see this as part of the same broader pattern where the appearance of ownership is preserved while the reality of it quietly erodes.</p><p>To be clear, Sony did not say anything about selling “physical” copies of games in the manner that <a href="https://www.tomsguide.com/news/live/gta-6-pre-orders-news-and-live-updates">GTA 6 </a>will, so we can’t say the company will go down that route. Still, it was interesting getting SKG’s take on this, since it’s a related topic.</p><h2 id="outlook">Outlook</h2><p>While we likely can’t stop console manufacturers from reversing course, we can at least ask for assurances that our digital purchases actually belong to us. This is why Stop Killing Games’ efforts are so important, especially now.</p><p>We’ll see how things play out, but for now, it might be best to brace for what’s to come.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/playstation/ps6-price-could-be-in-the-same-stratosphere-as-the-steam-machine-based-on-new-leak">PS6 price could be in the same stratosphere as the Steam Machine</a></li><li><a href="https://www.tomsguide.com/gaming/ps6-just-tipped-for-huge-specs-upgrade-to-take-on-gaming-pcs">PS6 just tipped for huge specs upgrade to take on gaming PCs</a></li><li><a href="https://www.tomsguide.com/computing/macbooks/macbook-neo-at-usd699-is-it-still-worthwhile-or-should-you-get-the-new-xps-13-instead">MacBook Neo at $699 — is it still worthwhile?</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ PlayStation is officially killing physical discs — here's when they disappear and what that means for you ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/playstation-is-officially-killing-physical-discs-heres-when-they-disappear-and-what-that-means-for-you</link>
                                                                            <description>
                            <![CDATA[ Sony is officially ending physical disc versions of brand-new games starting in January 2028. Here's why the company has decided to make this decision. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">nijEupkVLPZDVrrD3NaWLE</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/FY4VGTzod8PrjU4mryi8hn-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 01 Jul 2026 14:09:10 +0000</pubDate>                                                                                                                                <updated>Wed, 01 Jul 2026 14:14:48 +0000</updated>
                                                                                                                                            <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ tony.polanco@futurenet.com (Tony Polanco) ]]></author>                    <dc:creator><![CDATA[ Tony Polanco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/atzRNqFt5wYgEUPBDahWsD.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/FY4VGTzod8PrjU4mryi8hn-1280-80.jpg">
                                                            <media:credit><![CDATA[Rokas Tenys | Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[How to watch Super Bowl with your PS5]]></media:description>                                                            <media:text><![CDATA[How to watch Super Bowl with your PS5]]></media:text>
                                <media:title type="plain"><![CDATA[How to watch Super Bowl with your PS5]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/FY4VGTzod8PrjU4mryi8hn-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Not a rumor or speculation. PlayStation is officially ending physical disc production. That news comes directly from Sid Shuman, Senior Director of Sony Interactive Entertainment Content Communications.</p><p>On the <a href="https://blog.playstation.com/2026/07/01/physical-disc-production-ending-in-january-2028-for-new-games-releasing-on-playstation-consoles/" target="_blank">PlayStation Blog</a>, Shuman says the company made this decision because customers have continued to shift away from physical discs to digital. </p><p>To that end, “physical disc production for all new games releasing on PlayStation consoles will be discontinued starting in January 2028,” says Shuman. After that date, new games will only be available in digital format on the PlayStation Store and at retailers. Games released or due for release on disc before 2028 won’t be affected.</p><p>“This is a natural direction for Sony Interactive Entertainment to adapt to consumer trends as the general preference for digital media significantly outpaces physical discs,” says Shuman. “This transition will enable us to align more closely with how most of our community prefers to access and play games today.”</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eMVm7W"></div>                            </div>                            <script src="https://kwizly.com/embed/eMVm7W.js" async></script><p>Today’s announcement might be shocking, but it isn’t all that surprising. In PlayStation’s 2025 Q4 financial report (<a href="https://x.com/Genki_JPN/status/2052587530835591595?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E2052587530835591595%7Ctwgr%5E43eab9650f32d4b8d603a2d9c3ece5a7f4428819%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fwww.g2a.com%2Fnews%2Ffeatures%2F85-of-playstation-game-sales-are-digital-is-physical-gaming-dying%2F" target="_blank"><u>via Genki on X</u></a>), the company stated that 85% of games sold on the platform were purchased digitally. This is a trend we’ve seen across all gaming consoles over the past decade, with acceleration during the pandemic.</p><p>Given this news, it’s safe to assume that the yet-to-be-announced PS6 won’t have a disc drive. The same might also be true for the upcoming <a href="https://www.tomsguide.com/gaming/xbox/next-xbox-will-play-your-xbox-and-pc-games-new-ceo-promises">Xbox Project Helix</a>, which is reportedly going to be a midway point between a console and a PC. Speaking of PC, that platform has been all-digital for ages as well, showing that gamers are generally already used to not owning physical copies of their games.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZzprM54qboYxMNpdopFayd" name="PS5 Pro-14" alt="PS5 Pro sitting horizontally in front of a TV" src="https://cdn.mos.cms.futurecdn.net/ZzprM54qboYxMNpdopFayd.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Tom's Guide)</span></figcaption></figure><p>We reached out to <a href="https://www.stopkillinggames.com/en" target="_blank">Stop Killing Games</a> (a consumer rights group) for comment about this story. They said gamers want assurances that their games won’t be taken from them after purchase, and that decisions like this only serve to erode that trust.</p><p>“Digital games in themselves are not a problem and have multiple advantages for both parties when run responsibly, giving customers the freedom to back up their game sometimes in ways better than physical copies,” says Stop Killing Games. “When handled irresponsibly, they're a death sentence for games, which is what has led to the Stop Killing Games movement in the first place.”</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="y5T6EzpDkzjkm8NbGVewWW" name="PS5 Pro-9" alt="The PlayStation logo on a PS5 Pro" src="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Lastly, PlayStation also says it is <a href="https://blog.playstation.com/2026/07/01/an-update-on-playstation-store-for-ps3-and-ps-vita/" target="_blank">closing the PS3 and PS Vita digital stores</a>. Closures start this August in select markets and will happen globally by July of 2027. You will still be able to download previously purchased games after the closing dates "for the foreseeable future." If you want to purchase any PS3 or Vita games digitally, do it now before those stores are closed for good.</p><p>This is certainly devastating news for fans of physical games. If you fall into that camp, there isn't much you can do when the time comes. However, I expect companies like Limited Run Games to release physical versions of PS5 games even after this policy goes into place, so that is at least one option for select games. But for the PS6, it appears there won't be any choice but to play games digitally.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/playstation/ps6-price-could-be-in-the-same-stratosphere-as-the-steam-machine-based-on-new-leak">PS6 price could be in the same stratosphere as the Steam Machine</a></li><li><a href="https://www.tomsguide.com/gaming/ps6-just-tipped-for-huge-specs-upgrade-to-take-on-gaming-pcs">PS6 just tipped for huge specs upgrade to take on gaming PCs</a></li><li><a href="https://www.tomsguide.com/computing/macbooks/macbook-neo-at-usd699-is-it-still-worthwhile-or-should-you-get-the-new-xps-13-instead">MacBook Neo at $699 — is it still worthwhile?</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ PS6 price could be in the same stratosphere as the Steam Machine, based on new leak ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/ps6-price-could-be-in-the-same-stratosphere-as-the-steam-machine-based-on-new-leak</link>
                                                                            <description>
                            <![CDATA[ A new leak claims that the PS6 currently costs $960 to manufacture. If true, Sony's next-gen system could cost as much as (or more than) the Steam Machine. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">WW33gSqPQRMgtXGVtTzXZ9</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 29 Jun 2026 17:54:57 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ tony.polanco@futurenet.com (Tony Polanco) ]]></author>                    <dc:creator><![CDATA[ Tony Polanco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/atzRNqFt5wYgEUPBDahWsD.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The PlayStation logo on a PS5 Pro]]></media:description>                                                            <media:text><![CDATA[The PlayStation logo on a PS5 Pro]]></media:text>
                                <media:title type="plain"><![CDATA[The PlayStation logo on a PS5 Pro]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If you hoped the <a href="https://www.tomsguide.com/gaming/playstation/ps6-leaks-and-rumors">PS6</a> would cost less than $1,000, I have some potentially bad news for you. According to a new leak, the PS6 currently costs $960 in materials to manufacture. Unless Sony is willing to sell the yet-to-be-announced next-generation consoles, the PS6 could cost about as much as the equally pricey <a href="https://www.tomsguide.com/gaming/steam-machine-review">Steam Machine</a>.</p><p>The leak in question comes from <a href="https://www.resetera.com/threads/kepler_l2-says-the-bom-bill-of-materials-cost-of-the-ps6-has-increased-by-200-since-the-760-number-he-quoted-march-putting-it-close-to-1000.1562929/" target="_blank">Kepler_K2</a> (via <a href="https://insider-gaming.com/playstation-6-costs/" target="_blank">Insider Gamer</a>), who has a decent track record of hardware leaks. Kepler claims that the BoM (bill of materials) for the PS6 has jumped up by $200 since March of this year. Where the console cost $760 to manufacture, it will now cost $960. The <a href="https://www.tomsguide.com/gaming/playstation/major-sony-ps5-price-hike-just-hit-all-models-heres-what-youll-pay-now">PS5 Pro saw a similar price hike</a>, rising from $699 to $899 after two price increases.</p><p>Unfortunately, the PS6 could cost even more to manufacture. As <a href="https://wccftech.com/expert-warns-memory-prices-will-climb-up-to-50-per-quarter-with-no-relief-until-2028/" target="_blank">Wccftech</a> reports, an <a href="https://x.com/jukan05/status/2068895341706109191" target="_blank">X user named Jukan</a> posted a report from the banking firm Jefferies that claims to have spoken with a tech analyst about the <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">RAM crisis</a>. The expert predicts that RAM and SSD will see a 40% to 50% hike in Q3 2026 and another 30% to 40% hike in the final quarter of this year. If this happens, then the PS6’s cost will undoubtedly shoot beyond the $1,000 range.</p><p>Sony and other console manufacturers have typically sold systems at a loss to recoup their costs through software sales. <a href="https://www.videogameschronicle.com/news/sony-says-it-doesnt-plan-to-sell-hardware-at-significant-losses-but-is-monitoring-the-market-with-ps6-in-mind/" target="_blank">VGC</a> reports that during a Q&A session with Sony’s Game & Network Services division, one attendee asked if Sony would subsidize the cost of its next-gen hardware. Sony said the company doesn’t plan to sell hardware “at significant losses” but is “monitoring the market.”</p><p>Given all of these factors, it’s unrealistic to assume the PS6 will be south of $1,000 if things continue on their current trajectory. Indeed, if prices continue to skyrocket, a $1,000 asking price might be the best-case scenario. If that’s the case, then many folks will be priced out of next-gen consoles.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/playstation/ps6-wont-abandon-physical-games-claims-new-report">PS6 won’t abandon physical games, claims new report</a></li><li><a href="https://www.tomsguide.com/gaming/ps6-just-tipped-for-huge-specs-upgrade-to-take-on-gaming-pcs">PS6 just tipped for huge specs upgrade to take on gaming PCs</a></li><li><a href="https://www.tomsguide.com/gaming/playstation/sony-will-allegedly-launch-three-ps6-systems-including-two-consoles-and-a-handheld-claims-leaker">Sony will allegedly launch three PS6 systems</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I’m obsessed with my PS5 and these are the 9 Prime Day game deals I have my eye on, starting at just $9 ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/amazon-prime-day-2026-ps5-games-deals</link>
                                                                            <description>
                            <![CDATA[ I love playing video games on my PS5, and this Amazon Prime Day, I've found the best deals, whether you're looking to revisit a favorite or pick up a new one. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">4GUniVM5GneRxYYudVcWfd</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/znydGj3sLSUiWpVbHxdgPh-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 23 Jun 2026 18:47:24 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ nikita.achanta@futurenet.com (Nikita Achanta) ]]></author>                    <dc:creator><![CDATA[ Nikita Achanta ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oXuvixDz99SbZp9z8Uoor3.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nikita is a Senior Writer on the Reviews team at Tom&#039;s Guide. She is a lifelong gaming and photography enthusiast, especially interested in wildlife photography. Having worked as a Sub Editor and Writer for Canon EMEA, she’s a bit of a grammar nerd (and a supporter of the Oxford comma), and has also interviewed photographers from all over the world and working in different genres.&lt;/p&gt;&lt;p&gt;A holder of two master’s degrees, the most recent one being in Magazine Journalism from Cardiff University, Nikita’s work has appeared in several publications such as Motor Sport Magazine, NME, Marriott Bonvoy, The Independent, and Metro. Her favorite tech includes the PS5, the DJI Air 3S, and the Fujifilm X-T50. She&#039;s also a licensed drone pilot and cameras expert so you&#039;ll find her testing those nearly every week.&lt;/p&gt;&lt;p&gt;In her downtime, Nikita can usually be found sinking hours into RPGs on her PS5, flying a drone, out on a walk with a camera in hand, at a concert, watching F1, or planning her next tattoo. You can follow her photography account on Instagram&lt;a href=&quot;https://www.instagram.com/photos.bynikita/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt; here&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/znydGj3sLSUiWpVbHxdgPh-1280-80.jpg">
                                                            <media:credit><![CDATA[EA / Ubisoft / Capcom / Sandfall Interactive / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A selection of PS5 games]]></media:description>                                                            <media:text><![CDATA[A selection of PS5 games]]></media:text>
                                <media:title type="plain"><![CDATA[A selection of PS5 games]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/znydGj3sLSUiWpVbHxdgPh-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/gaming/playstation/ps5-slim">PS5 Slim</a> is one of the best gadgets I've ever bought with my own money, and I've spent thousands of hours playing my favorite games on it. I love revisiting the classics and I'm always looking to pick up a new one I've never heard of. But let's face it: PS5 games are expensive, and not everyone can afford to pay full price.</p><p>That's where <a href="https://www.tomsguide.com/live/news/prime-day-2026-handpicked-editor-recommended-deals-live">Amazon Prime Day sales</a> come in: they're a great time to grab a PS5 game without breaking the bank. As a lover of video games, I've handpicked my top deals. The cheapest game you can buy right now is <a href="https://www.amazon.com/Lost-Soul-Aside-PS5-PlayStation-5/dp/B0DX42RXMS/" target="_blank" rel="nofollow">Lost Soul Aside which is down to just $9 from $59 </a>— how could you say no to that? For football fans, <a href="https://www.amazon.com/EA-Sports-FC-26-Standard/dp/B0FH132GYR/" target="_blank" rel="nofollow">EA Sports FC 26 is 64% off right now</a>, and it's the ideal game to play during halftime as the FIFA World Cup gathers steam.</p><p>My top choice, though? Why, <a href="https://www.amazon.com/Clair-Obscur-Expedition-PS5-PlayStation-5/dp/B0DK6225DY/" target="_blank" rel="nofollow">Clair Obscur: Expedition 33, of course, which is available for $39 right now</a> ($33 would have been more fitting, but oh well). It's a game I can't shut up about and one I recommend every gamer needs to play at least once.</p><p>That's not all. There are plenty more deals to be taken advantage of, on sports, horror, RPG, and action-adventure games. So, without further ado, here are my top Prime Day PS5 game deals (so far).</p><h2 id="meet-your-ps5-games-deals-expert">Meet your PS5 games deals expert</h2><h2 class="article-body__section" id="section-quick-links"><span>Quick links</span></h2><ul><li><strong></strong><a href="https://www.amazon.com/primeday" target="_blank" rel="nofollow"><strong>Shop all Amazon Prime Day deals now</strong></a><strong></strong></li><li><strong>Lost Soul Aside: </strong><a href="https://www.amazon.com/Lost-Soul-Aside-PS5-PlayStation-5/dp/B0DX42RXMS/" target="_blank" rel="nofollow"><strong>was $59 now $9</strong></a><strong></strong></li><li><strong>EA Sports FC 26: </strong><a href="https://www.amazon.com/EA-SPORTS-FC-26-PlayStation-5/dp/B0FH132GYR/" target="_blank" rel="nofollow"><strong>was $69 now $24</strong></a><strong></strong></li><li><strong>Elden Ring: </strong><a href="https://www.amazon.com/Elden-Ring-PlayStation-5/dp/B09743F8P6/" target="_blank" rel="nofollow"><strong>was $49 now $19</strong></a><strong></strong></li><li><strong>Metal Gear Solid Δ Snake Eater: </strong><a href="https://www.amazon.com/METAL-GEAR-SOLID-TACTICAL-PlayStation-5/dp/B0D4RJGFDT/" target="_blank" rel="nofollow"><strong>was $49 now $24</strong></a><strong></strong></li><li><strong>Silent Hill 2: </strong><a href="https://www.amazon.com/Silent-Hill-2-PS5-PlayStation-5/dp/B0CMC3C3Z9/" target="_blank" rel="nofollow"><strong>was $39 now $19</strong></a><strong></strong></li><li><strong>Assassin's Creed Shadows: </strong><a href="https://www.amazon.com/Assassins-Creed-Shadows-Limited-Exclusive-PlayStation/dp/B0D47WTKPM/" target="_blank" rel="nofollow"><strong>was $50 now $29</strong></a><strong></strong></li><li><strong>Star Wars Outlaws: </strong><a href="https://www.amazon.com/Star-Wars-Outlaws-Limited-Exclusive-PlayStation/dp/B0D187PJHJ/" target="_blank" rel="nofollow"><strong>was $19 now $14</strong></a><strong></strong></li><li><strong>Clair Obscur: Expedition 33: </strong><a href="https://www.amazon.com/Clair-Obscur-Expedition-PS5-PlayStation-5/dp/B0DK6225DY/" target="_blank" rel="nofollow"><strong>was $49 now $39</strong></a><strong></strong></li><li><strong>Resident Evil Requiem:</strong><a href="https://www.amazon.com/Resident-Evil-Requiem-Amazon-Exclusive-PlayStation/dp/B0FY929QN1/" target="_blank" rel="nofollow"><strong> was $69 now $55</strong></a><strong></strong></li></ul><h2 class="article-body__section" id="section-best-prime-day-ps5-games-deals"><span>Best Prime Day PS5 games deals</span></h2><div class="product"><a data-dimension112="85bab94a-42e3-417d-9a12-ff94ec7132ec" data-action="Deal Block" data-label="Lost Soul Aside is a stylish action-RPG which follows the story of Kaser, a warrior entangled in a rebel group fighting a tyrannical empire. When a mysterious invasion called the Voidrax steals his sister's soul, he bonds with a dragon-like entity named Arena to save her and liberate humanity." data-dimension48="Lost Soul Aside is a stylish action-RPG which follows the story of Kaser, a warrior entangled in a rebel group fighting a tyrannical empire. When a mysterious invasion called the Voidrax steals his sister's soul, he bonds with a dragon-like entity named Arena to save her and liberate humanity." data-dimension25="$9" href="https://www.amazon.com/Lost-Soul-Aside-PS5-PlayStation-5/dp/B0DX42RXMS/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1204px;"><p class="vanilla-image-block" style="padding-top:124.58%;"><img id="YSgsNTgMVfmyRH9tioe37X" name="Lost Soul Aside deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YSgsNTgMVfmyRH9tioe37X.jpg" mos="" align="middle" fullscreen="" width="1204" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Lost Soul Aside is a stylish action-RPG which follows the story of Kaser, a warrior entangled in a rebel group fighting a tyrannical empire. When a mysterious invasion called the Voidrax steals his sister's soul, he bonds with a dragon-like entity named Arena to save her and liberate humanity.<a class="view-deal button" href="https://www.amazon.com/Lost-Soul-Aside-PS5-PlayStation-5/dp/B0DX42RXMS/" target="_blank" rel="nofollow" data-dimension112="85bab94a-42e3-417d-9a12-ff94ec7132ec" data-action="Deal Block" data-label="Lost Soul Aside is a stylish action-RPG which follows the story of Kaser, a warrior entangled in a rebel group fighting a tyrannical empire. When a mysterious invasion called the Voidrax steals his sister's soul, he bonds with a dragon-like entity named Arena to save her and liberate humanity." data-dimension48="Lost Soul Aside is a stylish action-RPG which follows the story of Kaser, a warrior entangled in a rebel group fighting a tyrannical empire. When a mysterious invasion called the Voidrax steals his sister's soul, he bonds with a dragon-like entity named Arena to save her and liberate humanity." data-dimension25="$9">View Deal</a></p></div><div class="product"><a data-dimension112="19325f9d-722b-42ee-9c72-d840914df326" data-action="Deal Block" data-label="EA Sports FC 26" data-dimension48="EA Sports FC 26" data-dimension25="$24" href="https://www.amazon.com/EA-SPORTS-FC-26-PlayStation-5/dp/B0FH132GYR/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1232px;"><p class="vanilla-image-block" style="padding-top:121.75%;"><img id="8NnQFqwYorjYS4SR66BWG8" name="EAFC26 deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/8NnQFqwYorjYS4SR66BWG8.jpg" mos="" align="middle" fullscreen="" width="1232" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>What better time to pick up <a href="https://www.tomsguide.com/gaming/ea-sports-fc-26-review" data-dimension112="19325f9d-722b-42ee-9c72-d840914df326" data-action="Deal Block" data-label="EA Sports FC 26" data-dimension48="EA Sports FC 26" data-dimension25="$24">EA Sports FC 26 </a>than during the FIFA World Cup, am I right? The latest installment in EA's popular soccer simulator  comes feature-complete with Ultimate Team, Career Mode and more. FC 26 also includes licenses for all the biggest soccer leagues around, including the Premier League.<a class="view-deal button" href="https://www.amazon.com/EA-SPORTS-FC-26-PlayStation-5/dp/B0FH132GYR/" target="_blank" rel="nofollow" data-dimension112="19325f9d-722b-42ee-9c72-d840914df326" data-action="Deal Block" data-label="EA Sports FC 26" data-dimension48="EA Sports FC 26" data-dimension25="$24">View Deal</a></p></div><div class="product"><a data-dimension112="eddb8630-2dc2-4d70-aea6-f625a6be436a" data-action="Deal Block" data-label="Elden Ring" data-dimension48="Elden Ring" data-dimension25="$19" href="https://www.amazon.com/Elden-Ring-PlayStation-5/dp/B09743F8P6/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="MbKNJXNrxvLH7LepfJuUAm" name="elden ring deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/MbKNJXNrxvLH7LepfJuUAm.png" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.tomsguide.com/reviews/elden-ring" data-dimension112="eddb8630-2dc2-4d70-aea6-f625a6be436a" data-action="Deal Block" data-label="Elden Ring" data-dimension48="Elden Ring" data-dimension25="$19">Elden Ring</a> is an open-world wonder, offering rewarding gameplay, a cohesive setting and gripping lore. Some of the open-world systems feel clunkier than they should, though, but that isn't a dealbreaker, especially at the low, low price of just $19.<a class="view-deal button" href="https://www.amazon.com/Elden-Ring-PlayStation-5/dp/B09743F8P6/" target="_blank" rel="nofollow" data-dimension112="eddb8630-2dc2-4d70-aea6-f625a6be436a" data-action="Deal Block" data-label="Elden Ring" data-dimension48="Elden Ring" data-dimension25="$19">View Deal</a></p></div><div class="product"><a data-dimension112="1c9c82d5-0a56-4a94-a831-07f481bcbec1" data-action="Deal Block" data-label="Metal Gear Solid Delta: Snake Eater" data-dimension48="Metal Gear Solid Delta: Snake Eater" data-dimension25="$24" href="https://www.amazon.com/METAL-GEAR-SOLID-TACTICAL-PlayStation-5/dp/B0D4RJGFDT/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1180px;"><p class="vanilla-image-block" style="padding-top:127.12%;"><img id="mXH3uuroBNsvrD4J4kvbA8" name="metal-gear-solid-delta-ps5-box" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/mXH3uuroBNsvrD4J4kvbA8.jpg" mos="" align="middle" fullscreen="" width="1180" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.tomsguide.com/gaming/metal-gear-solid-delta-snake-eater-review" data-dimension112="1c9c82d5-0a56-4a94-a831-07f481bcbec1" data-action="Deal Block" data-label="Metal Gear Solid Delta: Snake Eater" data-dimension48="Metal Gear Solid Delta: Snake Eater" data-dimension25="$24">Metal Gear Solid Delta: Snake Eater</a> is a masterful remake of this beloved classic. The updated graphics and modernized controls make it viable for modern gamers, but you still get the same basic experience of the original. Right now, this is the definitive way to experience Metal Gear Solid 3.<a class="view-deal button" href="https://www.amazon.com/METAL-GEAR-SOLID-TACTICAL-PlayStation-5/dp/B0D4RJGFDT/" target="_blank" rel="nofollow" data-dimension112="1c9c82d5-0a56-4a94-a831-07f481bcbec1" data-action="Deal Block" data-label="Metal Gear Solid Delta: Snake Eater" data-dimension48="Metal Gear Solid Delta: Snake Eater" data-dimension25="$24">View Deal</a></p></div><div class="product"><a data-dimension112="dbcef586-8c4c-49c0-852b-b143dc9219a5" data-action="Deal Block" data-label="Silent Hill 2" data-dimension48="Silent Hill 2" data-dimension25="$19" href="https://www.amazon.com/Silent-Hill-2-PS5-PlayStation-5/dp/B0CMC3C3Z9/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1137px;"><p class="vanilla-image-block" style="padding-top:131.93%;"><img id="7qqzgFNziQmswnQyqqRBEm" name="71E3B-85r1L._SL1500_" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/7qqzgFNziQmswnQyqqRBEm.jpg" mos="" align="middle" fullscreen="" width="1137" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>A loving remake of a true horror great, <a href="https://www.tomsguide.com/gaming/silent-hill-2-review" data-dimension112="dbcef586-8c4c-49c0-852b-b143dc9219a5" data-action="Deal Block" data-label="Silent Hill 2" data-dimension48="Silent Hill 2" data-dimension25="$19">Silent Hill 2</a> is creepy, a little too bloated and confusing, but hot dang does it feel good to shotgun monsters that look too X-rated for the “Terrifier” movies. It's a brutal, beautiful survival horror remake, and for just $19, it's a steal right now.<a class="view-deal button" href="https://www.amazon.com/Silent-Hill-2-PS5-PlayStation-5/dp/B0CMC3C3Z9/" target="_blank" rel="nofollow" data-dimension112="dbcef586-8c4c-49c0-852b-b143dc9219a5" data-action="Deal Block" data-label="Silent Hill 2" data-dimension48="Silent Hill 2" data-dimension25="$19">View Deal</a></p></div><div class="product"><a data-dimension112="091075f6-9225-457d-8383-919e7ce538b8" data-action="Deal Block" data-label="Assassin’s Creed Shadows" data-dimension48="Assassin’s Creed Shadows" data-dimension25="$29" href="https://www.amazon.com/Assassins-Creed-Shadows-Limited-Exclusive-PlayStation/dp/B0D47WTKPM/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1158px;"><p class="vanilla-image-block" style="padding-top:129.53%;"><img id="tEFopvifi8tQ9BfBHB9rUF" name="81yVcGESG9L._SL1500_" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/tEFopvifi8tQ9BfBHB9rUF.jpg" mos="" align="middle" fullscreen="" width="1158" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.tomsguide.com/gaming/assassins-creed-shadows-review" data-dimension112="091075f6-9225-457d-8383-919e7ce538b8" data-action="Deal Block" data-label="Assassin’s Creed Shadows" data-dimension48="Assassin’s Creed Shadows" data-dimension25="$29">Assassin’s Creed Shadows</a> delivers on its promise of bringing back classic stealth mechanics while introducing new ones and combining the best of the older and RPG titles. The detailed open-world of feudal Japan feels full of life with compelling playable and non-playable characters, and different fighting tactics enrich the combat.<a class="view-deal button" href="https://www.amazon.com/Assassins-Creed-Shadows-Limited-Exclusive-PlayStation/dp/B0D47WTKPM/" target="_blank" rel="nofollow" data-dimension112="091075f6-9225-457d-8383-919e7ce538b8" data-action="Deal Block" data-label="Assassin’s Creed Shadows" data-dimension48="Assassin’s Creed Shadows" data-dimension25="$29">View Deal</a></p></div><div class="product"><a data-dimension112="342f55ea-b223-4dec-a73a-0cb4fdb2650b" data-action="Deal Block" data-label="Star Wars Outlaws" data-dimension48="Star Wars Outlaws" data-dimension25="$14" href="https://www.amazon.com/Star-Wars-Outlaws-Limited-Exclusive-PlayStation/dp/B0D187PJHJ/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1172px;"><p class="vanilla-image-block" style="padding-top:127.99%;"><img id="7orWhqyGvCd2P6VXQEnLMm" name="star-wars-outlaws-ps5-na-box" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/7orWhqyGvCd2P6VXQEnLMm.jpg" mos="" align="middle" fullscreen="" width="1172" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.tomsguide.com/gaming/star-wars-outlaws-review-a-quintessential-outing-in-a-galaxy-far-far-away" data-dimension112="342f55ea-b223-4dec-a73a-0cb4fdb2650b" data-action="Deal Block" data-label="Star Wars Outlaws" data-dimension48="Star Wars Outlaws" data-dimension25="$14">Star Wars Outlaws</a> delivers a true Star Wars experience, featuring four total worlds teeming with expansive maps and various side quests for hours of unending fun. Space-based combat and general gunplay are solid with rare moments of stealth that can frustrate at times. If you didn't fancy it at launch, you might do now when it's available for $14.<a class="view-deal button" href="https://www.amazon.com/Star-Wars-Outlaws-Limited-Exclusive-PlayStation/dp/B0D187PJHJ/" target="_blank" rel="nofollow" data-dimension112="342f55ea-b223-4dec-a73a-0cb4fdb2650b" data-action="Deal Block" data-label="Star Wars Outlaws" data-dimension48="Star Wars Outlaws" data-dimension25="$14">View Deal</a></p></div><div class="product"><a data-dimension112="466a9e0c-a7df-42a1-a1cb-78d6638f73ae" data-action="Deal Block" data-label="Clair Obscur: Expedition 33" data-dimension48="Clair Obscur: Expedition 33" data-dimension25="$39" href="https://www.amazon.com/Clair-Obscur-Expedition-PS5-PlayStation-5/dp/B0DK6225DY/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:522px;"><p class="vanilla-image-block" style="padding-top:115.52%;"><img id="rT7AZpcNQnSsRCYbodpyCo" name="Clair Obscur Expedition 33" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/rT7AZpcNQnSsRCYbodpyCo.jpg" mos="" align="middle" fullscreen="" width="522" height="603" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.tomsguide.com/gaming/clair-obscur-expedition-33-review" data-dimension112="466a9e0c-a7df-42a1-a1cb-78d6638f73ae" data-action="Deal Block" data-label="Clair Obscur: Expedition 33" data-dimension48="Clair Obscur: Expedition 33" data-dimension25="$39">Clair Obscur: Expedition 33</a> is an addition to the turn-based RPG genre, one that boasts challenging, engaging combat mechanics and plays out in a distinct and utterly beautiful fantasy world. From start to finish, we were fascinated by the sights, sounds and tasks that lay ahead. If you love RPGs, it should be at the top of your list; we really can’t recommend it enough.<a class="view-deal button" href="https://www.amazon.com/Clair-Obscur-Expedition-PS5-PlayStation-5/dp/B0DK6225DY/" target="_blank" rel="nofollow" data-dimension112="466a9e0c-a7df-42a1-a1cb-78d6638f73ae" data-action="Deal Block" data-label="Clair Obscur: Expedition 33" data-dimension48="Clair Obscur: Expedition 33" data-dimension25="$39">View Deal</a></p></div><div class="product"><a data-dimension112="b4cb35ea-3bb2-41d9-a6d1-f2cda4ac354d" data-action="Deal Block" data-label="Resident Evil Requiem" data-dimension48="Resident Evil Requiem" data-dimension25="$55" href="https://www.amazon.com/Resident-Evil-Requiem-Amazon-Exclusive-PlayStation/dp/B0FY929QN1/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1298px;"><p class="vanilla-image-block" style="padding-top:115.56%;"><img id="t6iarbisuGMy5SzXoHtF9Q" name="resident-evil-requiem-ps5-na-box" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/t6iarbisuGMy5SzXoHtF9Q.jpg" mos="" align="middle" fullscreen="" width="1298" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.tomsguide.com/gaming/resident-evil-requiem-review" data-dimension112="b4cb35ea-3bb2-41d9-a6d1-f2cda4ac354d" data-action="Deal Block" data-label="Resident Evil Requiem" data-dimension48="Resident Evil Requiem" data-dimension25="$55">Resident Evil Requiem</a> combines elements from prior installments to deliver one of the strongest entries yet. Though it doesn’t take risks, its thrilling gameplay and stunning graphics keep you engaged from beginning to end.<a class="view-deal button" href="https://www.amazon.com/Resident-Evil-Requiem-Amazon-Exclusive-PlayStation/dp/B0FY929QN1/" target="_blank" rel="nofollow" data-dimension112="b4cb35ea-3bb2-41d9-a6d1-f2cda4ac354d" data-action="Deal Block" data-label="Resident Evil Requiem" data-dimension48="Resident Evil Requiem" data-dimension25="$55">View Deal</a></p></div><h3 class="article-body__section" id="section-we-re-tracking-all-the-best-prime-day-ps5-deals"><span>We're tracking all the best Prime Day PS5 deals</span></h3><div class="vizualizer-embed"><div class="tg-df-widget-host" data-widget-config="?search=video+games&min_discount_ratio=0.95&widget_title=Top+Deals+Handpicked+by+Our+Editors&widget_subtitle=Discover+the+best+discounts+currently+available%2C+curated+daily+by+the+Tom%27s+Guide+Savings+Squad.&bg_color=transparent" data-vizualizer-embed="true"></div>    <script>    /**     * Tom's Guide Deals Finder - Vanilla JS Encapsulated Engine     */    (function() {      // --- Freyr Analytics Adapter ---      function initAnalytics() {        window.dataLayer = window.dataLayer || [];        window.googletag = window.googletag || {};        window.googletag.cmd = window.googletag.cmd || [];        window.hawk = window.hawk || { analytics: { freyr: [] } };        window.hawk.analytics = window.hawk.analytics || { freyr: [] };        window.hawk.analytics.freyr = window.hawk.analytics.freyr || [];        window.freyr = window.freyr || { cmd: [] };        const scriptSrc = 'https://freyr.futurecdn.net/freyr.js';        const hostname = typeof window !== 'undefined' ? window.location.hostname : '';        const isTestEnv = typeof window.navigator !== 'undefined' && (window.navigator.webdriver || window.navigator.userAgent.includes('Headless'));        const shouldSendRealAnalytics = !isTestEnv && hostname && hostname !== 'localhost' && hostname !== '127.0.0.1' && !hostname.includes('run.app');        if (shouldSendRealAnalytics && !document.querySelector(`script[src="${scriptSrc}"]`)) {          const script = document.createElement('script');          script.src = scriptSrc;          script.async = true;          document.head.appendChild(script);        }      }      function storeEventForDebug(name, data) {        if (!window.hawk || !window.hawk.analytics || !window.hawk.analytics.freyr) return;        window.hawk.analytics.freyr.push({ name, data });        try {          if (typeof window !== 'undefined' && window.localStorage) {            window.localStorage.setItem("hawk", JSON.stringify(window.hawk));          }        } catch (e) {          // Ignore storage issues        }        try {          window.dispatchEvent(new CustomEvent("hawk-analytics-update"));        } catch (e) {}      }      function sendToFreyr(eventName, data) {        if (typeof window === 'undefined') return;        window.freyr = window.freyr || { cmd: [] };        window.freyr.cmd.push(() => {          if (window.freyr && window.freyr.pushAndUpdate) {            window.freyr.pushAndUpdate(eventName, data);          }        });      }      function sendEvent(event, skip = false) {        try {          storeEventForDebug(event.name, event.data);          if (!skip) {            sendToFreyr(event.name, event.data);          }        } catch (e) {          // Ensure tracking errors don't surface to the user        }      }      function getCookie(name) {        try {          const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));          return match ? match[2] : null;        } catch (e) {          return null;        }      }      function normalizeCurrency(symbol) {        const map = {          '£': 'GBP',          '$': 'USD',          'A$': 'AUD',          'CA$': 'CAD',          '€': 'EUR'        };        return map[symbol] || symbol;      }      function trackElementInteraction(props) {        sendEvent({          name: 'elementInteraction',          data: {            element: {              action: props.action || "click",              id: props.id || undefined,              class: props.class || undefined,              name: props.name || undefined,              text: props.text || undefined,              label: props.label || undefined,              container: props.container || undefined,              url: props.url || undefined,              articleId: props.articleId || undefined            }          }        });      }      function generateRevenueId(url, productName, merchantName, modelId) {        const str = `${window.location.href}|${productName}|${merchantName}|${modelId || ''}|${new Date().toDateString()}|tomsguide`;        let hash = 0;        for (let i = 0; i < str.length; i++) {          const char = str.charCodeAt(i);          hash = ((hash << 5) - hash) + char;          hash = hash & hash;        }        let numericStr = Math.abs(hash).toString();        while (numericStr.length < 19) {          numericStr += Math.floor(Math.random() * 10).toString();        }        return numericStr.substring(0, 19);      }      function rewriteAffiliateLink(url, territory, revenueId) {        if (!url) return url;        const t = (territory || 'gb').toLowerCase();        return url.replace(/hawk-custom-tracking/g, `tomsguide-${t}-${revenueId}`);      }      function trackHawkEvent(params) {        const { clickType, widgetId, productCategoryName, product, productsArray, zeroBasedProductIndexOrNull, totalDealsOrProducts, areaClicked, merchant, revenueId, isoCurrencyCode, queryName, widgetTypeName } = params;        const data = {          event: "hawkEvent",          category: "Affiliates",          affiliate: {            action: {              type: clickType,              id: widgetId,              event: clickType === "appeared" ? "viewed" : "Click from",              timestamp: Date.now()            },            component: {              flag: "Editor",              product: productCategoryName || "deals",              category: `Signal Deal Finder ${widgetTypeName || "Carousel"} widget`,              type: clickType === "appeared" ? "review" : "signal product",              label: queryName || (product ? (product.name || "") : ""),              index: zeroBasedProductIndexOrNull === null || zeroBasedProductIndexOrNull === undefined ? -1 : zeroBasedProductIndexOrNull,              linkCount: totalDealsOrProducts || 0,              blockLayout: "",              areaClicked: areaClicked || ""            }          },          products: productsArray || (product && merchant ? [            {              product: {                primary: {                  id: product.id || product.matchId || null,                  name: product.name,                  type: "deal",                  price: product.price,                  previousPrice: product.previousPrice || null,                  currency: isoCurrencyCode || "USD",                  preorder: false,                  labels: [],                  link: product.link,                  originalLink: product.originalLink || null,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: null,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: product.globalId || null,                  inStock: product.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: isoCurrencyCode || "USD"                }              },              merchant: {                id: merchant.id || null,                name: merchant.name,                url: merchant.url || null,                network: merchant.network || null              },              model: {                id: product.modelId || null,                brand: product.brand || null,                name: product.name,                parent: product.parent || null              }            }          ] : []),          reviews: [],          _clear: true,          "gtm.uniqueEventId": Date.now() % 10000        };        sendEvent({ name: 'hawkEvent', data });      }      function trackDealClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card" });      }      function trackViewSimilarClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Product Card View Similar" });      }      function trackPriceComparisonClick(params) {        trackHawkEvent({ ...params, clickType: "retailer", areaClicked: "Signal Price Comparison" });      }      function trackReviewClick(params) {        trackHawkEvent({ ...params, clickType: "review", areaClicked: "Signal Product Card Review Link" });      }      function trackShare(params) {        trackHawkEvent({ ...params, clickType: "share", areaClicked: "Signal Product Card Share" });      }      function trackDealsAppeared(widgetId, deals, revenueId, currency, queryName, widgetTypeName) {         if (!deals || deals.length === 0) return;                  const productsArray = deals.slice(0, 50).map((deal) => {            let voucherPct = null;            let rawPrice = parseFloat(deal.rawPrice) || parseFloat(deal.price) || null;            let rawMsrp = parseFloat(deal.rawMsrp) || parseFloat(deal.msrp) || null;            if (rawMsrp > rawPrice && rawPrice > 0) {              voucherPct = Math.round((1 - (rawPrice / rawMsrp)) * 100);            }            let numId = null;            if (deal.externalProductId && !isNaN(parseInt(deal.externalProductId))) {              numId = parseInt(deal.externalProductId);            } else if (deal.id && !isNaN(parseInt(deal.id))) {              numId = parseInt(deal.id);            } else {              numId = deal.matchId || null;            }            return {              product: {                primary: {                  id: numId,                  name: deal.productName || deal.title || "",                  type: "deal",                  price: rawPrice,                  previousPrice: rawMsrp,                  currency: currency || 'USD',                  preorder: false,                  labels: deal.modelBrand || deal.brand ? [                     { type: "brand", value: deal.modelBrand || deal.brand }                  ] : [],                  link: deal.url,                  originalLink: deal.url,                  revenueId: revenueId || null,                  startTime: null,                  endTime: null,                  voucherCode: null,                  voucherAudience: null,                  voucherPercentageSaving: voucherPct,                  voucherMoneySaving: null,                  voucherType: null,                  offerExclusive: false,                  offerScope: null,                  globalId: deal.productKey || null,                  inStock: deal.inStock !== false,                  contractProvider: null,                  contractMinutes: null,                  contractTexts: null,                  contractData: null,                  contractLength: null,                  contractMonthlyPrice: null,                  contractCurrency: currency || 'USD'                }              },              merchant: {                id: deal.merchantId ? parseInt(deal.merchantId) : null,                name: deal.merchant || "Retailer",                url: deal.merchantUrl || null,                network: deal.merchantNetwork || null              },              model: {                id: deal.modelId ? parseInt(deal.modelId) : null,                brand: deal.modelBrand || deal.brand || null,                name: deal.productName || deal.title || "",                parent: deal.modelParent || null              }            };         });                  trackHawkEvent({             clickType: "appeared",             widgetId: widgetId,             productCategoryName: "deals",             zeroBasedProductIndexOrNull: null,             totalDealsOrProducts: deals.length,             productsArray: productsArray,             queryName: queryName,             widgetTypeName: widgetTypeName         });      }      // 1. Setup Shadow DOM Sandbox      const currentScript = document.currentScript;      let hostContainer = null;      let template = null;            if (currentScript) {        let prev = currentScript.previousElementSibling;        while (prev) {          if (prev.tagName === 'TEMPLATE' && prev.classList.contains('tg-df-widget-template')) {            template = prev;          } else if (prev.tagName === 'DIV' && prev.classList.contains('tg-df-widget-host') && !prev.hasAttribute('data-initialized')) {            hostContainer = prev;            break;          }          prev = prev.previousElementSibling;        }      }            // Fallbacks in case script is deferred      if (!hostContainer) {        const hosts = document.querySelectorAll('.tg-df-widget-host:not([data-initialized])');        if (hosts.length > 0) hostContainer = hosts[0];      }            // Safely embedded template for CMS environments      const rawTemplate = `  \x3Cstyle>    /* --- Shadow DOM Base Reset --- */    *, *::before, *::after {      box-sizing: border-box;    }    img, picture, svg, video {      max-width: 100%;      height: auto;      display: block;    }    /*       1. Scoped CSS for Tom's Guide Deals Widget       All classes are prefixed with \`tg-df-\` to prevent CMS style leakage.    */    .tg-df-container {      container-type: inline-size;      container-name: tg-df;      --tg-df-blue: #1F69FF;      --tg-df-blue-hover: #004d8c;      --tg-df-text: #222222;      --tg-df-text-muted: #555555;      --tg-df-bg: #ffffff;      --tg-df-bg-secondary: #f4f4f4;      --tg-df-border: #e2e8f0;      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;      color: var(--tg-df-text);      background-color: transparent;       width: 100%;      max-width: 1200px;      margin: 0 auto;      padding-bottom: 24px;    }    .tg-df-container *, .tg-df-container *::before, .tg-df-container *::after {      margin: 0;      padding: 0;      box-sizing: border-box;    }    .tg-df-container img {      border: none;      margin: 0;      padding: 0;    }    .tg-df-container a {      text-decoration: none;      color: inherit;    }    /*       2. Search & Filter Bar    */    .tg-df-controls {      display: flex;      flex-direction: column;      align-items: center;      gap: 20px;      margin-bottom: 32px;      width: 100%;    }    .tg-df-top-bar {      display: flex;      width: 100%;      max-width: 760px;      gap: 12px;      align-items: center;    }    .tg-df-search-wrapper {      position: relative;      flex: 1;      width: 100%;      box-shadow: 0 8px 24px rgba(0,0,0,0.06);      border-radius: 40px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      z-index: 100;    }    .tg-df-autocomplete-dropdown {      position: absolute;      top: calc(100% + 4px);      left: 0;      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      max-height: 300px;      overflow-y: auto;      z-index: 200;      display: none;    }    .tg-df-autocomplete-dropdown.active {      display: block;    }    .tg-df-autocomplete-item {      padding: 12px 24px;      cursor: pointer;      font-size: 14px;      color: var(--tg-df-text);      transition: background 0.1s ease;    }    .tg-df-autocomplete-item:hover {      background: var(--tg-df-bg-secondary);    }    .tg-df-search-input {      width: 100%;      padding: 16px 64px 16px 24px;      font-size: 16px;      border: 2px solid transparent;      border-radius: 40px;      outline: none;      transition: border-color 0.2s ease, box-shadow 0.2s ease;      color: var(--tg-df-text);      background: transparent;    }    .tg-df-search-input:focus {      border-color: transparent;      box-shadow: 0 0 0 3px rgba(0, 108, 196, 0.15);    }    .tg-df-search-input::placeholder {      color: #999999;    }        .tg-df-search-btn {      position: absolute;      right: 8px;      top: 50%;      transform: translateY(-50%);      width: 40px;      height: 40px;      border-radius: 50%;      background: #222;      border: none;      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: background 0.2s ease;    }        .tg-df-search-btn:hover {      background: #000;    }    .tg-df-search-icon {      width: 16px;      height: 16px;      fill: #fff;    }    .tg-df-settings-wrapper {      position: relative;    }        .tg-df-settings-btn {      width: 48px;      height: 48px;      border-radius: 50%;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      box-shadow: 0 4px 12px rgba(0,0,0,0.04);      display: flex;      align-items: center;      justify-content: center;      cursor: pointer;      transition: all 0.2s ease;      color: var(--tg-df-text-muted);      flex-shrink: 0;    }    .tg-df-settings-btn:hover {      background: var(--tg-df-bg-secondary);      border-color: #0000ff;      color: var(--tg-df-text);    }    .tg-df-settings-btn svg {      width: 24px;      height: 24px;      fill: currentColor;    }    .tg-df-settings-dropdown {      position: absolute;      top: calc(100% + 8px);      right: 0;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 12px;      box-shadow: 0 8px 32px rgba(0,0,0,0.12);      width: 280px;      padding: 20px;      display: none;      z-index: 100;      flex-direction: column;      gap: 20px;    }    .tg-df-settings-dropdown.active {      display: flex;    }        .tg-df-settings-dropdown-backdrop {      display: none;      position: fixed;      inset: 0;      z-index: 99;    }        .tg-df-settings-dropdown-backdrop.active {      display: block;    }    .tg-df-setting-item {      display: flex;      flex-direction: column;      gap: 10px;    }    .tg-df-setting-label {      font-size: 11px;      font-weight: 700;      color: var(--tg-df-text-muted);      text-transform: uppercase;      letter-spacing: 0.5px;    }        .tg-df-region-select {        padding: 10px 12px;        border-radius: 8px;        border: 1px solid var(--tg-df-border);        font-size: 15px;        outline: none;        background: var(--tg-df-bg-secondary);        color: var(--tg-df-text);        cursor: pointer;        width: 100%;    }    .tg-df-toggle {        position: relative;        display: inline-block;        width: 44px;        height: 24px;        flex-shrink: 0;    }    .tg-df-toggle input {        opacity: 0;        width: 0;        height: 0;    }    .tg-df-slider {        position: absolute;        cursor: pointer;        top: 0; left: 0; right: 0; bottom: 0;        background-color: #ccc;        transition: .2s;        border-radius: 24px;    }    .tg-df-slider:before {        position: absolute;        content: "";        height: 18px;        width: 18px;        left: 3px;        bottom: 3px;        background-color: white;        transition: .2s;        border-radius: 50%;    }    .tg-df-toggle input:checked + .tg-df-slider {        background-color: #1F69FF;    }    .tg-df-toggle input:checked + .tg-df-slider:before {        transform: translateX(20px);    }    .tg-df-dl-row {        flex-direction: row;        align-items: center;        justify-content: space-between;    }    .tg-df-dl-row-text {        font-size: 14px;        font-weight: 600;        color: var(--tg-df-text);    }    .tg-df-dl-row-subtext {        font-size: 12px;        font-weight: 400;        line-height: 1.3;        color: var(--tg-df-text-muted);        margin-top: 4px;        display: block;    }    .tg-df-filters {      display: flex;      gap: 12px;      justify-content: center;      flex-wrap: wrap;    }    .tg-df-sort-wrapper {      position: relative;      display: flex;      align-items: center;    }        .tg-df-sort-icon {      position: absolute;      left: 14px;      width: 14px;      height: 14px;      fill: var(--tg-df-text-muted);      pointer-events: none;    }    .tg-df-sort-select, .tg-df-filter-select {      padding: 10px 36px 10px 38px;      font-size: 14px;      border: 1px solid var(--tg-df-border);      border-radius: 100px;      outline: none;      appearance: none;      background-color: var(--tg-df-bg-secondary);      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%23555555' d='M6 8L1 3h10z'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right 14px center;      color: var(--tg-df-text);      cursor: pointer;      font-weight: 500;      transition: all 0.2s ease;    }        .tg-df-price-input::-webkit-outer-spin-button,    .tg-df-price-input::-webkit-inner-spin-button {      -webkit-appearance: none;      margin: 0;    }    .tg-df-price-input {      -moz-appearance: textfield;    }    .tg-df-sort-select:hover, .tg-df-filter-select:hover {      background-color: #e2e8f0;    }    .tg-df-multiselect-container {      position: relative;    }        .tg-df-multiselect-trigger {      display: block;      background: #fff;      user-select: none;      width: 100%;      overflow: hidden;      white-space: nowrap;      text-overflow: ellipsis;    }        .tg-df-multiselect-dropdown {      display: none;      position: absolute;      top: calc(100% + 4px);      left: 0;      width: 100%;      min-width: 220px;      max-height: 300px;      overflow-y: auto;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);      z-index: 100;      padding: 8px 0;    }    .tg-df-multiselect-dropdown.active {      display: block;    }    .tg-df-ms-option {      padding: 8px 16px;      display: flex;      align-items: center;      gap: 8px;      cursor: pointer;      font-size: 14px;    }    .tg-df-ms-option:hover {      background-color: var(--tg-df-bg-secondary);    }        .tg-df-ms-option input {      cursor: pointer;      accent-color: #1f69ff;    }    .tg-df-sort-select:focus, .tg-df-filter-select:focus {      border-color: #0000ff;      box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.2);      background-color: var(--tg-df-bg);    }    /*       3. Deal Grid Layout    */    .tg-df-grid.tg-df-grid-auto {      padding-top: 24px;    }    .tg-df-grid, .tg-df-grid.layout-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));      gap: 10px;    }    .tg-df-grid.layout-row {      grid-template-columns: 1fr;      gap: 16px;    }        .tg-df-grid.layout-row .tg-df-card {      flex-direction: row;      align-items: stretch;      height: auto;      box-shadow: none;      border-bottom: 1px solid var(--tg-df-border);    }    .tg-df-grid.layout-row .tg-df-card:hover {      box-shadow: none;    }    .tg-df-grid.layout-row .tg-df-card-image-box {      width: 140px;      min-width: 140px;      aspect-ratio: 3/4;      border-right: none;      padding: 16px 16px 16px 32px;    }    .tg-df-grid.layout-row .tg-df-card-body {      padding: 16px;      justify-content: space-between;    }    .tg-df-grid.layout-row .tg-df-card-title {      font-size: 15px;      margin-bottom: 16px;    }    .tg-df-grid.layout-row .tg-df-card-stars { margin-bottom: 8px; }    .tg-df-grid.layout-row .tg-df-card-footer {      flex-direction: column;      align-items: flex-start;      gap: 0;    }    .tg-df-grid.layout-row .tg-df-card-merchant-pill {      margin-bottom: 4px;    }    .tg-df-grid.layout-row .tg-df-card-price-group {      margin-bottom: 8px;    }    .tg-df-grid.layout-row .tg-df-price-group {      width: auto;    }    .tg-df-grid.layout-row .tg-df-card-cta {      width: 100%;      max-width: 200px;      padding: 10px 24px;      font-size: 13px;      flex-shrink: 0;      text-align: center;      justify-content: center;    }    /*       4. Deal Card Design    */    .tg-df-card {      position: relative;      display: flex;      flex-direction: column;      background-color: #ffffff;      border-radius: 0;      overflow: hidden;      transition: transform 0.2s ease, box-shadow 0.2s ease;      text-decoration: none;      color: inherit;      height: 100%;      box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);      border: 1px solid var(--tg-df-border);    }    .tg-df-card:hover {      box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);    }    .tg-df-card-image-box {      width: 100%;      aspect-ratio: 3/4;      background-color: #f8f8f8;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;      padding: 32px;      flex: 0 0 auto;    }    .tg-df-card-image {      max-width: 100%;      max-height: 100%;      width: auto;      height: auto;      object-fit: contain;      mix-blend-mode: multiply; /* Helps white background images blend into secondary bg */      transition: transform 0.3s ease;    }    .tg-df-card:hover .tg-df-card-image {      transform: scale(1.05); /* Zoom in on hover */    }    .tg-df-card-discount-badge {      position: absolute;      top: 12px;      left: 12px;      background: #dc2626; /* Red */      color: #ffffff;      padding: 6px 8px;      font-size: 11px;      font-weight: 500;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      z-index: 10;    }        .tg-df-card-merchant-pill {      display: block;      padding: 0;      font-size: 11px;      font-weight: 600;      text-transform: uppercase;      letter-spacing: 0.5px;      border-radius: 0;      color: var(--tg-df-text-muted);      margin-bottom: 8px;      white-space: nowrap;      overflow: hidden;      text-overflow: ellipsis;    }    .tg-df-card-body {      padding: 16px;      display: flex;      flex-direction: column;      flex-grow: 1;      min-width: 0;    }    .tg-df-card-badges {      display: flex;      flex-wrap: wrap;      gap: 6px;      margin-bottom: 8px;    }    .tg-df-tag {      display: inline-flex;      align-items: center;      padding: 4px 6px;      font-size: 11px;      font-weight: 700;      text-transform: uppercase;      border-radius: 4px;      gap: 4px;    }    .tg-df-tag-prime {      background-color: #00A8E1;      color: #fff;    }    .tg-df-tag-coupons {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-coupons:hover {      background-color: #e2e8f0;    }        .tg-df-tag-outline {      background-color: #f1f5f9;      color: #334155;      border: 1px solid #cbd5e1;      cursor: pointer;      transition: background-color 0.2s;    }    .tg-df-tag-outline:hover {      background-color: #e2e8f0;    }        @keyframes tg-df-spin {      0% { transform: rotate(0deg); }      100% { transform: rotate(360deg); }    }    .tg-df-coupon-spinner {      border: 2px solid #e2e8f0;      border-top: 2px solid #3b82f6;      border-radius: 50%;      width: 14px;      height: 14px;      animation: tg-df-spin 1s linear infinite;      margin: 4px 8px;      display: inline-block;    }        /* Vouchers Modal */    .tg-df-modal-backdrop {      position: fixed;      top: 0; left: 0; right: 0; bottom: 0;      background: rgba(0,0,0,0.5);      z-index: 10000;      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      pointer-events: none;      transition: opacity 0.3s;    }    .tg-df-modal-backdrop.active {      opacity: 1;      pointer-events: auto;    }    .tg-df-modal {      background: #fff;      border-radius: 12px;      width: 90%;      max-width: 400px;      max-height: 80vh;      display: flex;      flex-direction: column;      box-shadow: 0 10px 40px rgba(0,0,0,0.2);      transform: translateY(20px);      transition: transform 0.3s;    }    .tg-df-modal-backdrop.active .tg-df-modal {      transform: translateY(0);    }    .tg-df-modal-header {      padding: 16px;      border-bottom: 1px solid #e2e8f0;      display: flex;      align-items: center;      justify-content: space-between;    }    .tg-df-modal-title {      font-size: 16px;      font-weight: 600;      margin: 0;    }    .tg-df-modal-close {      background: none;      border: none;      cursor: pointer;      padding: 4px;      color: #64748b;    }    .tg-df-modal-body {      padding: 16px;      overflow-y: auto;    }    .tg-df-voucher-item {      padding: 12px;      border: 1px dashed #cbd5e1;      border-radius: 8px;      margin-bottom: 10px;      background: #f8fafc;      display: flex;      align-items: center;      gap: 12px;      text-decoration: none;      color: inherit;      transition: background-color 0.2s, border-color 0.2s;    }    .tg-df-voucher-item:hover {      background: #f1f5f9;      border-color: #94a3b8;    }    .tg-df-voucher-item:last-child {      margin-bottom: 0;    }    .tg-df-voucher-logo {      width: 48px;      height: 48px;      object-fit: contain;      border-radius: 4px;      background: #fff;      border: 1px solid #e2e8f0;      flex-shrink: 0;    }    .tg-df-voucher-content {      flex: 1;      min-width: 0;    }    .tg-df-voucher-title {      font-size: 14px;      font-weight: 600;      margin: 0 0 4px 0;      line-height: 1.3;      color: #0f172a;    }    .tg-df-voucher-expiry {      font-size: 12px;      color: #64748b;      display: flex;      align-items: center;      gap: 4px;      margin-top: 6px;    }    .tg-df-voucher-code {      display: inline-flex;      align-items: center;      background: #f1f5f9;      border: 1px dashed #cbd5e1;      padding: 6px 10px;      font-family: monospace;      font-weight: 700;      font-size: 14px;      color: #0f172a;      border-radius: 4px;      margin-top: 8px;      cursor: pointer;      transition: all 0.2s ease;    }    .tg-df-voucher-code:hover {      background: #e2e8f0;      border-color: #94a3b8;    }    .tg-df-voucher-code.copied {      background: #ecfdf5;      border-color: #10b981;      color: #10b981;    }    .tg-df-voucher-cta {      display: inline-block;      margin-top: 8px;      font-size: 13px;      font-weight: 600;      color: #2563eb;      text-decoration: none;    }    .tg-df-card-title {      font-size: 15px;      font-weight: 400;      line-height: 1.4;      margin: 0 0 12px 0;      color: var(--tg-df-text);      display: -webkit-box;      -webkit-line-clamp: 2;      -webkit-box-orient: vertical;      overflow: hidden;    }    .tg-df-card-footer {      margin-top: auto;      display: flex;      flex-direction: column;      width: 100%;    }    .tg-df-card-price-group {      display: flex;      flex-direction: row;      align-items: center;      gap: 8px;      margin-bottom: 12px;    }    .tg-df-card-price {      font-size: 16px;      font-weight: 700;      color: #dc2626; /* Red price */      line-height: 1;    }        .tg-df-card-msrp {      font-size: 13px;      color: var(--tg-df-text-muted);      text-decoration: line-through;    }    .tg-df-container .tg-df-card-cta {      display: flex;      align-items: center;      justify-content: center;      width: 100%;      box-sizing: border-box;      background-color: #1f69ff;      color: #ffffff;      font-size: 12px;      font-weight: 700;      text-transform: uppercase;      letter-spacing: 0.5px;      padding: 12px 16px;      border-radius: 0;      border: none;      cursor: pointer;      transition: background-color 0.2s ease;    }    .tg-df-card:hover .tg-df-card-cta,    .tg-df-card-cta:hover {      background-color: #1555cc;    }    .tg-df-container .tg-df-card-cta.tg-df-cta-savings-squad {      background-color: #3c8d0d;    }    .tg-df-card:hover .tg-df-card-cta.tg-df-cta-savings-squad,    .tg-df-card-cta.tg-df-cta-savings-squad:hover {      background-color: #2b6509;    }    /*       5. State & Skeleton Styles    */    .tg-df-message {      grid-column: 1 / -1;      text-align: center;      padding: 48px 24px;      color: var(--tg-df-text-muted);      font-size: 16px;      background: var(--tg-df-bg);      border: 1px solid var(--tg-df-border);      border-radius: 8px;    }    @keyframes tg-df-shimmer {      0% { background-position: -200% 0; }      100% { background-position: 200% 0; }    }    .tg-df-skeleton {      background: linear-gradient(90deg, var(--tg-df-bg-secondary) 25%, #e2e8f0 50%, var(--tg-df-bg-secondary) 75%);      background-size: 200% 100%;      animation: tg-df-shimmer 1.5s infinite;      border-radius: 4px;    }    .tg-df-skeleton-img {      width: 100%;      height: 100%;      position: absolute;      top: 0; left: 0;    }        .tg-df-skeleton-text {      height: 16px;      margin-bottom: 8px;      width: 100%;    }    .tg-df-skeleton-text.short { width: 40%; }    .tg-df-skeleton-text.title { height: 20px; margin-bottom: 16px; }    /* Editor Floating Bar & Elements */    .tg-df-editor-bar {      position: sticky;      top: 0;      z-index: 1000;      background: #111827;      color: #fff;      padding: 12px 16px;      border-radius: 8px;      margin-bottom: 16px;      display: flex;      align-items: center;      justify-content: space-between;      box-shadow: 0 4px 12px rgba(0,0,0,0.15);    }    .tg-df-editor-bar-text {      font-weight: 600;      font-size: 14px;    }    .tg-df-editor-copy-btn {      background: #10b981;      color: #fff;      padding: 6px 16px;      border: none;      border-radius: 4px;      font-weight: 600;      cursor: pointer;      display: flex;      align-items: center;      font-size: 13px;    }    .tg-df-editor-copy-btn:hover { background: #059669; }        .tg-df-deal-checkbox {      position: absolute;      top: 12px;      right: 12px;      z-index: 10;      width: 20px;      height: 20px;      cursor: pointer;      pointer-events: auto;    }    /*       6. Mobile List View (Stacks into a cleaner horizontal row/list)    */    @container tg-df (max-width: 599px) {      .tg-df-controls {        padding: 0 16px;      }            .tg-df-top-bar {        width: 100%;      }            .tg-df-settings-dropdown {        position: fixed;        top: auto;        bottom: 0;        left: 0;        right: 0;        width: 100%;        border-radius: 20px 20px 0 0;        padding: 24px;        box-shadow: 0 -8px 32px rgba(0,0,0,0.15);        z-index: 1000;        border: none;        border-top: 1px solid var(--tg-df-border);      }            .tg-df-settings-dropdown-backdrop.active {        background: rgba(0,0,0,0.4);      }            .tg-df-search-wrapper {        box-shadow: 0 0 16px rgba(0,0,0,0.08);      }            .tg-df-filters {        width: calc(100% + 32px);        margin: 0 -16px;        padding: 0 16px 4px 16px;        display: flex;        justify-content: flex-start;        gap: 8px;        flex-wrap: nowrap;        overflow-x: auto;        -webkit-overflow-scrolling: touch;        scrollbar-width: none;      }      .tg-df-filters::after {        content: "";        display: block;        flex: 0 0 8px;      }      .tg-df-filters::-webkit-scrollbar {        display: none;      }            .tg-df-sort-wrapper {        flex: 0 0 max(42%, 130px);        min-width: 0;      }      .tg-df-sort-wrapper.tg-df-price-range-wrapper {        flex: 0 0 auto;        min-width: max-content;      }            .tg-df-sort-select, .tg-df-filter-select {        width: 100%;        text-align: left;        padding: 10px 24px 10px 32px;        background-position: right 8px center;        text-overflow: ellipsis;        white-space: nowrap;        overflow: hidden;      }      .tg-df-sort-icon {        left: 10px;      }      .tg-df-grid:not(.layout-grid):not(.layout-row),      .tg-df-grid.layout-row {        grid-template-columns: 1fr;        gap: 16px;      }            .tg-df-grid.tg-df-grid-auto {        padding-top: 24px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card,      .tg-df-grid.layout-row .tg-df-card {        flex-direction: row;        align-items: stretch;        height: auto;        box-shadow: none; /* simple line on mobile if preferred, or keep */        border-bottom: 1px solid var(--tg-df-border);      }      .tg-df-grid.tg-df-grid-auto .tg-df-card:hover,      .tg-df-grid.layout-row .tg-df-card:hover {        box-shadow: none;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-image-box,      .tg-df-grid.layout-row .tg-df-card-image-box {        width: 120px;        min-width: 120px;        aspect-ratio: 3/4;        border-right: none;        padding: 12px;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-body,      .tg-df-grid.layout-row .tg-df-card-body {        padding: 12px;        justify-content: space-between;      }      .tg-df-grid.tg-df-grid-auto .tg-df-card-title,      .tg-df-grid.layout-row .tg-df-card-title {        font-size: 14px;        margin-bottom: 12px;        -webkit-line-clamp: 3;      }      /* Single column mobile grid override */      .tg-df-grid.layout-grid {        grid-template-columns: 1fr;        gap: 16px;      }      .tg-df-grid.layout-grid .tg-df-card-image-box {        padding: 12px;      }      .tg-df-grid.layout-grid .tg-df-card-body {        padding: 10px;      }      .tg-df-grid.layout-grid .tg-df-card-title {        font-size: 13px;        -webkit-line-clamp: 3;        margin-bottom: 8px;      }      .tg-df-grid.layout-grid .tg-df-card-price {        font-size: 14px;      }            .tg-df-card-footer {        flex-direction: column;        align-items: stretch;        gap: 0;        width: 100%;        min-width: 0;      }      .tg-df-card-merchant-pill {        margin-bottom: 4px;      }      .tg-df-card-price-group {        flex: 1 1 auto;        margin-bottom: 8px;      }      .tg-df-card-price {        font-size: 16px;      }      .tg-df-card-msrp {        display: block;       }      .tg-df-grid.layout-row .tg-df-card-cta,      .tg-df-container .tg-df-card-cta {        width: 100%;        max-width: none;        min-width: 0;        box-sizing: border-box;        padding: 8px 16px;        font-size: 12px;        flex: 0 0 auto;        text-align: center;        white-space: normal;        line-height: 1.2;      }    }    .tg-df-container.is-carousel {      min-height: 760px;      background-color: #E7F0FF;      padding: 0 0 24px 0;      border-radius: 24px;    }    .tg-df-container.is-carousel.hide-header-details {      min-height: 480px;    }    /*       7. Carousel View Mode    */    .tg-df-container .tg-df-carousel-host {      /* Layout is now handled by container wrapper */    }    .tg-df-container .tg-df-carousel-eyebrow {      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      padding: 24px 16px 0 16px;      display: none;    }    .tg-df-container .tg-df-carousel-query-title {      color: #011535;      font-size: 28px;      font-weight: 600;      padding: 0 16px 24px 16px;      line-height: 1.2;      display: none;    }    .tg-df-container .tg-df-carousel-blue-box {      background-color: transparent;      border-radius: 0;      padding: 24px 24px 0 24px;      margin: 0;      color: #1F69FF;          position: relative;      overflow: hidden;    }    .tg-df-container .tg-df-carousel-bg-circle-1 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-2 {      display: none;    }    .tg-df-container .tg-df-carousel-bg-circle-3 {      display: none;    }    .tg-df-container .tg-df-carousel-box-content {      position: relative;      z-index: 10;    }    .tg-df-container .tg-df-carousel-box-eyebrow {      background-color: transparent;      color: #1F69FF;      font-weight: 700;      font-size: 14px;      text-transform: uppercase;      letter-spacing: 1px;      display: inline-block;      padding: 0;      border-radius: 0;    }    .tg-df-container .tg-df-carousel-box-title {      font-size: 28px;      font-weight: 600;      line-height: 1.2;      margin-top: 8px;      color: #1e293b;    }    .tg-df-container .tg-df-countdown-wrapper {      position: absolute;      top: 0;      right: 0;      display: flex;      flex-direction: column;      align-items: flex-end;      gap: 12px;      transform: scale(0.67);      transform-origin: top right;    }    .tg-df-container .tg-df-countdown-title {      font-size: 16px;      text-align: center;      width: 100%;      font-weight: 600;      color: #011535;      margin: 0;    }    .tg-df-container .tg-df-countdown-blocks {      display: flex;      gap: 16px;    }    .tg-df-container .tg-df-countdown-item {      display: flex;      flex-direction: column;      align-items: center;      gap: 4px;    }    .tg-df-container .tg-df-countdown-box {      width: 59px;      height: 59px;      background: #03FE9E;      border-radius: 15px;      display: flex;      align-items: center;      justify-content: center;    }    .tg-df-container .tg-df-countdown-num {      font-family: 'Inter', sans-serif;      font-weight: 700;      font-size: 20px;      line-height: normal;      color: #011535;    }    .tg-df-container .tg-df-countdown-label {      font-family: 'Inter', sans-serif;      font-weight: 500;      font-size: 16px;      line-height: normal;      color: #1e293b;      text-transform: uppercase;    }    .tg-df-container .tg-df-carousel-box-subtitle {      font-size: 16px;      margin-top: 8px;      font-weight: 300;      color: #1e293b;      line-height: 24px;    }    .tg-df-container .tg-df-carousel-roundels-wrapper {      position: relative;      margin-top: 24px;      margin-left: -24px;      margin-right: -24px;    }    .tg-df-container .tg-df-carousel-roundels {      display: flex;      gap: 16px;      overflow-x: auto;            scrollbar-width: none;      padding-top: 12px;      padding-bottom: 24px;      padding-left: 24px;      padding-right: 24px;      margin-left: 0;      margin-right: 0;    }        .tg-df-container .tg-df-carousel-scroll-left,    .tg-df-container .tg-df-carousel-scroll-right {      position: absolute;      top: 50%;      transform: translateY(-50%);      height: 36px;      width: 36px;      display: flex;      align-items: center;      justify-content: center;      border-radius: 50%;      background-color: #ffffff;      border: 1px solid #e2e8f0;      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);      color: #1F69FF;      cursor: pointer;      transition: all 0.2s;      margin-top: -4px;      z-index: 20;    }    .tg-df-container .tg-df-carousel-scroll-left { left: 8px; }    .tg-df-container .tg-df-carousel-scroll-right { right: 8px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left { left: 0px; }    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right { right: 0px; }    .tg-df-carousel-filters-outer { margin-left: -24px; margin-right: -24px; padding-left: 24px; padding-right: 24px; }    @container tg-df (max-width: 599px) { .tg-df-carousel-filters-outer { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; } }        .tg-df-container .tg-df-carousel-scroll-left:hover,    .tg-df-container .tg-df-carousel-scroll-right:hover {      background-color: #f8fafc;      border-color: #cbd5e1;    }        .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-left,    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right,    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-left,    .tg-df-carousel-filters-outer .tg-df-carousel-scroll-right {      background-color: rgba(255, 255, 255, 0.4);      border: none;      box-shadow: none;      backdrop-filter: blur(4px);      -webkit-backdrop-filter: blur(4px);    }    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-left { left: 0; }    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right { right: 0; }    .tg-df-grid-wrapper .tg-df-carousel-scroll-left { left: 0; }    .tg-df-grid-wrapper .tg-df-carousel-scroll-right { right: 0; }        .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-left:hover,    .tg-df-carousel-roundels-wrapper .tg-df-carousel-scroll-right:hover {      background-color: rgba(255, 255, 255, 0.6);      border: none;    }    .tg-df-container .tg-df-carousel-roundels::-webkit-scrollbar {      display: none;    }    .tg-df-container .tg-df-carousel-roundels::after {      content: "";      flex: 0 0 32px;    }    .tg-df-container .tg-df-roundel {      display: flex;      flex-direction: column;      align-items: center;      gap: 8px;      cursor: pointer;      min-width: 120px;      flex-shrink: 0;    }    .tg-df-container .tg-df-roundel-img-box {      width: 120px;      height: 120px;      border-radius: 50%;      background: white;      display: flex;      align-items: center;      justify-content: center;      overflow: hidden;      box-shadow: 0px 3px 14px 0px rgba(30, 41, 59, 0.08);      transition: box-shadow 0.2s;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-img-box {      box-shadow: 0 0 0 2px #E7F0FF, 0 0 0 4px #1F69FF;    }    .tg-df-container .tg-df-roundel:hover .tg-df-roundel-img-box img {      transform: scale(1.08);    }    .tg-df-container .tg-df-roundel-img-box img {      width: 100%;      height: 100%;      object-fit: contain;      padding: 10px;      box-sizing: border-box;      transition: transform 0.3s ease;    }    .tg-df-container .tg-df-roundel-label {      font-size: 13px;      font-weight: 400;      color: #1e293b;      text-align: center;      transition: font-weight 0.2s;    }    .tg-df-container .tg-df-roundel.active .tg-df-roundel-label {      font-weight: 700;    }    .tg-df-container .tg-df-carousel-filters-label {      font-size: 16px;      font-weight: 400;      color: #1e293b;      white-space: nowrap;      margin-right: 4px;    }    .tg-df-container .tg-df-carousel-filters-wrap {      display: flex;      align-items: center;      flex-wrap: nowrap;      gap: 8px;      margin-top: 8px;      overflow-x: auto;      scrollbar-width: none;      -webkit-overflow-scrolling: touch;      padding-bottom: 8px;      margin-left: -24px;      margin-right: -24px;      padding-left: 24px;      padding-right: 24px;    }    .tg-df-container .tg-df-carousel-filters-wrap::-webkit-scrollbar {      display: none;    }        .tg-df-container .tg-df-carousel-filter-btn img,    .tg-df-container .tg-df-carousel-filter-btn picture {      height: 20px;      width: 20px;      object-fit: contain;      object-position: center;      display: inline-flex;      align-items: center;      justify-content: center;      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn picture img {      margin-right: 0;      height: 100%;      width: 100%;    }    .tg-df-container .tg-df-carousel-filter-btn img.active-img,    .tg-df-container .tg-df-carousel-filter-btn picture:has(.active-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.inactive-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.inactive-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.inactive-img) {      display: none;    }    .tg-df-container .tg-df-carousel-filter-btn:hover img.active-img,    .tg-df-container .tg-df-carousel-filter-btn.active img.active-img,    .tg-df-container .tg-df-carousel-filter-btn:hover picture:has(.active-img),    .tg-df-container .tg-df-carousel-filter-btn.active picture:has(.active-img) {      display: inline-flex;    }    .tg-df-container .tg-df-carousel-filter-btn {      background: #ffffff;      border: 2px solid #1e293b;      color: #1e293b;      border-radius: 24px;      padding: 6px 16px;      font-size: 14px;      font-weight: 600;      cursor: pointer;      transition: all 0.2s;      flex-shrink: 0;      white-space: nowrap;      display: inline-flex;      align-items: center;      justify-content: center;      min-height: 36px;      box-sizing: border-box;    }    .tg-df-container .tg-df-carousel-filter-btn svg {      margin-right: 6px;    }    .tg-df-container .tg-df-carousel-filter-btn:hover {      background: #1e293b;      color: white;      border-color: #1e293b;    }    .tg-df-container .tg-df-carousel-filter-btn.active {      background: #1e293b;      color: white;      border-color: #1e293b;    }        .tg-df-grid.carousel-compact {      display: flex;      flex-wrap: nowrap;      overflow-x: auto;      gap: 16px;      padding: 16px 24px;      align-items: stretch;      scrollbar-width: none;    }    .tg-df-grid.carousel-compact::after {      content: "";      flex: 0 0 32px;    }    .tg-df-grid-wrapper {      position: relative;    }    .tg-df-grid.carousel-compact::-webkit-scrollbar {      display: none;    }    .tg-df-grid.carousel-compact .tg-df-load-more-card {      flex: 0 0 auto;      width: 100px;      border-radius: 15px;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      border: 2px solid #1e293b;      background: white;      color: #1e293b;      display: flex;      flex-direction: column;      justify-content: center;      align-items: center;      font-weight: 600;      font-size: 14px;      cursor: pointer;      padding: 16px;      text-align: center;      transition: all 0.2s;    }    .tg-df-grid.carousel-compact .tg-df-load-more-card:hover {      background: #1e293b;      color: white;    }    .tg-df-grid.carousel-compact .tg-df-card {      flex: 0 0 auto;      width: 200px;      min-height: auto;      height: auto;      display: flex;      flex-direction: column;      border-radius: 15px;      border: none;      box-shadow: 0 0 16px rgba(0,0,0,0.08);      overflow: visible;    }    .tg-df-grid.carousel-compact .tg-df-card-image-box {      padding: 12px;      background-color: transparent;      border-radius: 15px 15px 0 0;      height: 130px;    }    .tg-df-grid.carousel-compact .tg-df-card-image {      mix-blend-mode: normal;    }    .tg-df-grid.carousel-compact .tg-df-card-discount-badge {      border-radius: 0;      top: 0px;      left: 0px;      padding: 4px 8px;      font-size: 11px;    }    .tg-df-grid.carousel-compact .tg-df-card-body {      padding: 8px 12px 12px 12px;    }    .tg-df-grid.carousel-compact .tg-df-card-title {      font-size: 14px;      font-weight: 400;      -webkit-line-clamp: 2;      margin-bottom: 8px;      color: #011535;    }    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):not(:has(.tg-df-tag-prime)):not(:has(.tg-df-coupon-wrapper:not([style*="none"]))) > .tg-df-card-title,    .tg-df-grid.carousel-compact .tg-df-card-body:not(:has(.tg-df-card-stars)):has(> .tg-df-card-title:first-child) > .tg-df-card-title {      -webkit-line-clamp: 3;    }    .tg-df-grid.carousel-compact .tg-df-card-cta {      border-radius: 5px;      padding: 8px 10px;      margin-top: 4px;      background-color: #1F69FF;    }    .tg-df-grid.carousel-compact .tg-df-card-price-group {      margin-bottom: 2px;    }    .tg-df-grid.carousel-compact .tg-df-card-merchant-pill {      margin-bottom: 2px;    }    @container tg-df (max-width: 599px) {      .tg-df-container .tg-df-carousel-blue-box-title {        font-size: 24px;      }      .tg-df-container .tg-df-countdown-title {        display: none;      }      .tg-df-container .tg-df-countdown-wrapper {        position: absolute;        top: 0;        right: 0;        align-items: flex-end;        transform: scale(0.45);        transform-origin: top right;      }      .tg-df-container .tg-df-roundel {        min-width: 88px;      }      .tg-df-container .tg-df-roundel-img-box {        width: 88px;        height: 88px;      }    }    /* REPLICA BLOCK STYLES */    .tg-df-grid.layout-replica-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 20px; }    .tg-df-grid.layout-replica-1 { grid-template-columns: 1fr !important; gap: 20px; }        .tg-df-container .hawk-deal-widget-container { border-bottom: 1px solid #e5e7eb; display: flex; flex-direction: column; margin: 0; padding: 20px 0; box-sizing: border-box; font-family: inherit; }    .tg-df-container .hawk-deal-widget-wrap { display: flex; flex-direction: row; align-items: flex-start; width: 100%; gap: 24px; }    .tg-df-container .hawk-deal-widget-image-container { display: flex; flex-shrink: 0; justify-content: center; width: 160px; height: 160px; align-items: center; background: white; margin-bottom: 0px; }    .tg-df-container .hawk-deal-widget-title-product-title { color: #111827; font-size: 18px; font-weight: 700; line-height: 1.4; display: inline; }    .tg-df-container .hawk-deal-widget-title-price { font-size: 18px; font-weight: 700; line-height: 1.4; white-space: nowrap; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-price-now { font-weight: 700; }    .tg-df-container .hawk-deal-widget-title-retailer-price:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-title-retailer { font-size: 18px; font-weight: 700; line-height: 1.4; color: #2563eb; }    .tg-df-container .hawk-deal-widget-title-was-price { color: #dc2626; font-size: 16px; font-weight: 500; line-height: 1.4; text-decoration: line-through; white-space: nowrap; margin-left: 8px; margin-right: 8px; }    .tg-df-container .hawk-deal-widget-text-body-container { position: relative; width: 100%; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-text-body-main { font-size: 16px; width: 100%; margin-bottom: 12px; }    .tg-df-container .hawk-deal-widget-text-body-description { display: block; font-size: 15px; margin-top: 12px; color: #4b5563; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-body-description p { margin: 0; line-height: 1.6; }    .tg-df-container .hawk-deal-widget-text-cta-container { display: flex; flex-direction: column; gap: 12px; width: 100%; flex: 1; min-width: 0; box-sizing: border-box; }    .tg-df-container .hawk-deal-widget-footer { display: flex; justify-content: flex-end; width: 100%; margin-top: auto; }    .tg-df-container .hawk-deal-widget-button-wrapper { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; width: 100%; }    .tg-df-container .hawk-deal-widget-preferred-partner-wrapper { display: flex; flex-direction: row; }        @container tg-df (min-width: 600px) {      .tg-df-mobile-only { display: none !important; }    }    @container tg-df (max-width: 599px) {      .tg-df-desktop-only { display: none !important; }      .tg-df-grid.layout-replica-2 { grid-template-columns: 1fr !important; }      .tg-df-grid.savings-squad-cards { grid-template-columns: 1fr !important; display: flex; flex-direction: column; }    }    .tg-df-grid.savings-squad-cards .tg-df-card-title {      -webkit-line-clamp: unset !important;      display: block !important;      overflow: visible !important;    }    @container tg-df (max-width: 500px) {      .tg-df-container .hawk-deal-widget-wrap { display: block; }      .tg-df-container .hawk-deal-widget-image-container { display: block; float: left; margin: 0 16px 8px 0; width: 120px; max-width: 120px; height: auto; align-items: normal; justify-content: normal; }      .tg-df-container .hawk-deal-widget-text-cta-container { display: block; text-align: left; }      .tg-df-container .hawk-deal-widget-footer { display: block; margin-top: 16px; clear: both; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-deal-widget-button-wrapper .hawk-deal-widget-preferred-partner-wrapper { display: block; width: 100%; }      .tg-df-container .hawk-affiliate-link-deal-button { box-sizing: border-box !important; display: flex !important; max-width: none !important; width: 100% !important; margin: 0 !important; }    }        .tg-df-container .hawk-affiliate-link-deal-button {       align-items: center; background-color: #5aaf0b; box-sizing: border-box; color: #ffffff !important; display: flex; font-size: 14px; font-weight: 700; justify-content: center; letter-spacing: 0.5px; line-height: 1; min-width: 160px; padding: 14px 24px; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; word-break: normal; border-radius: 4px; border: 0; transition: background-color 0.2s;     }    .tg-df-container .hawk-affiliate-link-deal-button:hover { background-color: #4a9109; text-decoration: none; }    .tg-df-container .hawk-lazy-image-deal-widget { display: block; height: auto; margin: auto; max-height: 160px; max-width: 100%; mix-blend-mode: multiply; object-fit: contain; }    .tg-df-container .hawk-deal-widget-text-cta-container a { color: #2563eb; text-decoration: none; display: inline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover { text-decoration: underline; }    .tg-df-container .hawk-deal-widget-text-cta-container a:has(.hawk-deal-widget-title-product-title) { color: #111827; }    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-product-title,    .tg-df-container .hawk-deal-widget-text-cta-container a:hover .hawk-deal-widget-title-retailer-price { text-decoration: underline; }  \x3C/style>  \x3C!-- Widget Container --\x3E  \x3Cdiv class="tg-df-container" id="signal-deals-finder-root">    \x3C!-- Editor Floating Bar --\x3E    \x3Cdiv class="tg-df-editor-bar" id="tg-df-editor-bar" style="display:none;">      \x3Cdiv class="tg-df-editor-bar-text" style="display: flex; align-items: center;">        \x3Cspan id="tg-df-selected-count">0\x3C/span>\x26nbsp;Deals Selected        \x3Cbutton class="tg-df-editor-clear-btn" id="tg-df-editor-clear" type="button" style="margin-left: 12px; font-size: 13px; color: #9ca3af; background: none; border: none; cursor: pointer; text-decoration: underline;">Clear All\x3C/button>      \x3C/div>      \x3Cbutton class="tg-df-editor-copy-btn" id="tg-df-editor-copy" type="button">        \x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">\x3C/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">\x3C/path>\x3C/svg>        Copy to CMS      \x3C/button>    \x3C/div>    \x3Cdiv class="tg-df-carousel-host" id="tg-df-carousel-host" style="display: none;">      \x3Cdiv class="tg-df-carousel-eyebrow">DEAL FINDER\x3C/div>      \x3Cdiv class="tg-df-carousel-query-title" id="tg-df-carousel-title-label">Best Deals\x3C/div>            \x3Cdiv class="tg-df-carousel-blue-box">        \x3Cdiv class="tg-df-carousel-bg-circle-1" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-2" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-bg-circle-3" aria-hidden="true">\x26nbsp;\x3C/div>        \x3Cdiv class="tg-df-carousel-box-content">          \x3Cdiv class="tg-df-countdown-wrapper" id="tg-df-countdown-wrapper" style="display:none;">            \x3Cdiv class="tg-df-countdown-title" id="tg-df-countdown-title">Prime Day starts in\x3C/div>            \x3Cdiv class="tg-df-countdown-blocks">              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-days">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">DAYS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-hrs">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">HRS\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-min">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">MIN\x3C/div>\x3C/div>              \x3Cdiv class="tg-df-countdown-item">\x3Cdiv class="tg-df-countdown-box">\x3Cdiv class="tg-df-countdown-num" id="tg-df-cd-sec">0\x3C/div>\x3C/div>\x3Cdiv class="tg-df-countdown-label">SEC\x3C/div>\x3C/div>            \x3C/div>          \x3C/div>          \x3Cdiv class="tg-df-carousel-box-eyebrow">DEAL FINDER\x3C/div>          \x3Cdiv class="tg-df-carousel-box-title">Find Deals Fast\x3C/div>          \x3Cdiv class="tg-df-carousel-box-subtitle">The latest deals from the biggest retailers, all in one place\x3C/div>                    \x3Cdiv class="tg-df-carousel-roundels-wrapper">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-roundels">            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>            \x3Cdiv class="tg-df-roundel tg-df-roundel-skeleton">\x3Cdiv class="tg-df-roundel-img-box tg-df-skeleton">\x3C/div>\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="margin: 4px auto 0 auto; height: 13px; width: 48px;">\x3C/div>\x3C/div>          \x3C/div>          \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" onclick="this.parentElement.querySelector('.tg-df-carousel-roundels').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-carousel-filters-outer" style="position: relative;">          \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>          \x3Cdiv class="tg-df-carousel-filters-wrap">                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="0">All\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_lightning">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-ot="amazon_prime">              \x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>            \x3Cbutton class="tg-df-carousel-filter-btn" data-d="10">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 10% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="15">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 15% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-d="25">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>            Min 25% off\x3C/button>                      \x3Cbutton class="tg-df-carousel-filter-btn" data-pr="under50">              \x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>            Under $50\x3C/button>        \x3C/div>        \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('.tg-df-carousel-filters-wrap').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3C/div>    \x3C/div>    \x3C/div>      \x3C!-- Search & Filter Controls --\x3E    \x3Cdiv class="tg-df-controls" id="tg-df-controls" style="display:flex;">      \x3Cdiv class="tg-df-top-bar">        \x3Cdiv class="tg-df-search-wrapper">          \x3Cinput type="text" class="tg-df-search-input" placeholder="Search for deals, products, or brands...">          \x3Cbutton type="button" class="tg-df-search-btn" aria-label="Search">              \x3Csvg class="tg-df-search-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">                \x3Cpath d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>              \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-autocomplete-dropdown" id="tg-df-autocomplete">\x3C/div>        \x3C/div>                \x3Cdiv class="tg-df-settings-wrapper">          \x3Cbutton type="button" class="tg-df-settings-btn" aria-label="Settings" id="tg-df-settings-toggle">            \x3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20">                \x3Cpath d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.06-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.73 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.06.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .43-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.49-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"/>            \x3C/svg>          \x3C/button>          \x3Cdiv class="tg-df-settings-dropdown-backdrop" id="tg-df-settings-backdrop">\x3C/div>          \x3Cdiv class="tg-df-settings-dropdown" id="tg-df-settings-panel">            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Search Region\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-region-select">                \x3Coption value="auto">🌍 Auto-detect\x3C/option>                \x3Coption value="US">🇺🇸 United States (US)\x3C/option>                \x3Coption value="GB">🇬🇧 United Kingdom (UK)\x3C/option>                \x3Coption value="CA">🇨🇦 Canada (CA)\x3C/option>                \x3Coption value="AU">🇦🇺 Australia (AU)\x3C/option>                \x3Coption value="DE">🇩🇪 Germany (DE)\x3C/option>                \x3Coption value="FR">🇫🇷 France (FR)\x3C/option>                \x3Coption value="IT">🇮🇹 Italy (IT)\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Retailer\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-retailer-select">                \x3Coption value="">All Retailers\x3C/option>                \x3Coption value="Amazon">Amazon\x3C/option>                \x3Coption value="Walmart">Walmart\x3C/option>                \x3Coption value="Best Buy">Best Buy\x3C/option>                \x3Coption value="Target">Target\x3C/option>                \x3Coption value="John Lewis">John Lewis\x3C/option>                \x3Coption value="Currys">Currys\x3C/option>                \x3Coption value="Argos">Argos\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Offer Type\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-offer-type-select">                \x3Coption value="">All Offers\x3C/option>                \x3Coption value="amazon_prime">Amazon Prime\x3C/option>                \x3Coption value="recommended_promo">Recommended Promo\x3C/option>                \x3Coption value="amazon_lightning">Amazon Lightning Deal\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">Result Count\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-rows-select">                \x3Coption value="3">3 Items\x3C/option>                \x3Coption value="4">4 Items\x3C/option>                \x3Coption value="6">6 Items\x3C/option>                \x3Coption value="12" selected>12 Items\x3C/option>                \x3Coption value="24">24 Items\x3C/option>                \x3Coption value="48">48 Items\x3C/option>              \x3C/select>            \x3C/div>            \x3Cdiv class="tg-df-setting-item tg-df-dl-row">              \x3Cdiv>                \x3Cspan class="tg-df-dl-row-text">Deal Mode\x3C/span>                \x3Cspan class="tg-df-dl-row-subtext">Only show products with active offers or previous prices (was_price)\x3C/span>              \x3C/div>              \x3Clabel class="tg-df-toggle">                \x3Cinput type="checkbox" id="tg-df-deal-mode">                \x3Cspan class="tg-df-slider">\x3C/span>              \x3C/label>            \x3C/div>            \x3Cdiv class="tg-df-setting-item tg-df-dl-row">              \x3Cdiv>                \x3Cspan class="tg-df-dl-row-text">Editor Mode\x3C/span>                \x3Cspan class="tg-df-dl-row-subtext">Enable multi-select to copy deals to CMS\x3C/span>              \x3C/div>              \x3Clabel class="tg-df-toggle">                \x3Cinput type="checkbox" id="tg-df-editor-mode">                \x3Cspan class="tg-df-slider">\x3C/span>              \x3C/label>            \x3C/div>            \x3Cdiv class="tg-df-setting-item">              \x3Clabel class="tg-df-setting-label">View Mode\x3C/label>              \x3Cselect class="tg-df-region-select" id="tg-df-view-mode-select">                \x3Coption value="auto">Auto Collection\x3C/option>                \x3Coption value="carousel">Carousel\x3C/option>                \x3Coption value="savings_squad">Savings Squad\x3C/option>                \x3Coption value="grid">Grid (Columns)\x3C/option>                \x3Coption value="row">Row (List)\x3C/option>              \x3C/select>            \x3C/div>          \x3C/div>        \x3C/div>      \x3C/div>      \x3Cdiv class="tg-df-filters">        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-category-filter-wrapper" style="display: none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-category-filter" aria-label="Category">            \x3Coption value="all">All Categories\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-multiselect-container" id="tg-df-brand-filter-wrapper" style="display:none;">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39A.998.998 0 0 0 18.95 4H5.04c-.83 0-1.3.95-.79 1.61z"/>          \x3C/svg>          \x3Cdiv class="tg-df-filter-select tg-df-multiselect-trigger" id="tg-df-brand-trigger" tabindex="0">            Any Brand          \x3C/div>          \x3Cdiv class="tg-df-multiselect-dropdown" id="tg-df-brand-dropdown">            \x3C!-- Populated via script --\x3E          \x3C/div>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3z"/>          \x3C/svg>          \x3Cselect class="tg-df-sort-select" aria-label="Sort Deals">            \x3Coption value="date_desc">Newest First\x3C/option>            \x3Coption value="best_match">Sort by: Match\x3C/option>            \x3Coption value="price_asc">Price Low to High\x3C/option>            \x3Coption value="price_desc">Price High to Low\x3C/option>            \x3Coption value="discount_desc">Biggest Discount\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper tg-df-price-range-wrapper" id="tg-df-custom-price-wrapper" style="display: flex; align-items:center; justify-content:center; padding: 10px 20px; gap: 8px; border: 1px solid var(--tg-df-border); border-radius: 100px; background-color: var(--tg-df-bg);">          \x3Cspan style="font-size:14px; font-weight:500; color:var(--tg-df-text-primary);">Price\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-min" placeholder="Min" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">          \x3Cspan style="color:var(--tg-df-text-muted)">-\x3C/span>          \x3Cinput type="number" class="tg-df-price-input" id="tg-df-custom-price-max" placeholder="Max" style="width: 48px; background: transparent; border: none; color: var(--tg-df-text-primary); outline: none; font-size: 14px; text-align: center; padding: 0;">        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-legacy-price-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-price-filter" aria-label="Filter Prices">            \x3Coption value="all">All Prices\x3C/option>            \x3Coption value="under50">Under $50\x3C/option>            \x3Coption value="50_100">$50 - $100\x3C/option>            \x3Coption value="100_200">$100 - $200\x3C/option>            \x3Coption value="200_500">$200 - $500\x3C/option>            \x3Coption value="over500">Over $500\x3C/option>          \x3C/select>        \x3C/div>        \x3Cdiv class="tg-df-sort-wrapper" id="tg-df-discount-filter-wrapper">          \x3Csvg class="tg-df-sort-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">            \x3Cpath d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>          \x3C/svg>          \x3Cselect class="tg-df-filter-select" id="tg-df-discount-filter" aria-label="Discount Amount">            \x3Coption value="all">Any discount\x3C/option>            \x3Coption value="5">Min 5%\x3C/option>            \x3Coption value="10">Min 10%\x3C/option>            \x3Coption value="15">Min 15%\x3C/option>            \x3Coption value="20">Min 20%\x3C/option>            \x3Coption value="25">Min 25%\x3C/option>            \x3Coption value="30">Min 30%\x3C/option>            \x3Coption value="40">Min 40%\x3C/option>            \x3Coption value="50">Min 50%\x3C/option>            \x3Coption value="60">Min 60%\x3C/option>            \x3Coption value="70">Min 70%\x3C/option>          \x3C/select>        \x3C/div>      \x3C/div>    \x3C/div>    \x3C!-- Deals Grid Wrapper --\x3E    \x3Cdiv class="tg-df-grid-wrapper tg-df-carousel-cards-wrapper" id="tg-df-grid-wrapper">      \x3Cbutton class="tg-df-carousel-scroll-left" type="button" aria-label="Scroll left" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').scrollBy({left: -200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m15 18-6-6 6-6">\x3C/path>\x3C/svg>\x3C/button>      \x3Cdiv class="tg-df-grid" id="tg-df-grid">        \x3C!-- Content populated by JavaScript --\x3E      \x3C/div>      \x3Cbutton class="tg-df-carousel-scroll-right" type="button" aria-label="Scroll right" style="display:none;" onclick="this.parentElement.querySelector('#tg-df-grid').scrollBy({left: 200, behavior: 'smooth'})">\x3Csvg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpath d="m9 18 6-6-6-6">\x3C/path>\x3C/svg>\x3C/button>    \x3C/div>        \x3C!-- Vouchers Modal --\x3E    \x3Cdiv class="tg-df-modal-backdrop" id="tg-df-vouchers-modal">      \x3Cdiv class="tg-df-modal">        \x3Cdiv class="tg-df-modal-header">          \x3Ch3 class="tg-df-modal-title" id="tg-df-vouchers-title">Available Coupons & Deals\x3C/h3>          \x3Cbutton class="tg-df-modal-close" id="tg-df-vouchers-close">            \x3Csvg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">              \x3Cline x1="18" y1="6" x2="6" y2="18">\x3C/line>              \x3Cline x1="6" y1="6" x2="18" y2="18">\x3C/line>            \x3C/svg>          \x3C/button>        \x3C/div>        \x3Cdiv class="tg-df-modal-body" id="tg-df-vouchers-content">          \x3C!-- Vouchers injected here --\x3E        \x3C/div>      \x3C/div>    \x3C/div>  \x3C/div>`;      if (!template) {        template = document.createElement('template');        template.innerHTML = rawTemplate;      }      let shadowRoot = null;      if (hostContainer && template) {        hostContainer.setAttribute('data-initialized', 'true');        shadowRoot = hostContainer.attachShadow({ mode: 'open' });        shadowRoot.appendChild(template.content.cloneNode(true));      }      class DealsFinderWidget {        constructor(config) {          this.rootNode = config.rootNode || document;          this.hostContainer = config.hostContainer || null;          this.rootId = config.rootId || 'signal-deals-finder-root';          this.root = this.rootNode.querySelector('#' + this.rootId);          if (!this.root) return;          this.widgetId = (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'widget-' + Date.now() + '-' + Math.random().toString(36).slice(2);          this.grid = this.root.querySelector('#tg-df-grid');          this.tagsContainer = this.root.querySelector('#tg-df-tags-container');          this.categoryFilter = this.root.querySelector('#tg-df-category-filter');          this.categoryFilterWrapper = this.root.querySelector('#tg-df-category-filter-wrapper');          this.searchInput = this.root.querySelector('.tg-df-search-input');          this.autocompleteDropdown = this.root.querySelector('#tg-df-autocomplete');          this.sortSelect = this.root.querySelector('.tg-df-sort-select');          this.searchBtn = this.root.querySelector('.tg-df-search-btn');                    this.settingsToggle = this.root.querySelector('#tg-df-settings-toggle');          this.settingsPanel = this.root.querySelector('#tg-df-settings-panel');          this.settingsBackdrop = this.root.querySelector('#tg-df-settings-backdrop');          this.regionSelect = this.root.querySelector('#tg-df-region-select');          this.retailerSelect = this.root.querySelector('#tg-df-retailer-select');          this.offerTypeSelect = this.root.querySelector('#tg-df-offer-type-select');          this.viewModeSelect = this.root.querySelector('#tg-df-view-mode-select');          this.rowsSelect = this.root.querySelector('#tg-df-rows-select');          this.dealModeToggle = this.root.querySelector('#tg-df-deal-mode');          this.editorModeToggle = this.root.querySelector('#tg-df-editor-mode');          this.priceFilter = this.root.querySelector('#tg-df-price-filter');          this.discountFilter = this.root.querySelector('#tg-df-discount-filter');                    this.editorBar = this.root.querySelector('#tg-df-editor-bar');          this.editorSelectedCount = this.root.querySelector('#tg-df-selected-count');          this.editorCopyBtn = this.root.querySelector('#tg-df-editor-copy');          this.editorClearBtn = this.root.querySelector('#tg-df-editor-clear');                    this.apiUrl = 'https://search-api.fie.future.net.uk/widget.php';          this.deals = [];          this.displayLimit = 12;          this.airedaleArticles = null;          this.airedaleTags = [];          this.airedaleTagCounts = {};          this.activeDealTag = null;          this.selectedBrands = [];          this.currentQuery = '';          this.editorMode = this.hostContainer ? this.hostContainer.hasAttribute('data-editor-mode') : false;          this.viewModeOverride = this.hostContainer ? this.hostContainer.getAttribute('data-view-mode') : null;          this.selectedDeals = new Map();                    this.brandFilterWrapper = this.root.querySelector('#tg-df-brand-filter-wrapper');          this.brandTrigger = this.root.querySelector('#tg-df-brand-trigger');          this.brandDropdown = this.root.querySelector('#tg-df-brand-dropdown');                    this.customPriceWrapper = this.root.querySelector('#tg-df-custom-price-wrapper');          this.customPriceMin = this.root.querySelector('#tg-df-custom-price-min');          this.customPriceMax = this.root.querySelector('#tg-df-custom-price-max');          this.legacyPriceWrapper = this.root.querySelector('#tg-df-legacy-price-wrapper');          this.discountFilterWrapper = this.root.querySelector('#tg-df-discount-filter-wrapper');          this.initResizeObserver();          this.init();            if (['carousel', 'carousel-compact', 'auto', 'grid', 'row'].includes(this.getViewMode())) { this.loadCarouselSpreadsheet(); }        }        getViewMode() {          if (this.viewModeOverride && (!this.editorMode || !this.viewModeSelect)) {            return this.viewModeOverride;          }          return (this.viewModeSelect && this.viewModeSelect.value) ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');        }        applyLayoutMode() {          if (!this.grid) return;          const mode = this.getViewMode();          this.grid.classList.remove('layout-row', 'layout-grid', 'tg-df-grid-auto', 'carousel-compact', 'layout-replica-1', 'layout-replica-2');                    const carouselHost = this.root.querySelector('#tg-df-carousel-host');          const controlsDiv = this.root.querySelector('#tg-df-controls');          if (mode === 'carousel' || mode === 'auto' || mode === 'grid' || mode === 'row') {             if (mode === 'carousel') this.grid.classList.add('carousel-compact');             if (carouselHost) carouselHost.style.display = 'block';             if (controlsDiv) controlsDiv.style.display = 'none';             if (this.root.classList.contains('tg-df-container') && mode === 'carousel') {               this.root.classList.add('is-carousel');             } else if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          } else {             if (carouselHost) carouselHost.style.display = 'none';             if (controlsDiv) controlsDiv.style.display = 'flex';             if (this.root.classList.contains('tg-df-container')) {               this.root.classList.remove('is-carousel');             }          }          if (mode === 'grid') {            this.grid.classList.add('layout-grid');          } else if (mode === 'row') {            this.grid.classList.add('layout-row');          } else if (mode === 'savings_squad') {            this.grid.classList.add('tg-df-grid-auto', 'savings-squad-cards');          } else if (mode !== 'carousel') {            this.grid.classList.add('tg-df-grid-auto');          }                    const settingsWrapper = this.root.querySelector('.tg-df-settings-wrapper');          if (settingsWrapper) {            settingsWrapper.style.display = mode === 'auto' ? 'none' : 'block';          }          if (this.customPriceWrapper) {             this.customPriceWrapper.style.display = mode === 'auto' ? 'flex' : 'none';          }          if (this.legacyPriceWrapper) {             this.legacyPriceWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }          if (this.discountFilterWrapper) {             this.discountFilterWrapper.style.display = mode === 'auto' ? 'none' : 'flex';          }        }        initResizeObserver() {          try {            if (window.parent === window) return;          } catch (e) {            // cross origin frame check threw          }          const emitHeight = () => {            try {              const height = document.documentElement.scrollHeight || document.body.scrollHeight;              const msg = { type: 'embed-size', height: height };              if (window.parent && window.parent !== window) {                window.parent.postMessage(msg, '*');                window.parent.postMessage(JSON.stringify({ ...msg, sentinel: 'amp' }), '*');              }            } catch (e) {}          };                    if (window.ResizeObserver) {            try {              const ro = new ResizeObserver(() => emitHeight());              ro.observe(document.body);              if (this.root) ro.observe(this.root);            } catch(e){ console.warn(e); }          }          window.addEventListener('resize', emitHeight);          setTimeout(emitHeight, 300);        }        initCountdown() {          this.cdWrapper = this.root.querySelector('#tg-df-countdown-wrapper');                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          this.showCountdown = params.get('show_countdown') === 'true';          const showHeaderDetails = params.get('show_header_details') !== 'false';          const eyebrow = this.root.querySelector('.tg-df-carousel-box-eyebrow');          const title = this.root.querySelector('.tg-df-carousel-box-title');          const subtitle = this.root.querySelector('.tg-df-carousel-box-subtitle');          if (!showHeaderDetails) {            let containerElement = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (containerElement) containerElement.classList.add('hide-header-details');            if (eyebrow) eyebrow.style.display = 'none';            if (title) title.style.display = 'none';            if (subtitle) subtitle.style.display = 'none';          }          if (!this.cdWrapper) return;          this.cdTitle = this.root.querySelector('#tg-df-countdown-title');          this.cdDays = this.root.querySelector('#tg-df-cd-days');          this.cdHrs = this.root.querySelector('#tg-df-cd-hrs');          this.cdMin = this.root.querySelector('#tg-df-cd-min');          this.cdSec = this.root.querySelector('#tg-df-cd-sec');          this.updateCountdown();          this.cdInterval = setInterval(() => this.updateCountdown(), 1000);        }        updateCountdown() {          if (!this.cdWrapper) return;          if (!this.showCountdown) {            this.cdWrapper.style.display = 'none';            return;          }          const area = this.getAreaCode();          let offset = '-04:00';          if (['DE', 'FR', 'IT', 'ES', 'NL'].includes(area)) {             offset = '+02:00';          } else if (['GB', 'IE', 'UK'].includes(area)) {             offset = '+01:00';          }          const startTime = new Date('2026-06-23T00:00:00' + offset).getTime();          const endTime = new Date('2026-06-26T00:00:00' + offset).getTime();          const now = Date.now();          let targetTime = 0;          if (now < startTime) {             targetTime = startTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day starts in';             this.cdWrapper.style.display = 'flex';          } else if (now < endTime) {             targetTime = endTime;             if (this.cdTitle) this.cdTitle.textContent = 'Prime Day ends in';             this.cdWrapper.style.display = 'flex';          } else {             this.cdWrapper.style.display = 'none';             if (this.cdInterval) clearInterval(this.cdInterval);             return;          }          const diff = Math.max(0, targetTime - now);          const d = Math.floor(diff / (1000 * 60 * 60 * 24));          const h = Math.floor((diff / (1000 * 60 * 60)) % 24);          const m = Math.floor((diff / 1000 / 60) % 60);          const s = Math.floor((diff / 1000) % 60);          if (this.cdDays) this.cdDays.textContent = d;          if (this.cdHrs) this.cdHrs.textContent = h;          if (this.cdMin) this.cdMin.textContent = m;          if (this.cdSec) this.cdSec.textContent = s;        }        init() {          this.initCountdown();          try {            initAnalytics();          } catch (e) {            console.warn('Deals Widget Analytics Error:', e);          }                    this.bindEvents();                    let initialQuery = '';                    let searchSource = window.location.search;          if (this.hostContainer && this.hostContainer.hasAttribute('data-widget-config')) {            searchSource = this.hostContainer.getAttribute('data-widget-config');          } else if (typeof window !== 'undefined' && window.__WIDGET_CONFIG__) {            searchSource = window.__WIDGET_CONFIG__;          }          const params = new URLSearchParams(searchSource);          let initialViewMode = params.get('view_mode');          if (!params.has('search') && !params.has('q') && !params.has('query') && initialViewMode !== 'savings_squad') {             initialQuery = 'Everything';             if (this.discountFilter && !params.has('min_discount_ratio')) {               this.discountFilter.value = '5';             }          }          const website = params.get('website') || 'tomsguide';          this.website = website;          if (website === 'techradar') {            const squadHeader = this.root.querySelector('.tg-df-savings-squad-header');            if (squadHeader) {               const pic = squadHeader.querySelector('picture');               if (pic) pic.style.display = 'none';            }            const style = document.createElement('style');            style.innerHTML = `              .tg-df-container .hawk-affiliate-link-deal-button { background-color: #5DAF08 !important; }              .tg-df-container .hawk-affiliate-link-deal-button:hover { background-color: #4a8c06 !important; }            `;            this.root.appendChild(style);          }                    if (this.regionSelect) {            this.regionSelect.value = params.get('region') || 'auto';            this.updatePriceDropdownCurrency();          }                    if (this.retailerSelect && params.has('retailer')) {            this.retailerSelect.value = params.get('retailer');          }                    if (params.has('brands')) {            const b = params.get('brands');            if (b) {              this.selectedBrands = b.split(',');            }          }                    if (this.offerTypeSelect && params.has('offer_type')) {            this.offerTypeSelect.value = params.get('offer_type');          }          if (params.has('bg_color')) {            const bg = params.get('bg_color');            if (bg === 'white') {              this.root.style.setProperty('background-color', '#ffffff', 'important');            } else if (bg === 'transparent') {              this.root.style.setProperty('background-color', 'transparent', 'important');            } else if (bg === 'light_blue') {              this.root.style.setProperty('background-color', '#E7F0FF', 'important');            }          } else {             this.root.style.removeProperty('background-color');          }                    if (params.has('view_mode')) {            if (this.viewModeSelect) {              this.viewModeSelect.value = params.get('view_mode');            } else {              this.viewModeOverride = params.get('view_mode');            }          }          if (this.rowsSelect && params.has('rows')) {            this.rowsSelect.value = params.get('rows');          }          if (params.has('price')) {            const priceVal = params.get('price');            if (this.priceFilter) {               // Try assigning it directly to select. If it's not present implicitly ignores               this.priceFilter.value = priceVal;            }            if (priceVal.includes('_')) {               const parts = priceVal.split('_');               if (this.customPriceMin && parts[0]) this.customPriceMin.value = parts[0];               if (this.customPriceMax && parts[1]) this.customPriceMax.value = parts[1];            }          }          if (this.discountFilter && params.has('min_discount_ratio')) {            // Need to convert back from ratio (e.g. 0.8) to select value (e.g. "20")            const ratioStr = params.get('min_discount_ratio');            const ratioFloat = parseFloat(ratioStr);            if (!isNaN(ratioFloat)) {               const percentage = Math.round((1 - ratioFloat) * 100);               this.discountFilter.value = percentage.toString();            }          }          if (this.sortSelect) {            this.sortSelect.value = params.get('sort') || 'discount_desc';          }          if (this.dealModeToggle && params.has('deal_mode')) {            this.dealModeToggle.checked = params.get('deal_mode') === 'true' || params.get('deal_mode') === '1';          }                    // Re-apply layout after params have updated control values          this.applyLayoutMode();                    if (params.get('search')) {            initialQuery = params.get('search');          } else if (params.get('q')) {            initialQuery = params.get('q');          } else if (params.get('query')) {            initialQuery = params.get('query');          }                    this.currentQuery = initialQuery;          if (this.searchInput) {            this.searchInput.value = this.currentQuery;          }                    if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {            this.fetchDeals(this.currentQuery);          } else {            this.render();          }        }        updatePriceDropdownCurrency() {          if (!this.priceFilter || !this.regionSelect) return;          const currencySymbols = {            'US': '$',            'GB': '£',            'CA': '$CA',            'AU': '$AU',            'DE': '€',            'FR': '€',            'IT': '€',          };          const area = this.getAreaCode();          const cur = currencySymbols[area || 'US'] || '$';                    const options = this.priceFilter.options;          for (let i = 0; i < options.length; i++) {            const opt = options[i];            if (opt.value === 'all') {              opt.innerText = 'All Prices';            } else if (opt.value === 'under50') {              opt.innerText = `Under ${cur}50`;            } else if (opt.value === '50_100') {              opt.innerText = `${cur}50 - ${cur}100`;            } else if (opt.value === '100_200') {              opt.innerText = `${cur}100 - ${cur}200`;            } else if (opt.value === '200_500') {              opt.innerText = `${cur}200 - ${cur}500`;            } else if (opt.value === 'over500') {              opt.innerText = `Over ${cur}500`;            }          }        }        populateBrandDropdown(values) {          if (!this.brandDropdown || !this.brandFilterWrapper) return;          this.brandFilterWrapper.style.display = 'flex'; // show the wrapper                    let html = '';          const allChecked = this.selectedBrands.length === 0 ? 'checked' : '';          const _div = '<' + '/div>';          const _span = '<' + '/span>';          html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="" ${allChecked} class="tg-df-brand-chk"> Any Brand${_div}`;                    values.forEach(v => {             if (!v.formatted_value || v.formatted_value === 'Any Brand') return;             const isChecked = this.selectedBrands.includes(v.formatted_value) ? 'checked' : '';             html += `\x3Cdiv class="tg-df-ms-option">\x3Cinput type="checkbox" value="${this.escapeHTML(v.formatted_value)}" ${isChecked} class="tg-df-brand-chk"> ${this.escapeHTML(v.formatted_value)} \x3Cspan style="color:var(--tg-df-text-muted);font-size:12px">(${v.count || 0})${_span}${_div}`;          });                    this.brandDropdown.innerHTML = html;                    // Re-bind listeners          const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');          chks.forEach(chk => {            chk.addEventListener('change', (e) => {              const val = e.target.value;              if (val === '') {                this.selectedBrands = [];              } else {                if (e.target.checked) {                   if (!this.selectedBrands.includes(val)) this.selectedBrands.push(val);                } else {                   this.selectedBrands = this.selectedBrands.filter(b => b !== val);                }              }                            if (this.selectedBrands.length === 0) {                 this.brandTrigger.innerText = 'Any Brand';              } else if (this.selectedBrands.length === 1) {                 this.brandTrigger.innerText = this.selectedBrands[0];              } else {                 this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;              }                            // Only call API if changed from UI interactions              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.updateURLParams();                 this.fetchDeals(this.currentQuery);              }            });          });                    // Update button text on load          if (this.selectedBrands.length === 0) {             this.brandTrigger.innerText = 'Any Brand';          } else if (this.selectedBrands.length === 1) {             this.brandTrigger.innerText = this.selectedBrands[0];          } else {             this.brandTrigger.innerText = `${this.selectedBrands.length} Brands selected`;          }        }        updateURLParams() {          const url = new URL(window.location);          if (this.currentQuery && this.currentQuery !== 'Gaming laptops') {            url.searchParams.set('q', this.currentQuery);          } else {            url.searchParams.delete('q');            url.searchParams.delete('search');            url.searchParams.delete('query');          }                    if (this.regionSelect && this.regionSelect.value !== 'auto') {            url.searchParams.set('region', this.regionSelect.value);          } else {            url.searchParams.delete('region');          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.set('retailer', this.retailerSelect.value);          } else {            url.searchParams.delete('retailer');          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.set('brands', this.selectedBrands.join(','));          } else {            url.searchParams.delete('brands');          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.set('offer_type', this.offerTypeSelect.value);          } else {            url.searchParams.delete('offer_type');          }                    if (this.viewModeSelect && this.viewModeSelect.value !== 'auto') {            url.searchParams.set('view_mode', this.viewModeSelect.value);          } else {            url.searchParams.delete('view_mode');          }                    if (this.rowsSelect && this.rowsSelect.value !== '12') {            url.searchParams.set('rows', this.rowsSelect.value);          } else {            url.searchParams.delete('rows');          }                    const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             url.searchParams.set('price', `${min}_${max}`);          } else if (this.priceFilter && this.priceFilter.value !== 'all') {            url.searchParams.set('price', this.priceFilter.value);          } else {            url.searchParams.delete('price');          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {               const ratio = (100 - v) / 100;               url.searchParams.set('min_discount_ratio', ratio.toString());            }          } else {            url.searchParams.delete('min_discount_ratio');          }                    if (this.sortSelect && this.sortSelect.value !== 'discount_desc') {            url.searchParams.set('sort', this.sortSelect.value);          } else {            url.searchParams.delete('sort');          }                    if (this.dealModeToggle && this.dealModeToggle.checked) {            url.searchParams.set('deal_mode', 'true');          } else {            url.searchParams.delete('deal_mode');          }                    window.history.replaceState({}, '', url);        }        bindEvents() {          const roundels = this.root.querySelectorAll('.tg-df-carousel-cat.original-hardcoded');          roundels.forEach(r => {             r.addEventListener('click', () => {                const q = r.getAttribute('data-query');                const pr = r.getAttribute('data-pr');                if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: q,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = q;                const label = this.root.querySelector('#tg-df-carousel-title-label');                if (label) label.textContent = 'Best ' + q;                if (this.priceFilter) this.priceFilter.value = pr || 'all';                if (this.discountFilter) this.discountFilter.value = '5';                if (this.searchInput) this.searchInput.value = q;                                roundels.forEach(ro => ro.classList.remove('active'));                r.classList.add('active');                this.fetchDeals(this.currentQuery);             });          });          const discBtns = this.root.querySelectorAll('.tg-df-carousel-filter-btn');          discBtns.forEach(b => {             b.addEventListener('click', () => {                const d = b.getAttribute('data-d');                const pr = b.getAttribute('data-pr');                const ot = b.getAttribute('data-ot');                let label = b.innerText ? b.innerText.trim() : '';                let filterType = 'unknown';                let filterVal = 'unknown';                if (d !== null) { filterType = 'discount'; filterVal = d; }                else if (pr !== null) { filterType = 'price'; filterVal = pr; }                else if (ot !== null) { filterType = 'offertype'; filterVal = ot; }                if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-${filterType}-${filterVal}`, name: 'Filter Button', label: label });                                if (d !== null) {                   if (this.discountFilter) this.discountFilter.value = this.discountFilter.value === d ? '0' : d;                } else if (pr !== null) {                   if (this.priceFilter) this.priceFilter.value = this.priceFilter.value === pr ? 'all' : pr;                } else if (ot !== null) {                   if (this.offerTypeSelect) this.offerTypeSelect.value = this.offerTypeSelect.value === ot ? 'all' : ot;                } else {                   if (this.discountFilter) this.discountFilter.value = '0';                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.offerTypeSelect) this.offerTypeSelect.value = 'all';                }                if (d === null && pr === null && ot === null && b.getAttribute("data-type") !== "custom") {                   discBtns.forEach(ro => ro.classList.remove('active'));                   b.classList.add('active');                } else if (b.getAttribute("data-type") !== "custom") {                   // Only operate on hardcoded buttons (those without data-type)                   discBtns.forEach(ro => {                      if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active');                   });                                      let makeActive = true;                   if (d !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-d') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (pr !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-pr') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   } else if (ot !== null) {                       if (b.classList.contains('active')) makeActive = false;                       discBtns.forEach(ro => { if (ro.getAttribute('data-ot') !== null && ro.getAttribute('data-type') !== 'custom') ro.classList.remove('active') });                   }                                      if (makeActive) b.classList.add('active');                                      // Check if anything is active, if not activate "All"                   let anyActive = false;                   discBtns.forEach(ro => { if (ro.classList.contains('active') && ro.getAttribute('data-type') !== 'custom') anyActive = true; });                   if (!anyActive) {                       discBtns.forEach(ro => { if (!ro.getAttribute('data-d') && !ro.getAttribute('data-pr') && !ro.getAttribute('data-ot') && ro.getAttribute('data-type') !== 'custom') ro.classList.add('active'); });                   }                }                                this.fetchDeals(this.currentQuery);             });          });          if (this.brandTrigger && this.brandDropdown) {            this.brandTrigger.addEventListener('click', () => {              this.brandDropdown.classList.toggle('active');            });            document.addEventListener('click', (e) => {              if (this.brandFilterWrapper && !e.composedPath().includes(this.brandFilterWrapper)) {                this.brandDropdown.classList.remove('active');              }            });          }          let debounceTimer;          if(this.searchInput) {            this.searchInput.addEventListener('input', (e) => {              clearTimeout(debounceTimer);              const query = e.target.value.trim();              this.currentQuery = query;              if (this.getViewMode() === 'savings_squad' && this.autocompleteDropdown && this.airedaleTags && query.length > 0) {                 const matches = this.airedaleTags.filter(t => t.toLowerCase().includes(query.toLowerCase()) && t.toLowerCase() !== query.toLowerCase()).slice(0, 5);                 if (matches.length > 0) {                    this.autocompleteDropdown.innerHTML = matches.map(m => `\x3Cdiv class="tg-df-autocomplete-item" data-tag="${this.escapeHTML(m)}">${this.escapeHTML(m)}<` + `/div>`).join('');                    this.autocompleteDropdown.classList.add('active');                 } else {                    this.autocompleteDropdown.classList.remove('active');                 }              } else if (this.autocompleteDropdown) {                 this.autocompleteDropdown.classList.remove('active');              }              debounceTimer = setTimeout(() => {                this.updateURLParams();                if (query.length > 2) {                  this.fetchDeals(query);                } else if (query.length === 0) {                  this.deals = [];                  this.render();                }              }, 400);            });            this.searchInput.addEventListener('keypress', (e) => {              if (e.key === 'Enter') {                if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');                clearTimeout(debounceTimer);                const query = e.target.value.trim();                this.currentQuery = query;                this.activeDealTag = null;                trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });                this.updateURLParams();                if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                   this.fetchDeals(query);                }              }            });          }          if (this.autocompleteDropdown) {             this.autocompleteDropdown.addEventListener('click', (e) => {                const item = e.target.closest('.tg-df-autocomplete-item');                if (item) {                   const tag = item.getAttribute('data-tag');                   this.currentQuery = tag;                   if (this.searchInput) this.searchInput.value = tag;                   this.activeDealTag = tag;                   this.autocompleteDropdown.classList.remove('active');                   this.updateURLParams();                   this.fetchDeals(tag);                }             });             document.addEventListener('click', (e) => {               if (this.autocompleteDropdown && this.searchInput && !e.composedPath().includes(this.searchInput) && !e.composedPath().includes(this.autocompleteDropdown)) {                 this.autocompleteDropdown.classList.remove('active');               }             });          }          if (this.searchBtn) {            this.searchBtn.addEventListener('click', () => {              if (this.autocompleteDropdown) this.autocompleteDropdown.classList.remove('active');              clearTimeout(debounceTimer);              const query = this.searchInput.value.trim();              trackElementInteraction({ id: 'search-submit', name: 'Ask', label: 'Ask (main search)', text: query });              this.activeDealTag = null;              this.currentQuery = query;              this.updateURLParams();              if (query.length > 2 || (this.getViewMode() === 'savings_squad')) {                 this.fetchDeals(query);              }            });          }          if(this.sortSelect) this.sortSelect.addEventListener('change', () => {            trackElementInteraction({ id: `sort-option-${this.sortSelect.value}`, name: 'Sort', label: `Sort: ${this.sortSelect.options[this.sortSelect.selectedIndex].text}` });            this.updateURLParams();            if (this.deals.length > 0) {              this.sortData();              this.render();            }          });                    const priceFilter = this.root.querySelector('#tg-df-price-filter');          if (priceFilter) {            this.priceFilter = priceFilter;            this.priceFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-price-${this.priceFilter.value}`, name: 'Price', label: this.priceFilter.options[this.priceFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          const updateCustomPrice = () => {             this.updateURLParams();             if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);             } else {                this.render();             }          };          if (this.customPriceMin) {             this.customPriceMin.addEventListener('change', updateCustomPrice);             this.customPriceMin.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          if (this.customPriceMax) {             this.customPriceMax.addEventListener('change', updateCustomPrice);             this.customPriceMax.addEventListener('keypress', (e) => {                if (e.key === 'Enter') updateCustomPrice();             });          }          const discountFilter = this.root.querySelector('#tg-df-discount-filter');          if (discountFilter) {            this.discountFilter = discountFilter;            this.discountFilter.addEventListener('change', () => {              trackElementInteraction({ id: `filter-discount-${this.discountFilter.value}`, name: 'Discount', label: this.discountFilter.options[this.discountFilter.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }            });          }          if (this.categoryFilter) {            this.categoryFilter.addEventListener('change', (e) => {               const val = e.target.value === 'all' ? null : e.target.value;               this.activeDealTag = val;               this.fetchSavingsSquad();            });          }                    if (this.settingsToggle) {            this.settingsToggle.addEventListener('click', () => {              const o = this.settingsPanel.classList.toggle('active');              this.settingsBackdrop.classList.toggle('active');              if (o) trackElementInteraction({ id: 'filter-open', name: 'Filters', label: 'Open filters' });            });          }                    if (this.settingsBackdrop) {            this.settingsBackdrop.addEventListener('click', () => {              this.settingsPanel.classList.remove('active');              this.settingsBackdrop.classList.remove('active');            });          }                    if (this.regionSelect) {            this.regionSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-region-${this.regionSelect.value}`, name: 'Region', label: this.regionSelect.options[this.regionSelect.selectedIndex].text });              this.updateURLParams();              this.updatePriceDropdownCurrency();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.retailerSelect) {            this.retailerSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-merchant-${this.retailerSelect.value}`, name: 'Retailer', label: this.retailerSelect.options[this.retailerSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.offerTypeSelect) {            this.offerTypeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-offertype-${this.offerTypeSelect.value}`, name: 'Offer Type', label: this.offerTypeSelect.options[this.offerTypeSelect.selectedIndex].text });              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.viewModeSelect) {            this._prevViewMode = this.viewModeSelect.value;            this.viewModeSelect.addEventListener('change', () => {              trackElementInteraction({ id: `filter-viewmode-${this.viewModeSelect.value}`, name: 'View Mode', label: this.viewModeSelect.options[this.viewModeSelect.selectedIndex].text });                            // Reset all active toggles and filters to prevent config carry-over              this.selectedBrands = [];              if (this.brandTrigger) this.brandTrigger.innerText = 'Select Brands';              if (this.brandDropdown) {                const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                chks.forEach(chk => { chk.checked = false; });              }              if (this.priceFilter) this.priceFilter.value = 'all';              if (this.customPriceMin) this.customPriceMin.value = '';              if (this.customPriceMax) this.customPriceMax.value = '';              if (this.sortSelect) this.sortSelect.value = this.viewModeSelect.value === 'savings_squad' ? 'date_desc' : 'discount_desc';              if (this.discountFilter) this.discountFilter.value = '0';              if (this.retailerSelect) this.retailerSelect.value = '';              if (this.offerTypeSelect) this.offerTypeSelect.value = '';              if (this.rowsSelect) this.rowsSelect.value = '12';              if (this.categoryFilter) this.categoryFilter.value = 'all';              this.activeDealTag = null;              this.updateURLParams();              this.applyLayoutMode();                            if (this.getViewMode() === 'savings_squad' || this._prevViewMode === 'savings_squad') {                this.fetchDeals(this.currentQuery);              } else {                this.render();              }              this._prevViewMode = this.viewModeSelect.value;            });          }                    if (this.rowsSelect) {            this.rowsSelect.addEventListener('change', () => {              this.updateURLParams();              if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {                this.fetchDeals(this.currentQuery);              }            });          }                    if (this.dealModeToggle) {            this.dealModeToggle.addEventListener('change', () => {              this.updateURLParams();              this.render();            });          }          if (this.editorModeToggle) {             this.editorModeToggle.addEventListener('change', (e) => {                this.editorMode = e.target.checked;                this.render();                this.updateFloatingCopyBar();             });          }          if (this.editorCopyBtn) {             this.editorCopyBtn.addEventListener('click', () => {                this.copySelectedDealsToCMS();             });          }          if (this.editorClearBtn) {             this.editorClearBtn.addEventListener('click', () => {                this.selectedDeals.clear();                this.render();                this.updateFloatingCopyBar();             });          }          if (this.grid) {            this.grid.addEventListener('change', (e) => {               if (e.target.classList.contains('tg-df-deal-checkbox')) {                  const dealId = e.target.getAttribute('data-id');                  if (e.target.checked) {                     const dealObj = this.deals.find(d => d.id === dealId);                     if (dealObj) this.selectedDeals.set(dealId, dealObj);                  } else {                     this.selectedDeals.delete(dealId);                  }                  this.updateFloatingCopyBar();               }            });            this.grid.addEventListener('click', (e) => {              const dealCard = e.target.closest('[data-action="deal-click"]');              const similarCard = e.target.closest('[data-action="view-similar-click"]');              const cardLink = dealCard || similarCard;              if (cardLink) {                const productName = cardLink.getAttribute('data-product-name');                const merchantName = cardLink.getAttribute('data-merchant-name');                const productId = cardLink.getAttribute('data-analytics-id');                const price = parseFloat(cardLink.getAttribute('data-price')) || null;                const prevPriceStr = cardLink.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = cardLink.getAttribute('data-original-link');                const rewrittenLink = cardLink.getAttribute('href');                const revenueId = cardLink.getAttribute('data-revenue-id');                const index = parseInt(cardLink.getAttribute('data-index'), 10) || 0;                const inStock = cardLink.getAttribute('data-in-stock') === 'true';                const totalText = cardLink.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: cardLink.getAttribute('data-model-id') || null,                    matchId: cardLink.getAttribute('data-match-id') || null,                    brand: cardLink.getAttribute('data-model-brand') || null,                    parent: cardLink.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: cardLink.getAttribute('data-merchant-id') || null,                    network: cardLink.getAttribute('data-merchant-network') || null,                    url: cardLink.getAttribute('data-merchant-url') || null,                    name: merchantName                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: normalizeCurrency(this.escapeHTML(cardLink.getAttribute('data-currency') || '$'))                };                if (dealCard) {                  trackDealClick(trackingParams);                } else {                  trackViewSimilarClick(trackingParams);                }              }              const couponsBtn = e.target.closest('[data-action="coupons-click"]');              if (couponsBtn) {                trackElementInteraction({                  id: 'product-card-show-coupons',                  name: 'Coupons',                  label: `Product card coupons: ${couponsBtn.getAttribute('data-merchant')}`                });              }            });          }          this.setupScrollListeners();        }        setupScrollListeners() {          const containers = [             this.root.querySelector('.tg-df-carousel-roundels'),             this.root.querySelector('.tg-df-carousel-filters-wrap'),             this.root.querySelector('#tg-df-grid')          ];                    containers.forEach(container => {             if (!container) return;                          const checkScroll = () => {                if (!container.parentElement) return;                const leftBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-left');                const rightBtn = container.parentElement.querySelector('.tg-df-carousel-scroll-right');                                if (leftBtn) {                   if (container.scrollLeft <= 5) leftBtn.style.display = 'none';                   else leftBtn.style.display = 'flex';                }                                if (rightBtn) {                   if (container.scrollWidth <= container.clientWidth) {                       rightBtn.style.display = 'none';                   } else if (container.scrollLeft >= container.scrollWidth - container.clientWidth - 5) {                       rightBtn.style.display = 'none';                   } else {                       rightBtn.style.display = 'flex';                   }                }             };                          container.addEventListener('scroll', checkScroll);             checkScroll();                          window.addEventListener('resize', checkScroll);                          const observer = new MutationObserver(checkScroll);             observer.observe(container, { childList: true, subtree: true, characterData: false });          });        }        get widgetTypeName() {          const mode = this.viewModeSelect ? this.viewModeSelect.value : (this.viewModeOverride || 'auto');          switch(mode) {              case 'carousel': return 'Carousel';              case 'savings_squad': return 'Savings Squad';              case 'grid': return 'Grid';              case 'row': return 'Row';              default: return 'Auto Collection';          }        }        getAreaCode() {          if (this.regionSelect && this.regionSelect.value) {            if (this.regionSelect.value === 'auto') return null;            return this.regionSelect.value;          }          let area = null;          try {            const locale = window.navigator.language || window.navigator.userLanguage;            if (locale && locale.includes('-')) {              area = locale.split('-')[1].toUpperCase();            } else if (locale && locale.length === 2) {              if (locale.toUpperCase() === 'EN') { area = 'US'; }              else { area = locale.toUpperCase(); }            }          } catch (e) { /* Ignore */ }                    // Map to known valid options or fallback to US          const valid = ['US', 'GB', 'CA', 'AU', 'DE', 'FR', 'IT'];          if (area === 'UK') area = 'GB';          if (valid.includes(area)) {             return area;          }          return 'US';        }                async loadCarouselSpreadsheet() {          try {              const parseCSVRow = (str) => {                  let result = [], cur = '', inQuotes = false;                  for (let i = 0; i < str.length; i++) {                      let char = str[i];                      if (inQuotes) {                          if (char === '"') {                              if (str[i + 1] === '"') { cur += '"'; i++; }                              else { inQuotes = false; }                          } else { cur += char; }                      } else {                          if (char === '"') { inQuotes = true; }                          else if (char === ',') { result.push(cur); cur = ''; }                          else { cur += char; }                      }                  }                  result.push(cur); return result;              };              const parseCSV = (str) => {                  const rows = []; let curRow = '', inQuotes = false;                  for (let i = 0; i < str.length; i++) {                      let char = str[i];                      if (char === '"') inQuotes = !inQuotes;                      if ((char === '\n' || char === '\r') && !inQuotes) {                          if (char === '\r' && str[i+1] === '\n') i++;                          if (curRow) rows.push(parseCSVRow(curRow));                          curRow = '';                      } else { curRow += char; }                  }                  if (curRow) rows.push(parseCSVRow(curRow));                  return rows;              };              const preloadedCSV = decodeURIComponent(escape(atob("LCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNQ0KUm91bmRlbCB0ZXh0LEFsbCxUVnMsRm9vdHdlYXIsQXBwYXJlbCxNYXR0cmVzZXMsQXBwbGlhbmNlcyxXZWFyYWJsZSB0ZWNoLEhlYWRwaG9uZXMsU21hcnQgSG9tZSxTcGVha2VycyxMYXB0b3BzLFRhYmxldHMsQ29tcHV0aW5nLFBob25lcyxHYW1pbmcsTGVnbw0KUm91bmRlbCBpbWFnZSxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL2FpLnBuZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3R2cy5wbmcsaHR0cHM6Ly9pbWFnZXMuZmllLmZ1dHVyZWNkbi5uZXQvcHJvZHVjdHMvN2IzYTIyNGIwNzk2M2M2MjdiNmI5MDliZDc4MzM4MzZlMDJmZjgxOS5qcGcud2VicCxodHRwczovL2ltYWdlcy5maWUuZnV0dXJlY2RuLm5ldC9wcm9kdWN0cy84NGRhYzVkNDhlZDJkNDQ4NTU5ZWJhNjdhY2U4MzE0Y2M2N2NjZDk0LmpwZy53ZWJwLGh0dHBzOi8vd3d3LnRvbXNndWlkZS5jb20vcHJvZHVjdHMvY2Fyb3VzZWwvbWF0dHJlc3Nlcy5wbmcsaHR0cHM6Ly9pbWFnZXMuZmllLmZ1dHVyZWNkbi5uZXQvcHJvZHVjdHMvNzY4ZTk3Y2ViMDcxODAxZmFlMjA5MTBkMDgyMGIxNmY3NDdhZjkzOS5qcGcud2VicCxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3dlbGxuZXNzLnBuZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL2hlYWRwaG9uZXMuanBnLGh0dHBzOi8vaW1hZ2VzLmZpZS5mdXR1cmVjZG4ubmV0L3Byb2R1Y3RzLzg5NTM1YmVlYmUyMGRiYmQ0YTM0NmQ2ZDZiZGZlOTFkOGE4ODRhMjEuanBnLndlYnAsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9hdWRpby5qcGcsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9sYXB0b3BzLmpwZyxodHRwczovL2ltYWdlcy5maWUuZnV0dXJlY2RuLm5ldC9wcm9kdWN0cy8yMzk3NTY0ZWQ3YTVmZjk0N2U5YjZiMzBlNTRmNDc0OTRiODQxZjg5LmpwZy53ZWJwLGh0dHBzOi8vd3d3LnRvbXNndWlkZS5jb20vcHJvZHVjdHMvY2Fyb3VzZWwvY29tcHV0aW5nLmpwZyxodHRwczovL3d3dy50b21zZ3VpZGUuY29tL3Byb2R1Y3RzL2Nhcm91c2VsL3Bob25lcy5wbmcsaHR0cHM6Ly93d3cudG9tc2d1aWRlLmNvbS9wcm9kdWN0cy9jYXJvdXNlbC9nYW1pbmcucG5nLGh0dHBzOi8vaW1hZ2VzLmZpZS5mdXR1cmVjZG4ubmV0L3Byb2R1Y3RzLzRmNmM2MjFjYWMwYmMxYTg1ZDU5M2UzNTk0YmE1YjM0OWVmZmQyOTIuanBnLndlYnANClNlYXJjaCBRdWVyeSxFdmVyeXRoaW5nLFRlbGV2aXNpb25zLCJTbmVha2VycywgcnVubmluZyBzaG9lcywgc2FuZGFscyIsQ2xvdGhpbmcsTWF0dHJlc3NlcyxIb21lIEFwcGxpYW5jZXMsV2VhcmFibGVzICYgRml0bmVzcyBUZWNoLEhlYWRwaG9uZXMsSG9tZSBUZWNoLFNwZWFrZXJzLExhcHRvcHMsVGFibGV0cyxDb21wdXRpbmcsUGhvbmVzLEdhbWluZyxDb25zdHJ1Y3Rpb24gVG95cw0KRGlzY291bnQgQW1vdW50LG1pbiA1JSxtaW4gMTAlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUsbWluIDUlLG1pbiA1JSxtaW4gNSUNClByaWNlIFJhbmdlLCwsLCxtaW4gJDQwMCwsLCxtaW4gJDI1LCxtaW4gJDMwMCwsLG1pbiAkMTAwLCwNCkJyYW5kIFNlbGVjdGlvbiwsLCwsLCwsLCwsLCwsLCwNCkZpbHRlciBidXR0b25zLCwsLCwsLCwsLCwsLCwsLA0KMSxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMsTGlnaHRuaW5nIGRlYWxzLExpZ2h0bmluZyBkZWFscyxMaWdodG5pbmcgZGVhbHMNCjIsQW1hem9uIGRlYWxzLFVuZGVyICQxMDAwLDUwJSBvZmYsQWRpZGFzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsNTAlIG9mZixBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscyxBbWF6b24gZGVhbHMsQW1hem9uIGRlYWxzLEFtYXpvbiBkZWFscw0KMyxPdmVyICQ0MDAsVW5kZXIgJDUwMCxIb2thLE5pa2UsU2FhdHZhLE5pbmphLDQwJSBvZmYsSkxhYiwsSkJMLERlbGwsLEFzdXMsQXBwbGUsQ29uc29sZXMsU3RhciBXYXJzDQo0LFVuZGVyICQxMDAwLDUwJSBvZmYsU2tlY2hlcnMsVW5kZXIgQXJtb3VyLEhlbGl4LFNoYXJrLEdhcm1pbixBbmtlciBTb3VuZGNvcmUsUmluZyxTb25vcyxBcHBsZSxBcHBsZSxUUC1saW5rLFNhbXN1bmcsQWNjZXNzb3JpZXMsVW5kZXIgJDI1DQo1LFVuZGVyICQ1MDAsTEcsQXNpY3MsQ29sdW1iaWEsRHJlYW1DbG91ZCxLZXVyaWcsQXBwbGUsU29ueSxHb3ZlZSxUcmliaXQsTGVub3ZvLFNhbXN1bmcsRWVybyxHb29nbGUsR2FtZXMsVW5kZXIgJDUwDQo2LDUwJSBvZmYsU2Ftc3VuZyxOaWtlLFBhdGFnb25pYSxOZWN0YXIsRGUnTG9uZ2hpLEFtYXpmaXQsQXBwbGUsS2FzYSBzbWFydCxTb255LEFsaWVud2FyZSxUQ0wsTmV0Z2VhcixNb3Rvcm9sYSxOaW50ZW5kbyxCb3RhbmljYWxzDQo3LEFtYXpvbixIaXNlbnNlLE5ldyBCYWxhbmNlLEFyYyd0ZXJ5eCxUZW1wdXItcGVkaWMsRHlzb24sRml0Yml0LEJlYXRzLFBoaWxpcHMgSHVlLEFua2VyLEFjZXIsT25lUGx1cyxEZWxsLE9uZVBsdXMsU29ueSxEaXNuZXkNCjgsQXBwbGUsVENMLEFkaWRhcyxDYXJoYXJ0dCxCZWFyLEJpc3NlbGwsU2Ftc3VuZyxFYXJmdW4sQmxpbmssQmVhdHMsTVNJLE1pY3Jvc29mdCxBY2VyLE5vdGhpbmcsWGJveCxNYXJ2ZWwNCjksLFNvbnksU2F1Y29ueSxUaGUgTm9ydGggRmFjZSxTaWVuYSxOdXRyaWJ1bGxldCxPdXJhLFNhbXN1bmcsR29vZ2xlIE5lc3QgLE1hcnNoYWxsLFNhbXN1bmcsTGVub3ZvLExlbm92bywsLFBva2Vtb24NCjEwLCxSb2t1LEJpcmtlbnN0b2NrLENSWiBZb2dhLFdpbmtCZWRzLEJsYWNrIGFuZCBEZWNrZXIsUmluZ2Nvbm4sQ01GLEV1ZnksU2Ftc3VuZyxNaWNyb3NvZnQsUmVNYXJrYWJsZSxBbGllbndhcmUsLCwNCjExLCwsQnJvb2tzLFRoZSBHeW0gUGVvcGxlLEJyb29rbHluIGJlZGRpbmcsTmVzcHJlc3NvLCwxTW9yZSxBcmxvLCxSYXplciwsQ29yc2FpciwsLA0KMTIsLCxDcm9jcywsRWlnaHQgU2xlZXAsQ3Vpc2luYXJ0LCxKQkwsLCwsLEhQLCwsDQpOb3RlcywsLCwsLCwsLCwsLCwsLCwNCiwsIlByaW9yaXRpc2UgYmlnZ2VzdCAlLyQgZGlzY291bnQsIFR2cyB3aXRoIH41MCUgb2ZmIGhhdmUgYmVlbiB0aGUgbW9zdCBwb3B1bGFyIGV2ZW4gaWYgdGhleSBhcmUgc3RpbGwgZXhwZW5zaXZlIiwiTm8gcGF0dGVybiB0byBwcmljaW5nL2Rpc2NvdW50LCByZWFkZXJzIG1haW5seSBzaG9wIGJ5IGJyYW5kL3JlY29nbmlzYWJsZSBzaG9lcyIsIk5vIHBhdHRlcm4gdG8gcHJpY2luZy9kaXNjb3VudCwgcmVhZGVycyBtYWlubHkgc2hvcCBieSBicmFuZCIsIkEgbGFiZWwgd2lsbCBkZWZpbml0ZWx5IGhlbHAgaGVyZSBlLmcuIGJlc3QgZm9yIHNpZGUgc2xlZXBlciwgYmVzdCBtZW1vcnkgZm9hbSIsIkFwcGxpYW5jZXMgaXMgYSBiaWcgY2F0ZWdvcnksIGlzIGl0IHBvc3NpYmxlIHRvIHNwbGl0IGludG8ga2l0Y2hlbiBhcHBsaWFuY2VzLCBmbG9vcmNhcmUsIGFpciBoZWFsdGgvY29vbGluZz8gT3Igc2ltaWxhciIsIkZvY3VzIG9uIHZhbHVlIGZvciBtb25leSwgR2FybWlucyB3aXRoIH41MCUgb2ZmIGhhdmUgYmVlbiBwb3B1bGFyIGV2ZW4gdGhvdWdoIHRoZXkgYXJlIHN0aWxsICQ1MDAiLCwsLCxJbmNsdWRlIEtpbmRsZXMsSSB3b3VsZCBpbmNsdWRlIHdpZmkgcm91dGVycyBoZXJlIGluc3RlYWQgb2Ygc21hcnQgaG9tZSxDYW4gd2Ugc3VyZmFjZSBwaG9uZSBwcm92aWRlciBkZWFscz8gVC1tb2JpbGUgYW5kIHZlcml6b24gd291bGQgbWFrZSBhIGxvdCBtb3JlIG1vbmV5IHRoYW4gQW1hem9uLCwNCiwsaGF2aW5nIGEgJ2Jlc3QgZm9yJyBsYWJlbCB3b3VsZCBiZSBoZWxwZnVsIGUuZy4gYmVzdCBmb3IgYnJpZ2h0IHJvb20sQ2FuIHdlIHN0b3Aga2lkcyBzaG9lcyBmcm9tIHB1bGxpbmcgdGhyb3VnaD8sIldpbGwgdGhpcyBpbmNsdWRlIGFjY2Vzc29yaWVzIGUuZy4gY2FwcywgYmFncywgaWYgc28gbWFrZSBzdXJlIHRoZXNlIGFyZSBtaXhlZCB0aHJvdWdob3V0IGNsb3RoaW5nIGRlYWxzIixXaWxsIHRoaXMgaW5jbHVkZSB0b3BwZXJzIGFuZCBwaWxsb3dzPyBTZWVpbmcgbW9yZSBtb21lbnR1bSB3aXRoIHRoaXMgY2F0ZWdvcnkgcmVjZW50bHkgc28gYSBiZWRkaW5nIHRhYiBtaWdodCB3b3JrLCwiTmVlZCB0byBtYWtlIHN1cmUgYmFuZHMsIHNjcmVlbiBwcm90ZWN0b3JzIGV0Yy4gZG9uJ3QgcHVsbCBpbnRvIGhlcmUiLCwsLCwsLCwsDQosLCJQcmlvcml0aXNlIDY1JycgYW5kIDU1JyBpbmNoIFRWcywgdGhlbiBiaWdnZXIgc2NyZWVucyBiZWZvcmUgdGhlIHNtYWxsZXIgc2l6ZXMiLCwsUXVlZW4gaXMgdGhlIG1vc3QgcG9wdWxhciBzaXplIGluIHRoZSBVUyAtIHByaW9yaXRpc2UgZGVhbHMgZm9yIHRoaXMgc2l6ZSwsLCwsLCwsLCwsDQosLCwsLCwsLCwsLCwsLCwsDQpDYXRlZ29yaWVzIHRvIGNvbnNpZGVyLCxQcm9kdWN0cyBpbmNsdWRlZCwsLCwsLCwsLCwsLCwsDQpVbmRlciAkNTA/LCxBaXIgdGFncywsLCwsLCwsLCwsLCwsDQosLFBvcnRhYmxlIGNoYXJnZXJzL3dpcmVsZXNzIGNoYXJnZXJzLCwsLCwsLCwsLCwsLCwNCiwsIldhdGVyIGJvdHRsZXMgKHN0YW5sZXlzLCBPd2FsYSwgSHlkcm8gZmxhc2ssIFlldGkpIiwsLCwsLCwsLCwsLCwsDQosLEhhbmQgaGVsZCBmYW5zLCwsLCwsLCwsLCwsLCwNCiwsLCwsLCwsLCwsLCwsLCwNCmhvbWUgb2ZmaWNlLCxvZmZpY2UgY2hhaXJzLCwsLCwsLCwsLCwsLCwNCiwsc3RhbmRpbmcgZGVza3MsLCwsLCwsLCwsLCwsLA0KLCxtb25pdG9ycywsLCwsLCwsLCwsLCwsDQosLEtleWJvYXJkcywsLCwsLCwsLCwsLCwsDQosLGRvY2tpbmcgc3RhdGlvbiwsLCwsLCwsLCwsLCwsDQosLCwsLCwsLCwsLCwsLCwsDQpHYW1pbmcsLENvbnNvbGVzLCwsLCwsLCwsLCwsLCwNCiwsQWNjZXNzb3JpZXMsLCwsLCwsLCwsLCwsLA0KLCxHYW1lcywsLCwsLCwsLCwsLCwsDQosLENvdWxkIGluY2x1ZGUgTGVnbz8sLCwsLCwsLCwsLCwsLA==")));              const text = preloadedCSV;              const parsed = parseCSV(text);                            const rowsByName = {};              let filterStart = -1;              parsed.forEach((rc, i) => {                 if (rc && rc.length > 0 && rc[0]) rowsByName[rc[0]] = rc;                 if (rc && rc.length > 0 && rc[0] === 'Filter buttons') filterStart = i;              });                            const cols = [];              if(rowsByName['Roundel text']) {                const headerRow = rowsByName['Roundel text'];                for(let col = 1; col < headerRow.length; col++) {                   let label = headerRow[col];                   if (!label) continue;                                      let q = rowsByName['Search Query'] && rowsByName['Search Query'][col] ? rowsByName['Search Query'][col] : '';                   let img = rowsByName['Roundel image'] && rowsByName['Roundel image'][col] ? rowsByName['Roundel image'][col] : '';                   let ds = rowsByName['Discount Amount'] && rowsByName['Discount Amount'][col] ? rowsByName['Discount Amount'][col] : '';                   let pr = rowsByName['Price Range'] && rowsByName['Price Range'][col] ? rowsByName['Price Range'][col] : '';                   let rt = rowsByName['Retailer'] && rowsByName['Retailer'][col] ? rowsByName['Retailer'][col] : '';                   let ot = rowsByName['Offer Type'] && rowsByName['Offer Type'][col] ? rowsByName['Offer Type'][col] : '';                                      let filters = [];                   if(filterStart > 0) {                     for(let r = filterStart + 1; r < parsed.length; r++) {                         if(!parsed[r] || parsed[r][0] === 'Notes' || parsed[r][0] === 'Categories to consider') break;                         let f = parsed[r][col];                         if(f) filters.push(f);                     }                   }                   cols.push({ label, img, q, ds, pr, rt, ot, filters });                }              }              this.carouselData = cols;              if (this.carouselData && this.carouselData.length > 0) {                 const isMatched = this.carouselData.some(c => c.q === this.currentQuery || c.label === this.currentQuery);                 if (!isMatched) {                    const first = this.carouselData[0];                    this.currentQuery = first.q || first.label;                    if (this.priceFilter) this.priceFilter.value = 'all';                    if (this.customPriceMin) this.customPriceMin.value = '';                    if (this.customPriceMax) this.customPriceMax.value = '';                    let dPr = first.pr || 'all';                    if (typeof dPr === 'string' && dPr !== 'all') {                       let prLower = dPr.toLowerCase();                       if (prLower.includes('min') || prLower.includes('over')) {                          let m = dPr.match(/(\d+)/);                          if (m && this.customPriceMin) this.customPriceMin.value = m[1];                       } else if (prLower.includes('max') || prLower.includes('under')) {                          let m = dPr.match(/(\d+)/);                          if (m && this.customPriceMax) this.customPriceMax.value = m[1];                       }                    }                    let dAm = '0';                    if(first.ds && typeof first.ds === 'string') {                       let m = first.ds.match(/(\d+)/);                       if(m) dAm = m[1];                    }                    if (this.discountFilter) this.discountFilter.value = dAm;                    if (this.offerTypeSelect) this.offerTypeSelect.value = first.ot || '';                    if (this.retailerSelect) this.retailerSelect.value = first.rt || '';                    this.selectedBrands = [];                    if (this.brandDropdown) {                        const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                        chks.forEach(chk => chk.checked = false);                    }                    if (this.searchInput) this.searchInput.value = this.currentQuery;                 }              }              this.renderCarouselUI();          } catch(e){ console.warn(e); }        }                renderCarouselUI() {           const roundelWrapper = this.root.querySelector('.tg-df-carousel-roundels');           if(!roundelWrapper || !this.carouselData) return;                      let html = '';           this.carouselData.forEach(r => {              const q = r.q || r.label;              const isActive = (this.currentQuery === q || this.currentQuery === r.label) ? 'active' : '';              const imgHtml = r.img ? `\x3Cimg src="${r.img}" alt="${r.label}" />` : `\x3Csvg width="32" height="32" fill="#1F69FF" viewBox="0 0 24 24">\x3Cpath d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\x3C/svg>`;              html += `                \x3Cdiv class="tg-df-roundel tg-df-carousel-cat ${isActive}" data-label="${this.escapeHTML(r.label)}">                  \x3Cdiv class="tg-df-roundel-img-box">${imgHtml}\x3C/div>                  \x3Cspan class="tg-df-roundel-label">${this.escapeHTML(r.label)}\x3C/span>                \x3C/div>              `;           });           roundelWrapper.innerHTML = html;                      // Rebind clicks           const roundels = this.root.querySelectorAll('.tg-df-carousel-cat');           roundels.forEach(rNode => {             rNode.addEventListener('click', () => {                const r = this.carouselData.find(c => c.label === rNode.getAttribute('data-label'));                 if(!r) return;                                  if (typeof trackHawkEvent !== 'undefined') {                     trackHawkEvent({                         clickType: "CC",                         widgetId: this.widgetId,                         productCategoryName: "deals",                         zeroBasedProductIndexOrNull: null,                         totalDealsOrProducts: null,                         areaClicked: "Category Roundel",                         revenueId: this.revenueId,                         isoCurrencyCode: typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD',                         queryName: r.label,                         widgetTypeName: this.widgetTypeName                     });                 }                this.currentQuery = r.q || r.label;                const labelTitle = this.root.querySelector('#tg-df-carousel-title-label');                if (labelTitle) labelTitle.textContent = 'Best ' + this.currentQuery;                if (this.priceFilter) this.priceFilter.value = 'all';                if (this.customPriceMin) this.customPriceMin.value = '';                if (this.customPriceMax) this.customPriceMax.value = '';                let dPr = r.pr || 'all';                if (typeof dPr === 'string' && dPr !== 'all') {                   let prLower = dPr.toLowerCase();                   if (prLower.includes('min') || prLower.includes('over')) {                      let m = dPr.match(/(\d+)/);                      if (m && this.customPriceMin) this.customPriceMin.value = m[1];                   } else if (prLower.includes('max') || prLower.includes('under')) {                      let m = dPr.match(/(\d+)/);                      if (m && this.customPriceMax) this.customPriceMax.value = m[1];                   }                }                                let discountAmount = '0';                if(r.ds && typeof r.ds === 'string') {                   let m = r.ds.match(/(\d+)/);                   if(m) discountAmount = m[1];                }                if (this.discountFilter) this.discountFilter.value = discountAmount;                if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                                // Clear brands                    this.selectedBrands = [];                    if (this.brandDropdown) {                    const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                    chks.forEach(chk => chk.checked = false);                }                                if (this.searchInput) this.searchInput.value = this.currentQuery;                                roundels.forEach(ro => ro.classList.remove('active'));                if (rNode) rNode.classList.add('active');                                this.renderCarouselFilters(r);                this.fetchDeals(this.currentQuery);             });           });                      // Auto-highlight active           const activeR = this.carouselData.find(c => c.q === this.currentQuery || c.label === this.currentQuery);           if(activeR) this.renderCarouselFilters(activeR);        }                renderCarouselFilters(r) {           const filtersWrap = this.root.querySelector('.tg-df-carousel-filters-wrap');           if(!filtersWrap) return;                      let html = `\x3Cbutton class="tg-df-carousel-filter-btn" data-type="all">All\x3C/button>`;                      r.filters.forEach(f => {              let fL = f.toLowerCase();              let icon = '';              let logic = `data-type="custom" data-v="${this.escapeHTML(f)}"`;              if (fL === 'amazon deals' || fL === 'prime deals') {                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>\x3Cimg src="https://cdn.mos.cms.futurecdn.net/fwoVXvL79turN3Ph535m38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/u75QjVpt3w2EsMimJiRo38-600-100.png" class="active-img" alt="" /> Prime deals\x3C/button>`;              } else if (fL === 'lightning deals') {                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>\x3Cimg src="https://cdn.mos.cms.futurecdn.net/HqAui7w97ft2NPqBtQ5r38-600-100.png" class="inactive-img" alt="" />\x3Cimg src="https://cdn.mos.cms.futurecdn.net/yWPQ5yyQRhUwVKzGwYbh38-600-100.png" class="active-img" alt="" /> Lightning deals\x3C/button>`;              } else {                 if (fL.includes('lightning')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap">\x3Cpolygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2">\x3C/polygon>\x3C/svg>`;                 } else if (fL.includes('% off')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tag">\x3Cpath d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z">\x3C/path>\x3Ccircle cx="7.5" cy="7.5" r=".5" fill="currentColor">\x3C/circle>\x3C/svg>`;                 } else if (fL.includes('under') || fL.includes('min ')) {                    icon = `\x3Csvg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-badge-dollar-sign">\x3Cpath d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">\x3C/path>\x3Cpath d="M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8">\x3C/path>\x3Cpath d="M12 18V6">\x3C/path>\x3C/svg>`;                 }                 html += `\x3Cbutton class="tg-df-carousel-filter-btn" ${logic}>${icon} ${this.escapeHTML(f)}\x3C/button>`;              }           });                      filtersWrap.innerHTML = html;                      const btns = filtersWrap.querySelectorAll('button');           btns.forEach(b => {             b.addEventListener('click', () => {                const type = b.getAttribute('data-type');                if (type === 'custom') {                   const v = b.getAttribute('data-v');                   if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: `filter-custom-${(v||'').toLowerCase().replace(/[^a-z0-9]+/g, '-')}`, name: 'Custom Filter', label: v });                }                if (type === 'all') {                   if (typeof trackElementInteraction === 'function') trackElementInteraction({ id: 'filter-clear-all', name: 'Clear all', label: 'Clear all filters' });                   // reset everything                   btns.forEach(btn => btn.classList.remove('active'));                   b.classList.add('active');                                      // Reset prices                   if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.customPriceMin) this.customPriceMin.value = '';                   if (this.customPriceMax) this.customPriceMax.value = '';                   let dPr = r.pr || 'all';                   if (typeof dPr === 'string' && dPr !== 'all') {                      let prLower = dPr.toLowerCase();                      if (prLower.includes('min') || prLower.includes('over')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMin) this.customPriceMin.value = m[1];                      } else if (prLower.includes('max') || prLower.includes('under')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMax) this.customPriceMax.value = m[1];                      }                   }                                      let discountAmount = '0';                   if(r.ds && typeof r.ds === 'string') {                      let m = r.ds.match(/(\d+)/);                      if(m) discountAmount = m[1];                   }                   if (this.discountFilter) this.discountFilter.value = discountAmount;                   if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                   if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                   this.selectedBrands = [];                   if (this.brandDropdown) {                     const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                     chks.forEach(chk => chk.checked = false);                   }                } else {                   const v = b.getAttribute('data-v');                   const fL = v.toLowerCase();                                      let mapRet = ['amazon', 'walmart', 'best buy', 'target', 'john lewis', 'currys', 'argos'];                   const getCategory = (s) => {                      if (s === 'lightning deals' || s === 'amazon deals' || s === 'prime deals') return 'offer';                      if (s.includes('% off')) return 'discount';                      if (s.includes('under') || s.includes('over') || s.includes('min') || s.includes('max')) return 'price';                      if (mapRet.includes(s)) return 'retailer';                      return 'brand';                   };                   const cat = getCategory(fL);                   const wasActive = b.classList.contains('active');                   if (cat !== 'brand') {                      btns.forEach(btn => {                          if (btn === b) return;                          if (btn.getAttribute('data-type') === 'all') return;                          const bV = btn.getAttribute('data-v');                          if (!bV) return;                          if (getCategory(bV.toLowerCase()) === cat) btn.classList.remove('active');                      });                   }                   if (wasActive) b.classList.remove('active');                   else b.classList.add('active');                   let anyActive = Array.from(btns).some(btn => btn !== btns[0] && btn.classList.contains('active'));                   if (!anyActive) {                       btns[0].click();                       return;                   } else {                       btns[0].classList.remove('active');                   }                                      if (this.priceFilter) this.priceFilter.value = 'all';                   if (this.customPriceMin) this.customPriceMin.value = '';                   if (this.customPriceMax) this.customPriceMax.value = '';                   let dPr = r.pr || 'all';                   if (typeof dPr === 'string' && dPr !== 'all') {                      let prLower = dPr.toLowerCase();                      if (prLower.includes('min') || prLower.includes('over')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMin) this.customPriceMin.value = m[1];                      } else if (prLower.includes('max') || prLower.includes('under')) {                         let m = dPr.match(/(\d+)/);                         if (m && this.customPriceMax) this.customPriceMax.value = m[1];                      }                   }                                      let discountAmount = '0';                   if(r.ds && typeof r.ds === 'string') {                      let m = r.ds.match(/(\d+)/);                      if(m) discountAmount = m[1];                   }                   if (this.discountFilter) this.discountFilter.value = discountAmount;                   if (this.offerTypeSelect) this.offerTypeSelect.value = r.ot || '';                   if (this.retailerSelect) this.retailerSelect.value = r.rt || '';                   this.selectedBrands = [];                   btns.forEach(btn => {                       if (!btn.classList.contains('active') || btn.getAttribute('data-type') === 'all') return;                       const vv = btn.getAttribute('data-v');                       const vl = vv.toLowerCase();                                              if (vl === 'lightning deals') {                          if (this.offerTypeSelect) this.offerTypeSelect.value = 'amazon_lightning';                       } else if (vl === 'amazon deals' || vl === 'prime deals') {                          if (this.offerTypeSelect) this.offerTypeSelect.value = 'amazon_prime';                       } else if (vl.includes('% off')) {                          let m = vl.match(/(\d+)%/);                          if (m && this.discountFilter) this.discountFilter.value = m[1];                       } else if (vl.includes('under') || vl.includes('max')) {                          let m = vl.match(/(\d+)/);                          if (m && this.customPriceMax) this.customPriceMax.value = m[1];                       } else if (vl.includes('min') || vl.includes('over')) {                          let m = vl.match(/(\d+)/);                          if (m && this.customPriceMin) this.customPriceMin.value = m[1];                       } else {                          let foundR = mapRet.find(x => x === vl);                          if (foundR) {                             let realR = ['Amazon', 'Walmart', 'Best Buy', 'Target', 'John Lewis', 'Currys', 'Argos'].find(x => x.toLowerCase() === vl);                             if (this.retailerSelect) this.retailerSelect.value = realR;                          } else {                             this.selectedBrands.push(vv);                          }                       }                   });                                      if (this.brandDropdown) {                       const chks = this.brandDropdown.querySelectorAll('.tg-df-brand-chk');                       chks.forEach(c => c.checked = this.selectedBrands.includes(c.value));                   }                                      if (r.pr && typeof r.pr === 'string') {                       let prL = r.pr.toLowerCase();                       if (prL.includes('under $')) {                           let m = prL.match(/under \$(\d+)/i);                           if (m && this.customPriceMax && !this.customPriceMax.value) this.customPriceMax.value = m[1];                       }                   }                }                                this.fetchDeals(this.currentQuery);             });           });                      // default to highlighting first           btns[0].classList.add('active');        }async fetchDeals(query, append = false) {          if (!append) {             this.showLoading();             this.deals = [];             this.displayLimit = (this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12;          } else {             this.displayLimit += (this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12;          }                    try {            if (this.getViewMode() === 'savings_squad') {               await this.fetchSavingsSquad(append);            } else {               if (this.isBroadQuery(query)) {                 await this.fetchAdviserDeals(query, append);               } else {                 await this.fetchHawkDeals(query, append);                 if (this.deals.length === 0) {                   await this.fetchAdviserDeals(query, append);                 }               }            }          } catch (error) {            console.warn("[Tom's Guide Widget] Fetch error:", error);            this.showError();          }        }        async fetchSavingsSquad() {          let topArticles = this.airedaleArticles;          if (!topArticles) {            const airedaleUrl = `https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50`;            let res;            try {               res = await fetch(airedaleUrl);            } catch(e) {               try { res = await fetch(`https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50`); } catch (err) { console.warn("Fallback fetch failed", err); return; }            }            if (!res.ok) throw new Error('Airedale API Error');            const articles = await res.json();            topArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);            this.airedaleArticles = topArticles;                        let tagCounts = {};            topArticles.forEach((a) => {              let articleTags = new Set();              if (a.articlecategory && Array.isArray(a.articlecategory)) {                 a.articlecategory.forEach((t) => articleTags.add(t));              }              articleTags.forEach(t => {                 tagCounts[t] = (tagCounts[t] || 0) + 1;              });            });                        this.airedaleTags = Object.keys(tagCounts).sort((a, b) => tagCounts[b] - tagCounts[a]);            this.airedaleTagCounts = tagCounts;          }                    let targetArticles = topArticles;          if (this.activeDealTag) {             const cleanTag = this.activeDealTag.toLowerCase().replace(/&/g, '').replace(/[^a-z0-9]+/g, '-').replace(/-+/g, '-').replace(/^-|-$/g, '');             const encodedTag = encodeURIComponent(cleanTag);             const url = `https://airedale.futurecdn.net/feeds/feed_1776420579726.json?site=tomsguide&articleType=deals&limit=50&articleCategoryHandle=${encodedTag}`;             try {                const res = await fetch(url);                if (res.ok) {                   const articles = await res.json();                   targetArticles = Array.isArray(articles) ? articles.slice(0, 50) : ((articles.data && Array.isArray(articles.data)) ? articles.data.slice(0, 50) : []);                }             } catch(e) {                console.warn("Failed to fetch by activeDealTag", e);             }          }          let extractedDeals = [];          let dynamicBrandsCounts = {};                    targetArticles.forEach((article) => {             if (!article.articlepage) return;                          let pageData = [];             try {                pageData = JSON.parse(article.articlepage[0]);             } catch(e){ console.warn(e); }                          const savingsSquad = pageData.filter((p) => p.type === 'deal' || p.type === 'featured-product');                          savingsSquad.forEach((block, idx) => {                const data = block.data || {};                const isFeatured = block.type === 'featured-product';                                const link = data.link || {};                const priceObj = data.price || {};                const image = data.image || {};                                if (data.brand) {                   data.brand = data.brand.replace(/^\d+\.\s*/, '').trim();                   dynamicBrandsCounts[data.brand] = (dynamicBrandsCounts[data.brand] || 0) + 1;                }                const externalUrl = isFeatured ? data.url : (link.href || null);                let summaryTitle = isFeatured ? (data.name || data.brand) : (data.productName || link.label || article.articlename);                let description = isFeatured ? (data.strapline || '') : (data.text || '');                                if (!isFeatured && !data.productName && data.text) {                   const brSplit = data.text.split(new RegExp('\x3Cbr\\s*\\/?\\x3E', 'i'));                   if (brSplit.length > 1) {                     summaryTitle = brSplit[0].replace(/<[^>]+>/g, '').trim();                     description = brSplit.slice(1).join(' ').replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim();                   } else {                     const match = data.text.match(/\x3Cstrong>(.*?)<\/strong>/);                     if (match) {                       summaryTitle = match[1].replace(/<[^>]+>/g, '').trim();                       if (summaryTitle.endsWith(':')) summaryTitle = summaryTitle.slice(0, -1);                     }                   }                }                                let imageUrl = isFeatured ? image.mos : (image.src || null);                if (imageUrl && imageUrl.startsWith('//')) imageUrl = 'https:' + imageUrl;                                description = description.replace(/<br\s*\/?>/gi, ' ').replace(/<\/?(p|div)[^>]*>/gi, ' ').replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').replace(/View Deal$/i, '').trim();                                let merchantName = data.retailer || '';                if (!merchantName && externalUrl) {                   try {                     merchantName = new URL(externalUrl).hostname.replace('www.', '').split('.')[0];                     merchantName = merchantName.charAt(0).toUpperCase() + merchantName.slice(1);                   }catch(e){ console.warn(e); }                }                if (!merchantName) merchantName = 'Retailer';                const q = (this.currentQuery || '').toLowerCase();                const activeTagLogic = (this.activeDealTag || '').toLowerCase();                if (q.length > 2 && q !== activeTagLogic) {                   const searchTarget = `${summaryTitle || ''} ${description || ''}`.toLowerCase();                   if (!searchTarget.includes(q)) return;                }                let rawPrice = 0;                let rawMsrp = 0;                let currencyStr = '$';                if (isFeatured) {                   rawPrice = typeof data.salePrice === 'number' && data.salePrice > 0 ? data.salePrice : (typeof data.price === 'number' ? data.price : 0);                   rawMsrp = typeof data.salePrice === 'number' && typeof data.price === 'number' && data.price > data.salePrice ? data.price : 0;                   currencyStr = data.currency === 'GBP' ? '£' : '$';                } else {                   rawPrice = priceObj.amount ? parseFloat(priceObj.amount) : 0;                   rawMsrp = priceObj.amountWas ? parseFloat(priceObj.amountWas) : 0;                   currencyStr = priceObj.currency === 'GBP' ? '£' : '$';                }                                let savingAmt = 0;                let savingLabel = '';                if (rawPrice > 0 && rawMsrp > rawPrice) {                   savingAmt = parseFloat((rawMsrp - rawPrice).toFixed(2));                   savingLabel = `Save ${currencyStr}${savingAmt}`;                }                                // Apply Brand filter                if (this.selectedBrands && this.selectedBrands.length > 0) {                   const itemBrand = (data.brand || '').toLowerCase();                   const hasMatch = this.selectedBrands.some(sb => sb.toLowerCase() === itemBrand);                   if (!hasMatch) return;                }                // Apply Price filter                let priceFilterVal = null;                const min = this.customPriceMin ? this.customPriceMin.value : '';                const max = this.customPriceMax ? this.customPriceMax.value : '';                if (min || max) {                   priceFilterVal = `${min}_${max}`;                } else if (this.priceFilter && this.priceFilter.value !== 'all') {                   priceFilterVal = this.priceFilter.value;                }                if (priceFilterVal && rawPrice > 0) {                   if (priceFilterVal === 'under50' && rawPrice >= 50) return;                   if (priceFilterVal === 'over50' && rawPrice <= 50) return;                   if (priceFilterVal === 'over30' && rawPrice <= 30) return;                   if (priceFilterVal === 'over500' && rawPrice <= 500) return;                   if (priceFilterVal.includes('_')) {                      const parts = priceFilterVal.split('_');                      const min = parseFloat(parts[0]);                      const max = parseFloat(parts[1]);                      if (!isNaN(min) && rawPrice < min) return;                      if (!isNaN(max) && rawPrice > max) return;                   }                }                // Apply Discount filter                if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {                   const requiredDiscount = parseInt(this.discountFilter.value);                   if (!isNaN(requiredDiscount) && requiredDiscount > 0) {                      if (!rawMsrp || rawMsrp <= rawPrice) return;                      const ratio = Math.round((1 - (rawPrice / rawMsrp)) * 100);                      if (ratio < requiredDiscount) return;                   }                }                                extractedDeals.push({                   id: `airedale-${article.id || Math.random()}-${idx}`,                   url: externalUrl,                   image: imageUrl,                   fallbackImage: imageUrl,                   title: summaryTitle,                   brand: data.brand || '',                   productName: data.productName || '',                   merchant: merchantName,                   rawPrice: rawPrice,                   rawMsrp: rawMsrp,                   price: rawPrice > 0 ? rawPrice.toString() : '',                   msrp: rawMsrp > 0 ? rawMsrp.toString() : '',                   currency: currencyStr,                   isCheckPrice: !rawPrice,                   savingLabel: savingLabel,                   savingType: rawMsrp > rawPrice ? 'amount' : 'none',                   isPrime: false,                   starRating: null,                   description: description,                   text: data.text || ''                });             });          });                    const airedaleBrandsList = Object.keys(dynamicBrandsCounts).map(b => ({              formatted_value: b,              count: dynamicBrandsCounts[b]          })).sort((a,b) => b.count - a.count);                    if (this.getViewMode() === 'savings_squad') {             this.populateBrandDropdown(airedaleBrandsList.slice(0, 15));             if (this.brandFilterWrapper) {                if (airedaleBrandsList.length === 0) {                    this.brandFilterWrapper.style.display = 'none';                } else {                    this.brandFilterWrapper.style.display = 'flex';                }             }          }                    this.deals = extractedDeals;          this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        isBroadQuery(query) {          const q = query.toLowerCase();          const intentModifiers = ['deals', 'best', 'sale', 'under', 'cheap', 'offers', 'discount'];          return intentModifiers.some(term => q.includes(term));        }        async fetchHawkDeals(query, append = false) {          const url = new URL(this.apiUrl);          url.searchParams.append('model_name', query);          const areaCode = this.getAreaCode();          if (areaCode) {            url.searchParams.append('area', areaCode);          }                    if (append && this.deals.length > 0) {            url.searchParams.append('offset', this.deals.length.toString());          }                    if (this.retailerSelect && this.retailerSelect.value) {            url.searchParams.append('filter_merchant_name', this.retailerSelect.value);          }                    if (this.selectedBrands && this.selectedBrands.length > 0) {            url.searchParams.append('filter_label[text_brand]', this.selectedBrands.join(','));          }                    let priceVal = null;          const min = this.customPriceMin ? this.customPriceMin.value : '';          const max = this.customPriceMax ? this.customPriceMax.value : '';          if (min || max) {             priceVal = `${min}_${max}`;          } else if (this.priceFilter && this.priceFilter.value !== 'all') {             priceVal = this.priceFilter.value;          }          if (priceVal) {            if (priceVal === 'under50') {              url.searchParams.append('filter_max_price', '50');            } else if (priceVal === 'over50') {              url.searchParams.append('filter_min_price', '50');            } else if (priceVal === 'over30') {              url.searchParams.append('filter_min_price', '30');            } else if (priceVal === 'over500') {              url.searchParams.append('filter_min_price', '500');            } else if (priceVal.includes('_')) {              const parts = priceVal.split('_');              if (parts[0]) url.searchParams.append('filter_min_price', parts[0]);              if (parts[1]) url.searchParams.append('filter_max_price', parts[1]);            }          }                    if (this.discountFilter && this.discountFilter.value !== 'all' && this.discountFilter.value !== '0') {            const v = parseInt(this.discountFilter.value);            if (!isNaN(v) && v > 0) {              const ratio = (100 - v) / 100;              url.searchParams.append('min_discount_ratio', ratio.toString());            }          }                    if (this.offerTypeSelect && this.offerTypeSelect.value) {            url.searchParams.append('offer', this.offerTypeSelect.value);          }                    url.searchParams.append('filter_product_types', 'deals');                    if (this.rowsSelect && this.rowsSelect.value) {            url.searchParams.append('rows', this.rowsSelect.value);          } else {             url.searchParams.append('rows', '12'); // default          }          let response;          try {             response = await fetch(url.toString());          } catch(e) {             if (window.location.protocol === 'file:') {                console.warn("[Tom's Guide Widget] fetch from file:// blocked by local CORS policy, falling back to Adviser mock.");                await this.fetchAdviserDeals(query);                return;             }             console.warn("Hawk fetch failed", e);             this.deals = [];             this.render();             return;          }          if (!response.ok) {            throw new Error('Hawk API Response Error');          }          const rawData = await response.json();          // Safely locate data array from potentially wrapped response          let offers = [];          let modelInfoArray = [];                    let brandFilterData = null;          if (rawData && rawData.widget && rawData.widget.data && Array.isArray(rawData.widget.data.filters)) {             brandFilterData = rawData.widget.data.filters.find(f => f.type === 'label_text_brand');          } else if (rawData && rawData.data && Array.isArray(rawData.data.filters)) {             brandFilterData = rawData.data.filters.find(f => f.type === 'label_text_brand');          }          if (brandFilterData && Array.isArray(brandFilterData.values) && brandFilterData.values.length > 0) {             this.populateBrandDropdown(brandFilterData.values);          } else {             if (this.brandFilterWrapper && this.selectedBrands.length === 0) {                this.brandFilterWrapper.style.display = 'none';             }          }                    if (rawData && rawData.widget && rawData.widget.data) {            if (Array.isArray(rawData.widget.data.offers)) offers = rawData.widget.data.offers;            if (rawData.widget.data.model_info && typeof rawData.widget.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.widget.data.model_info) ? rawData.widget.data.model_info : Object.values(rawData.widget.data.model_info);            }          } else if (rawData && rawData.data) {            if (Array.isArray(rawData.data.offers)) offers = rawData.data.offers;            if (rawData.data.model_info && typeof rawData.data.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.data.model_info) ? rawData.data.model_info : Object.values(rawData.data.model_info);            }          } else {            if (Array.isArray(rawData)) offers = rawData;            else if (rawData && Array.isArray(rawData.offers)) offers = rawData.offers;            else if (rawData && rawData.offers && Array.isArray(rawData.offers.offer)) offers = rawData.offers.offer;            else if (rawData && rawData.offers) offers = [].concat(rawData.offers);                        if (rawData && rawData.model_info && typeof rawData.model_info === 'object') {              modelInfoArray = Array.isArray(rawData.model_info) ? rawData.model_info : Object.values(rawData.model_info);            }          }          let modelDetails = {};          modelInfoArray.forEach(m => {            const mId = m.model_id || m.id;            if (mId) {              modelDetails[mId] = {                score: m.score != null ? parseFloat(m.score) : null,                brand: m.brand || null,                parent: (m.parents && Array.isArray(m.parents) && m.parents.length > 0) ? m.parents[0].name : null              };            }          });          offers.forEach(item => {            let data = { ...item };            const mId = data.model_id;            if (mId && modelDetails[mId]) {              data.review_score = modelDetails[mId].score;              data.model_brand = modelDetails[mId].brand;              data.model_parent = modelDetails[mId].parent;            } else {              data.review_score = null;            }                        let itemOffers = [];            if (Array.isArray(item.offers)) itemOffers = item.offers;            else if (Array.isArray(item.offer)) itemOffers = item.offer;            else if (item.offers && typeof item.offers === 'object') itemOffers = [item.offers];            else if (item.offer && typeof item.offer === 'object') itemOffers = [item.offer];            if (itemOffers.length > 0) {              itemOffers.forEach(subItem => {                let subData = { ...item, ...subItem };                const subId = subData.model_id;                if (subId && modelDetails[subId]) {                  subData.review_score = modelDetails[subId].score;                  subData.model_brand = modelDetails[subId].brand;                  subData.model_parent = modelDetails[subId].parent;                } else if (data.review_score != null) {                  subData.review_score = data.review_score;                }                if (subData.merchant && typeof subData.merchant === 'object') {                  subData.merchant_name = subData.merchant.name;                }                this.deals.push(this.extractDealData(subData));              });              return;            }                        if (item.merchant && typeof item.merchant === 'object') {              data.merchant_name = item.merchant.name;            }                        this.deals.push(this.extractDealData(data));          });                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        async fetchAdviserDeals(query) {          // ======================================================================          // TODO: ADVISER API REPLACEMENT          // The code below simulates the Adviser API response using mock data.          // Once the real endpoint is ready, remove getAdviserMockData() and           // perform an actual fetch() request similar to fetchHawkDeals().          // Example:          // const area = this.getAreaCode();          // let apiUrl = `https://your-adviser-api.com/search?q=${query}&area=${area}`;          // if (this.priceFilter && this.priceFilter.value !== 'all') {          //   const val = this.priceFilter.value;          //   if (val === 'under50') apiUrl += '&filter_max_price=50';          //   else if (val === '50_100') apiUrl += '&filter_max_price=100';          //   else if (val === '100_200') apiUrl += '&filter_max_price=200';          //   else if (val === '200_500') apiUrl += '&filter_max_price=500';          // }          // const res = await fetch(apiUrl);          // const rawData = await res.json();          // ======================================================================          // Simulating network latency          await new Promise(resolve => setTimeout(resolve, 400));                    const rawData = this.getAdviserMockData();          let offers = [];                    if (rawData && rawData.data && rawData.data.Get && Array.isArray(rawData.data.Get.Deal)) {            offers = rawData.data.Get.Deal;          }                    // Basic client-side filtering for the mock if we want it to react to the query          const q = query.toLowerCase();          const selectedRetailer = (this.retailerSelect && this.retailerSelect.value) ? this.retailerSelect.value.toLowerCase() : null;                    offers.forEach(item => {            const dataObj = item;                        // Apply retailer filter            const itemRetailer = (dataObj.dataRetailer || '').toLowerCase();            if (selectedRetailer && itemRetailer !== selectedRetailer && !itemRetailer.includes(selectedRetailer)) {              return;            }                        // Apply mock price filter            let price = dataObj.dataDiscountedPrice || 0;            if (typeof price === 'string') {              price = parseFloat(price.replace(/[^0-9.]/g, ''));            }            let priceVal = null;            const min = this.customPriceMin ? this.customPriceMin.value : '';            const max = this.customPriceMax ? this.customPriceMax.value : '';            if (min || max) {               priceVal = `${min}_${max}`;            } else if (this.priceFilter && this.priceFilter.value !== 'all') {               priceVal = this.priceFilter.value;            }            if (priceVal) {              if (priceVal === 'under50' && price >= 50) return;              if (priceVal === 'over50' && price <= 50) return;              if (priceVal === 'over30' && price <= 30) return;              if (priceVal === 'over500' && price <= 500) return;              if (priceVal.includes('_')) {                 const parts = priceVal.split('_');                 if (parts[0] && price < parseFloat(parts[0])) return;                 if (parts[1] && price > parseFloat(parts[1])) return;              }            }                        // Map Adviser schema to our widget's expected schema            const mappedData = {              url: dataObj.linkHREF || dataObj.dataLink || '#',              image: dataObj.imageURL || (dataObj.image && dataObj.image.src) || '',              title: dataObj.dataProduct || (dataObj.product && dataObj.product.name) || 'Product Deal',              merchant: dataObj.dataRetailer || 'Retailer',              price: dataObj.dataDiscountedPrice || 0,              currency: dataObj.dataCurrency === 'USD' ? '$' : (dataObj.dataCurrency || '$'),              msrp: dataObj.dataOriginalPrice || null            };                        const titleLow = mappedData.title.toLowerCase();            const merchLow = mappedData.merchant.toLowerCase();                        // Smarter mock filtering            let isMatch = false;            if (q === '' || this.isBroadQuery(q)) {              isMatch = true;            } else if (titleLow.includes(q) || merchLow.includes(q)) {              isMatch = true;            } else if ((q.includes('laptop') || q.includes('mac') || q.includes('pc')) && (titleLow.includes('macbook') || titleLow.includes('laptop'))) {              isMatch = true;            } else if ((q.includes('tv') || q.includes('television')) && (titleLow.includes('tv') || titleLow.includes('oled') || titleLow.includes('qled'))) {              isMatch = true;            } else if ((q.includes('phone') || q.includes('smartphone')) && (titleLow.includes('galaxy') || titleLow.includes('phone'))) {              isMatch = true;            } else if ((q.match(/watch|fitness|run|shoe/)) && (titleLow.includes('forerunner') || titleLow.includes('saucony') || titleLow.includes('watch'))) {              isMatch = true;            }                        if (isMatch) {               this.deals.push(this.extractDealData(mappedData));            }          });                    let rowLimit = 12;          if (this.rowsSelect && this.rowsSelect.value) {            rowLimit = parseInt(this.rowsSelect.value, 10) || 12;          }          // Intentionally omitting the slice here to allow "Load More" to work if the API returns more                    this.sortData();          this.render();          if (typeof trackDealsAppeared !== 'undefined') {             trackDealsAppeared(this.widgetId, this.deals, this.revenueId, typeof this.getAreaCode === 'function' ? (this.getAreaCode() === 'GB' ? 'GBP' : 'USD') : 'USD', this.currentQuery, this.widgetTypeName);          }        }        getAdviserMockData() {          return {            "data": {              "Get": {                "Deal": [                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 300,                    "dataOriginalPrice": 399,                    "dataProduct": "Samsung Galaxy A36",                    "dataRetailer": "Samsung",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/MqDYsukV3JBG54te6dEs7j.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 14,                    "dataOriginalPrice": 24,                    "dataProduct": "Blink Mini",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/3JurmAjHsDa5tPdaHAwEV8.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 59,                    "dataOriginalPrice": 99,                    "dataProduct": "Ring Video Doorbell",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/rAh4uR7AsAsALCCLTXnLNJ.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 10,                    "dataOriginalPrice": 599,                    "dataProduct": "MacBook Neo",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/Lg4Dvg68j9SbB5CPNrTEpH.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 749,                    "dataOriginalPrice": 849,                    "dataProduct": "65\\\" Fire TV Omni 4K QLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/SG34ZWodUkLTxJvMTbjPYR.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 71,                    "dataOriginalPrice": 160,                    "dataProduct": "Saucony Hurricane 24",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/vxf7UD5T2Am7guVzFoFcZ4.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 649,                    "dataOriginalPrice": 749,                    "dataProduct": "Garmin Forerunner 970",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/3GKnEu7CdhtxPMfnPCMCiA.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1049,                    "dataOriginalPrice": 1499,                    "dataProduct": "LG 48\\\" C4 4K OLED TV",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/imvwZV9zoMD6fn9Afuge35.jpg"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 1499,                    "dataOriginalPrice": 2199,                    "dataProduct": "Samsung 49\\\" Odyssey Neo G9 4K Gaming Monitor",                    "dataRetailer": "Amazon",                    "imageURL": "http://cdn.mos.cms.futurecdn.net/XWDEJ5dUAE2nhK8k3Jk7k7.png"                  },                  {                    "dataCurrency": "USD",                    "dataDiscountedPrice": 299,                    "dataOriginalPrice": 699,                    "dataProduct": "EGOHOME Black Memory Foam Mattress (queen)",                    "dataRetailer": "Amazon",                    "imageURL": "https://cdn.mos.cms.futurecdn.net/hMUemtAejNETLVYxNrktzm.jpg"                  }                ]              }            }          };        }        decodeHTML(html) {          if (!html) return '';          const txt = document.createElement("textarea");          txt.innerHTML = String(html);          return txt.value;        }        extractDealData(item) {          const priceRawStr = String(item.price || item.current_price || '0');          const msrpRawStr = String(item.was_price || item.msrp || item.original_price || '0');          const rawPrice = parseFloat(priceRawStr.replace(/[^\d.]/g, '')) || 0;          const rawMsrp = parseFloat(msrpRawStr.replace(/[^\d.]/g, '')) || 0;          const isCheckPrice = rawPrice === 0 || priceRawStr === '0.00' || priceRawStr === '0';                    let originalImageUrl = item.image || item.image_url || item.product_image || '';          let imageUrl = originalImageUrl;          if ((!imageUrl || isCheckPrice) && item.model_image_url) {             imageUrl = item.model_image_url;             originalImageUrl = imageUrl;          } else if ((!imageUrl || isCheckPrice) && item.model_image) {             imageUrl = item.model_image;             originalImageUrl = imageUrl;          }                    if (imageUrl) {            imageUrl = imageUrl.replace(/-(\d+)-(\d+)(\.[a-z.]+)$/i, '$3');          }                    let fallbackImage = '';          if (originalImageUrl && originalImageUrl !== imageUrl) {             fallbackImage = originalImageUrl;          } else if (item.model_image && item.model_image !== imageUrl) {             fallbackImage = item.model_image;          } else if (item.model_image_url && item.model_image_url !== imageUrl) {             fallbackImage = item.model_image_url;          }                    const rawCurrency = item.currency || item.currency_symbol || '$';                    let savingLabel = item.percentage_saving_label || '';          if (!savingLabel && rawMsrp > rawPrice && rawPrice > 0) {            const pct = Math.round(((rawMsrp - rawPrice) / rawMsrp) * 100);            if (pct > 0) {              savingLabel = `${pct}% OFF`;            }          }                    const isPrime = item.shipping && item.shipping.prime === true;                    let scoreRaw = (item.review_score !== undefined && item.review_score !== null && item.review_score > 0) ? parseFloat(item.review_score) : null;          let starRating = 0;          if (scoreRaw !== null) {            starRating = Math.round((scoreRaw > 10 ? scoreRaw / 20 : scoreRaw / 2) * 2) / 2;          }                    return {            id: item.offer_id || item.link || item.url || item.offer_link || Math.random().toString(),            url: item.link || item.url || item.offer_link || '#',            image: imageUrl,            fallbackImage: fallbackImage,            title: item.name || item.title || item.model_name || item.product_name || 'Unknown Product',            brand: item.brand || '',            productName: item.model_name || item.product_name || item.name || '',            merchant: item.merchant_name || item.merchant || item.retailer || 'Retailer',            price: item.price !== undefined ? String(item.price) : '0.00',            currency: this.decodeHTML(rawCurrency),            msrp: item.was_price || item.msrp || item.original_price || null,            rawPrice: rawPrice,            rawMsrp: rawMsrp,            hasWasPrice: (item.was_price !== undefined && item.was_price !== null),            isCheckPrice: isCheckPrice,            savingLabel: savingLabel,            isPrime: isPrime,            starRating: starRating > 0 ? starRating : null,            modelId: item.model_id || '',            productKey: item.product_key || '',            merchantId: (item.merchant && typeof item.merchant === 'object') ? item.merchant.id || '' : '',            matchId: item.match_id || '',            merchantNetwork: (item.merchant && typeof item.merchant === 'object') ? item.merchant.an || '' : '',            merchantUrl: (item.merchant && typeof item.merchant === 'object') ? item.merchant.url || '' : '',            modelBrand: item.model_brand || item.brand || '',            modelParent: item.model_parent || ''          };        }        sortData() {          const sortVal = this.sortSelect ? this.sortSelect.value : (this.getViewMode() === 'savings_squad' ? 'date_desc' : 'discount_desc');          if (sortVal === 'price_asc') {            this.deals.sort((a, b) => a.rawPrice - b.rawPrice);          } else if (sortVal === 'price_desc') {            this.deals.sort((a, b) => b.rawPrice - a.rawPrice);          } else if (sortVal === 'discount_desc') {            this.deals.sort((a, b) => {              const aDiscount = a.rawMsrp > a.rawPrice ? (a.rawMsrp - a.rawPrice) : 0;              const bDiscount = b.rawMsrp > b.rawPrice ? (b.rawMsrp - b.rawPrice) : 0;              return bDiscount - aDiscount;            });          } else if (sortVal === 'date_desc') {             this.deals.sort((a, b) => {                let dateA = 0;                let dateB = 0;                if (a && a.modifiedDate) {                   const valA = Array.isArray(a.modifiedDate) ? a.modifiedDate[0] : a.modifiedDate;                   dateA = new Date(valA).getTime();                   if (isNaN(dateA)) dateA = 0;                }                if (b && b.modifiedDate) {                   const valB = Array.isArray(b.modifiedDate) ? b.modifiedDate[0] : b.modifiedDate;                   dateB = new Date(valB).getTime();                   if (isNaN(dateB)) dateB = 0;                }                return dateB - dateA;             });          }        }        getFilteredDeals() {          let filteredDeals = [...this.deals];                    if (this.dealModeToggle && this.dealModeToggle.checked) {            filteredDeals = filteredDeals.filter(d => d.hasWasPrice || (d.msrp && d.rawMsrp > d.rawPrice));          }                    return filteredDeals;        }        showLoading() {          const _div = '<' + '/div>';          const skeletonCardHtml = `            \x3Cdiv class="tg-df-card">              \x3Cdiv class="tg-df-card-image-box">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-img">${_div}              ${_div}              \x3Cdiv class="tg-df-card-body">                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text title">${_div}                \x3Cdiv class="tg-df-card-footer mt-auto">                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text short" style="height:24px;">${_div}                  \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text" style="height:44px; margin-top:8px;">${_div}                ${_div}              ${_div}            ${_div}`;          this.grid.innerHTML = Array(4).fill(skeletonCardHtml).join('');        }        showError() {          const _div = '<' + '/div>';          this.grid.innerHTML = `\x3Cdiv class="tg-df-message">            An error occurred while finding deals. Please check your connection and try again.          ${_div}`;        }        escapeHTML(str) {          if (!str) return '';          return String(str).replace(/[&<>'"]/g, tag => ({              '&': '&', '<': '<', '>': '>', "'": ''', '"': '"'          }[tag] || tag));        }                bindCouponButtons() {          const btns = this.root.querySelectorAll('.tg-df-tag-coupons');          btns.forEach(btn => {            btn.addEventListener('click', (e) => {              e.preventDefault();              e.stopPropagation();              const merchant = btn.getAttribute('data-merchant');              this.openVouchersModal(merchant);            });          });                    const closeBtn = this.root.querySelector('#tg-df-vouchers-close');          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (closeBtn) {            closeBtn.onclick = () => this.closeVouchersModal();          }          if (backdrop) {            backdrop.onclick = (e) => {              if (e.target === backdrop) this.closeVouchersModal();            };          }        }                closeVouchersModal() {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          if (backdrop) backdrop.classList.remove('active');        }                async checkMerchantsCouponsBulk(merchants) {          if (!merchants || merchants.length === 0) return {};          const controller = new AbortController();          const timeoutId = setTimeout(() => controller.abort(), 4000);          try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchants.join(','));            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '120');            url.searchParams.append('origin', 'widgets-clientside');                        let res; try { res = await fetch(url.toString(), { signal: controller.signal }); } catch (e) { return {}; }            clearTimeout(timeoutId);            if (!res.ok) return {};            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        const foundMerchants = new Set();            offers.forEach(o => {              let mName = o.merchant_name || o.merchant || o.retailer;              if (mName && typeof mName === 'object') mName = mName.name;              if (mName) foundMerchants.add(String(mName).toLowerCase());            });            const resultMap = {};            merchants.forEach(m => {              if (m) resultMap[m] = foundMerchants.has(String(m).toLowerCase());            });            return resultMap;          } catch (e) {            return {};          }        }                async openVouchersModal(merchantName) {          const backdrop = this.root.querySelector('#tg-df-vouchers-modal');          const title = this.root.querySelector('#tg-df-vouchers-title');          const content = this.root.querySelector('#tg-df-vouchers-content');                    if (!backdrop || !content) return;                    // HACK: Hide closing tags          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h4 = '<' + '/h4>';          const _svg = '<' + '/svg>';          const _circle = '<' + '/circle>';          const _polyline = '<' + '/polyline>';          const _rect = '<' + '/rect>';          const _path = '<' + '/path>';                    title.innerText = `${merchantName} Coupons & Deals`;          content.innerHTML = `\x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}                               \x3Cdiv class="tg-df-skeleton tg-df-skeleton-text">${_div}`;          backdrop.classList.add('active');                    try {            const area = this.getAreaCode();            const url = new URL('https://search-api.fie.future.net.uk/widget.php');            url.searchParams.append('model_name', 'Everything');            url.searchParams.append('language', 'en-GB');            if (area) url.searchParams.append('area', area);            url.searchParams.append('combine_product_types', '1');            url.searchParams.append('filter_merchant_name', merchantName);            url.searchParams.append('all_filters', 'false');            url.searchParams.append('exclude_unlabelled', 'false');            url.searchParams.append('include_specs', 'false');            url.searchParams.append('sort', 'voucher');            url.searchParams.append('distinct_merchants', 'natural');            url.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');            url.searchParams.append('rows', '50');            url.searchParams.append('origin', 'widgets-clientside');                        const res = await fetch(url.toString());            if (!res.ok) throw new Error('API Error');            const data = await res.json();                        let offers = [];            if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {              offers = data.widget.data.offers;            } else if (data && data.data && Array.isArray(data.data.offers)) {              offers = data.data.offers;            } else if (Array.isArray(data)) {              offers = data;            } else if (data && Array.isArray(data.offers)) {              offers = data.offers;            } else if (data && data.offers && Array.isArray(data.offers.offer)) {              offers = data.offers.offer;            } else if (data && Array.isArray(data.data)) {              offers = data.data;            }                        if (offers.length === 0) {              content.innerHTML = `\x3Cdiv class="tg-df-message">No vouchers currently available for ${this.escapeHTML(merchantName)}.${_div}`;              return;            }                        content.innerHTML = offers.map((v, idx) => {              let offerObj = v;              if (v.offers && v.offers.offer) {                offerObj = Array.isArray(v.offers.offer) ? v.offers.offer[0] : v.offers.offer;              } else if (v.offer) {                offerObj = Array.isArray(v.offer) ? v.offer[0] : v.offer;              }              let logoUrl = v.logo_url || offerObj.logo_url || '';              if (!logoUrl && v.merchant) {                if (Array.isArray(v.merchant) && v.merchant.length > 0) logoUrl = v.merchant[0].logo_url || '';                else logoUrl = v.merchant.logo_url || '';              }                            const offerName = offerObj.name || offerObj.title || v.name || v.title || 'Special Offer';              const endTime = offerObj.end_time || v.end_time || '';              const linkUrl = offerObj.link || offerObj.url || v.link || v.url || '#';                            let foundVoucherCode = '';              const findVoucherCode = (obj) => {                if (!obj || typeof obj !== 'object') return;                if (obj.type === 'voucher_code' && obj.display_value) {                  foundVoucherCode = obj.display_value;                  return;                }                if (Array.isArray(obj)) {                  for (const item of obj) {                    findVoucherCode(item);                    if (foundVoucherCode) return;                  }                } else {                  for (const k in obj) {                    if (Object.prototype.hasOwnProperty.call(obj, k)) {                      findVoucherCode(obj[k]);                      if (foundVoucherCode) return;                    }                  }                }              };              findVoucherCode(offerObj);              if (!foundVoucherCode) findVoucherCode(v);                            const voucherCode = foundVoucherCode || offerObj.voucher_code || v.voucher_code || '';              const codeHtml = voucherCode ? `\x3Cspan class="tg-df-voucher-code" data-action="copy-code" data-code="${this.escapeHTML(voucherCode)}" title="Copy to clipboard">                \x3Cspan class="tg-df-voucher-code-text">${this.escapeHTML(voucherCode)}${_span}                \x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-left:6px;flex-shrink:0;" class="tg-df-voucher-copy-icon">                  \x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2">${_rect}                  \x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1">${_path}                ${_svg}              ${_span}` : '';                            const logoHtml = logoUrl                 ? `\x3Cimg src="${this.escapeHTML(logoUrl)}" alt="${this.escapeHTML(offerName)}" class="tg-df-voucher-logo" />`                 : `\x3Cdiv class="tg-df-voucher-logo" style="background:#e2e8f0;">${_div}`;                            let expiryHtml = '';              if (endTime) {                let dStr = endTime;                if (!isNaN(dStr) && String(dStr).length === 10) dStr = Number(dStr) * 1000;                const d = new Date(dStr);                if (!isNaN(d.getTime())) {                  const options = { year: 'numeric', month: 'short', day: 'numeric' };                  expiryHtml = `                    \x3Cdiv class="tg-df-voucher-expiry">                      \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                        \x3Ccircle cx="12" cy="12" r="10">${_circle}                        \x3Cpolyline points="12 6 12 12 16 14">${_polyline}                      ${_svg}                      Expires ${d.toLocaleDateString(undefined, options)}                    ${_div}`;                }              }              const revenueIdVal = generateRevenueId(linkUrl, offerName, merchantName, null);              const rewrittenLinkUrl = rewriteAffiliateLink(linkUrl, area, revenueIdVal);              return `                \x3Ca href="${this.escapeHTML(rewrittenLinkUrl)}" target="_blank" rel="noopener nofollow" class="tg-df-voucher-item"                  data-action="voucher-click"                  data-product-name="${this.escapeHTML(offerName)}"                  data-merchant-name="${this.escapeHTML(merchantName)}"                  data-analytics-id="${this.escapeHTML(offerObj.offer_id || offerObj.id || v.id || '')}"                  data-price=""                  data-previous-price=""                  data-original-link="${this.escapeHTML(linkUrl)}"                  data-revenue-id="${revenueIdVal}"                  data-index="${idx}"                  data-total="${offers.length}"                  data-in-stock="true"                  data-currency="USD"                  data-model-id="${this.escapeHTML(offerObj.model_id || v.model_id || offerObj.id || v.id || '')}"                  data-merchant-id="${this.escapeHTML(offerObj.merchant_id || offerObj.merchant?.id || '')}"                >                  ${logoHtml}                  \x3Cdiv class="tg-df-voucher-content">                    \x3Ch4 class="tg-df-voucher-title">${this.escapeHTML(offerName)}${_h4}                    ${codeHtml}                    ${expiryHtml}                  ${_div}                ${_a}              `;            }).join('');                        // Attach copy functionality            const copyBtns = content.querySelectorAll('[data-action="copy-code"]');            copyBtns.forEach(btn => {              btn.addEventListener('click', async (e) => {                e.preventDefault();                e.stopPropagation();                                const code = btn.getAttribute('data-code');                if (!code) return;                                try {                  const copyToClipboard = async (text) => {                     if (window.navigator.clipboard && window.isSecureContext) {                        try { await window.navigator.clipboard.writeText(text); return; } catch (e) {}                     }                     const textArea = document.createElement("textarea");                     textArea.value = text;                     textArea.style.position = "fixed";                     document.body.appendChild(textArea);                     textArea.focus();                     textArea.select();                     document.execCommand('copy');                     textArea.remove();                  };                  await copyToClipboard(code);                                    // Visual feedback                  btn.classList.add('copied');                  const textSpan = btn.querySelector('.tg-df-voucher-code-text');                  const iconSvg = btn.querySelector('.tg-df-voucher-copy-icon');                                    const origText = textSpan.innerText;                  const origIcon = iconSvg.innerHTML;                                    textSpan.innerText = 'Copied!';                  iconSvg.innerHTML = `\x3Cpolyline points="20 6 9 17 4 12">${_polyline}`;                                    setTimeout(() => {                    if (btn) {                      btn.classList.remove('copied');                      if (textSpan) textSpan.innerText = origText;                      if (iconSvg) iconSvg.innerHTML = origIcon;                    }                  }, 2000);                                    trackElementInteraction({                    id: 'voucher-code-copy',                    name: 'Copy Voucher Code',                    label: `Copied ${code} for ${merchantName}`                  });                } catch (err) {                  console.warn('Failed to copy text: ', err);                }              });            });            // Attach voucher click tracking            const voucherBtns = content.querySelectorAll('[data-action="voucher-click"]');            voucherBtns.forEach(btn => {              btn.addEventListener('click', (e) => {                if (e.target.closest('[data-action="copy-code"]')) return;                                const productName = btn.getAttribute('data-product-name');                const merchantNameAttr = btn.getAttribute('data-merchant-name');                const productId = btn.getAttribute('data-analytics-id');                const price = parseFloat(btn.getAttribute('data-price')) || null;                const prevPriceStr = btn.getAttribute('data-previous-price');                const previousPrice = prevPriceStr ? parseFloat(prevPriceStr) : null;                const originalLink = btn.getAttribute('data-original-link');                const rewrittenLink = btn.getAttribute('href');                const revenueId = btn.getAttribute('data-revenue-id');                const index = parseInt(btn.getAttribute('data-index'), 10) || 0;                const inStock = btn.getAttribute('data-in-stock') === 'true';                const totalText = btn.getAttribute('data-total');                const totalDeals = parseInt(totalText, 10) || 0;                const productCategoryName = 'deals';                const trackingParams = {                  widgetId: this.widgetId,                  productCategoryName: productCategoryName,                  product: {                    modelId: btn.getAttribute('data-model-id') || null,                    matchId: btn.getAttribute('data-match-id') || null,                    brand: btn.getAttribute('data-model-brand') || null,                    parent: btn.getAttribute('data-model-parent') || null,                    name: productName,                    price: price,                    previousPrice: previousPrice,                    link: rewrittenLink,                    originalLink: originalLink,                    inStock: inStock                  },                  zeroBasedProductIndexOrNull: index,                  totalDealsOrProducts: totalDeals,                   merchant: {                    id: btn.getAttribute('data-merchant-id') || null,                    network: btn.getAttribute('data-merchant-network') || null,                    url: btn.getAttribute('data-merchant-url') || null,                    name: merchantNameAttr                  },                  revenueId: revenueId,                  widgetTypeName: this.widgetTypeName,                  isoCurrencyCode: btn.getAttribute('data-currency') || 'USD'                };                if (typeof trackDealClick === 'function') {                  trackDealClick(trackingParams);                }              });            });                                  } catch (e) {            console.warn(e);            content.innerHTML = `\x3Cdiv class="tg-df-message">Failed to load vouchers.${_div}`;          }        }        render() {          try {            if (this.getViewMode() === 'savings_squad' && this.airedaleTags.length > 0) {              if (this.categoryFilterWrapper) {                 this.categoryFilterWrapper.style.display = 'flex';              }              if (this.categoryFilter) {                 const _option = '<' + '/option>';                 let optionsHtml = `\x3Coption value="all">All Categories${_option}`;                 this.airedaleTags.forEach(tag => {                    const isSelected = this.activeDealTag === tag ? 'selected' : '';                    optionsHtml += `\x3Coption value="${this.escapeHTML(tag)}" ${isSelected}>${this.escapeHTML(tag)} (${this.airedaleTagCounts[tag] || 0})${_option}`;                 });                 this.categoryFilter.innerHTML = optionsHtml;                 this.categoryFilter.value = this.activeDealTag || 'all';              }            } else {               if (this.categoryFilterWrapper) {                  this.categoryFilterWrapper.style.display = 'none';               }            }            const displayDeals = this.getFilteredDeals();          // HACK: Hide closing tags from the CMS HTML sanitizer so it doesn't strip them during in-page injection          const _div = '<' + '/div>';          const _span = '<' + '/span>';          const _a = '<' + '/a>';          const _h3 = '<' + '/h3>';          const _p = '<' + '/p>';          const _strong = '<' + '/strong>';          const _sup = '<' + '/sup>';          const _button = '<' + '/button>';          if (displayDeals.length === 0) {            if (this.currentQuery.length > 2 || (this.getViewMode() === 'savings_squad')) {              if (this.deals.length > 0) {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No deals match your selected filters.                ${_div}`;              } else if (this.getViewMode() === 'savings_squad' && this.currentQuery.length <= 2) {                 // Do not show "no exact matches" if query is empty for savings_squad                 this.grid.innerHTML = '';              } else {                 this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                  No exact matches found for "\x3Cstrong>${this.escapeHTML(this.currentQuery)}${_strong}". Try adjusting your search term.                ${_div}`;              }            } else {              this.grid.innerHTML = `\x3Cdiv class="tg-df-message">                Search product or category names to discover the best deals from across the web.              ${_div}`;            }            return;          }          let dealsHtml = displayDeals.slice(0, this.displayLimit).map((deal, index) => {            try {               const currencySym = this.escapeHTML(deal.currency);               const isoCurrencyCode = normalizeCurrency(currencySym);               const escapedPrice = this.escapeHTML(deal.price);               const escapedMsrp = this.escapeHTML(deal.msrp);               const areaCode = this.getAreaCode();                              const revenueId = generateRevenueId(deal.url, deal.title, deal.merchant, null);               const originalLink = deal.url;               const rewrittenLink = rewriteAffiliateLink(deal.url, areaCode, revenueId);                        const productCategoryName = 'deals';            const dataAttr = `              data-action="${deal.isCheckPrice ? 'view-similar-click' : 'deal-click'}"              data-analytics-id="${this.escapeHTML(deal.externalProductId || deal.id || '')}"              data-product-name="${this.escapeHTML(deal.title)}"              data-merchant-name="${this.escapeHTML(deal.merchant)}"              data-price="${deal.rawPrice || ''}"              data-previous-price="${deal.rawMsrp || ''}"              data-original-link="${this.escapeHTML(originalLink)}"              data-revenue-id="${revenueId}"              data-index="${index}"              data-total="${displayDeals.length}"              data-in-stock="${deal.inStock !== false}"              data-currency="${this.escapeHTML(isoCurrencyCode)}"              data-model-id="${this.escapeHTML(deal.modelId || '')}"              data-product-key="${this.escapeHTML(deal.productKey || '')}"              data-merchant-id="${this.escapeHTML(deal.merchantId || '')}"            `;                        let priceGroupHtml = '';            let isSavingsSquadMode = this.getViewMode() === 'savings_squad';            let ctaText = 'View Deal';            let formattedPrice = '';            let msrpHtml = '';                        if (deal.isCheckPrice) {              ctaText = isSavingsSquadMode ? 'View Deal' : 'Check Price';              if (isSavingsSquadMode) {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-merchant-wrapper">                    \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                  \x3Cdiv class="tg-df-card-price-group">                  ${_div}                `;              } else {                priceGroupHtml = `                  \x3Cdiv class="tg-df-card-merchant-wrapper">                    \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                  ${_div}                  \x3Cdiv class="tg-df-card-price-group">                    \x3Cspan class="tg-df-card-price" style="font-size: 15px; font-weight: 500; font-style: italic;">See price at retailer${_span}                  ${_div}                `;              }            } else {              // Format Price              formattedPrice = escapedPrice.includes(currencySym)                 ? escapedPrice                 : `${currencySym}${escapedPrice}`;                              // Format MSRP              msrpHtml = deal.msrp && deal.rawMsrp > deal.rawPrice                ? `\x3Cspan class="tg-df-card-msrp">${escapedMsrp.includes(currencySym) ? escapedMsrp : currencySym + escapedMsrp}${_span}`                : '';                              priceGroupHtml = `                \x3Cdiv class="tg-df-card-merchant-wrapper">                  \x3Cspan class="tg-df-card-merchant-pill" title="${this.escapeHTML(deal.merchant)}">${this.escapeHTML(deal.merchant)}${_span}                ${_div}                \x3Cdiv class="tg-df-card-price-group">                  ${isSavingsSquadMode ? '' : `                  \x3Cspan class="tg-df-card-price">${formattedPrice}${_span}                  ${msrpHtml}                  `}                ${_div}              `;            }                        const discountBadgeHtml = deal.savingLabel && !deal.isCheckPrice              ? `\x3Cspan class="tg-df-card-discount-badge">${this.escapeHTML(deal.savingLabel)}${_span}`              : '';                          // HACK for CMS            const _button = '<' + '/button>';            const _svg = '<' + '/svg>';            const _path = '<' + '/path>';            const _rect = '<' + '/rect>';            const _circle = '<' + '/circle>';            const _polyline = '<' + '/polyline>';            const _line = '<' + '/line>';                        let badgesHtml = '';            const primeBadge = deal.isPrime ? `              \x3Cspan class="tg-df-tag tg-df-tag-prime">                \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="currentColor">                  \x3Cpath d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z">${_path}                ${_svg} Prime              ${_span}            ` : '';                        const couponsBadge = deal.merchant && deal.merchant.toLowerCase().includes('amazon') ? '' : `              \x3Cdiv class="tg-df-coupon-wrapper" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:inline-flex; align-items:center;">                \x3Cdiv class="tg-df-coupon-spinner">${_div}                \x3Cbutton type="button" class="tg-df-tag tg-df-tag-coupons" data-action="coupons-click" data-merchant="${this.escapeHTML(deal.merchant)}" style="display:none;">                  \x3Csvg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">                    \x3Cpath d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z">${_path}                    \x3Cline x1="7" y1="7" x2="7.01" y2="7">${_line}                  ${_svg} Coupons                ${_button}              ${_div}            `;                        // Note: We always add coupons badge if there's a chance, but to allow 3-line titles we check wrapper display state            badgesHtml = `              \x3Cdiv class="tg-df-card-badges">                ${primeBadge}                ${couponsBadge}              ${_div}            `;            const _linearGradient = '<' + '/linearGradient>';            const _polygon = '<' + '/polygon>';            const _stop = '<' + '/stop>';            const _defs = '<' + '/defs>';                        let starHtml = '';            if (deal.starRating) {              let rating = deal.starRating;                            if (rating > 0) {                const fullStars = Math.floor(rating);                const halfStar = (rating - fullStars) >= 0.5 ? 1 : 0;                const emptyStars = Math.max(0, 5 - fullStars - halfStar);                const blue = '#1f69ff'; // Tom's guide brand color from VIEW DEAL button                const gray = '#cbd5e1';                                const starSvgFull = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="${blue}" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                const gradId = 'half_grad_' + Math.floor(Math.random()*1000000);                const starSvgHalf = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" stroke="${blue}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cdefs>\x3ClinearGradient id="${gradId}" x1="0" x2="1" y1="0" y2="0">\x3Cstop offset="50%" stop-color="${blue}">${_stop}\x3Cstop offset="50%" stop-color="transparent">${_stop}${_linearGradient}${_defs}                  \x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26" fill="url(#${gradId})">${_polygon}${_svg}`;                                  const starSvgEmpty = `\x3Csvg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="${gray}" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\x3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26">${_polygon}${_svg}`;                                let stars = [];                for (let i=0; i<fullStars; i++) stars.push(starSvgFull);                if (halfStar) stars.push(starSvgHalf);                for (let i=0; i<emptyStars; i++) stars.push(starSvgEmpty);                                starHtml = `\x3Cdiv class="tg-df-card-stars" style="display:flex;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--tg-df-text-muted);">                  \x3Cspan style="margin-right:6px;">Tom's Guide:${_span}                  \x3Cdiv style="display:flex;gap:2px;">                    ${stars.join('')}                  ${_div}                ${_div}`;              }            }            let htmlOutput = '';            if (isSavingsSquadMode) {              htmlOutput += `              \x3Cdiv class="hawk-deal-widget-container tg-df-mobile-only" data-collapsible="true">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''} style="margin-bottom: 10px;">` : ''}                \x3Cdiv class="hawk-deal-widget-wrap">                  \x3Cdiv class="hawk-deal-widget-image-container">                    \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" rel="sponsored noopener" target="_blank" class="hawk-affiliate-link-deal-widget" ${dataAttr}>                      \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="hawk-lazy-image-deal-widget" loading="lazy" width="140" height="160" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                    ${_a}                  ${_div}                  \x3Cdiv class="hawk-deal-widget-text-cta-container">                    \x3Cdiv class="hawk-deal-widget-text-body-container">                      \x3Cdiv class="hawk-deal-widget-text-body-main">                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          ${deal.isCheckPrice ? `                            \x3Cspan class="hawk-deal-widget-title-product-title">${this.escapeHTML(deal.title)}${_span}                          ` : `                            \x3Cspan class="hawk-deal-widget-title-product-title">${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_span}                          `}                        ${_a}                        ${!deal.isCheckPrice && deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan class="hawk-deal-widget-title-was-price">was ${currencySym}${escapedMsrp}${_span}                          ${_a}                        ` : ''}                        \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-container" rel="sponsored noopener" target="_blank" ${dataAttr}>                          \x3Cspan class="hawk-deal-widget-title-retailer-price">                            ${!deal.isCheckPrice ? `                              \x3Cspan class="hawk-deal-widget-title-price">now ${formattedPrice}${_span}                              \x3Cspan class="hawk-deal-widget-title-retailer"> at ${this.escapeHTML(deal.merchant)}${_span}                            ` : `                              \x3Cspan class="hawk-deal-widget-title-price">See price at ${this.escapeHTML(deal.merchant)}${_span}                            `}                          ${_span}                        ${_a}                        ${deal.description ? `\x3Cdiv class="hawk-deal-widget-text-body-description">\x3Cp>${this.escapeHTML(deal.description)}${_p}${_div}` : ''}                      ${_div}                    ${_div}                    \x3Cdiv class="hawk-deal-widget-footer">                      \x3Cdiv class="hawk-deal-widget-button-wrapper">                        \x3Cdiv class="hawk-deal-widget-preferred-partner-wrapper">                          \x3Ca data-google-interstitial="false" aria-label="View ${this.escapeHTML(deal.title)} on ${this.escapeHTML(deal.merchant)}" href="${this.escapeHTML(rewrittenLink)}" class="hawk-affiliate-link-deal-button" rel="sponsored noopener" target="_blank" ${dataAttr}>                            \x3Cspan>${deal.isCheckPrice ? 'Check Price' : 'View Deal'}${_span}                          ${_a}                        ${_div}                      ${_div}                    ${_div}                  ${_div}                ${_div}              ${_div}              `;            }            htmlOutput += `              \x3Cdiv class="tg-df-card ${isSavingsSquadMode ? 'tg-df-desktop-only' : ''}">                ${this.editorMode ? `\x3Cinput type="checkbox" class="tg-df-deal-checkbox" data-id="${this.escapeHTML(deal.id)}" ${this.selectedDeals.has(deal.id) ? 'checked' : ''}>` : ''}                \x3Cdiv class="tg-df-card-image-box">                  ${discountBadgeHtml}                  \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;">                    \x3Cimg ${deal.image ? `src="${this.escapeHTML(deal.image)}"` : ''} alt="${this.escapeHTML(deal.title)}" class="tg-df-card-image" loading="lazy" onerror="${deal.fallbackImage ? `if(!this.dataset.fb) { this.dataset.fb='1'; this.src='${this.escapeHTML(deal.fallbackImage)}'; } else { this.style.opacity='0'; }` : `this.style.opacity='0';`}">                  ${_a}                ${_div}                \x3Cdiv class="tg-df-card-body">                  ${starHtml}                  ${badgesHtml}                  \x3Ch3 class="tg-df-card-title tg-df-custom-savings-squad-title" title="${this.escapeHTML(deal.title)}">                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" disable-tracking="true" target="_blank" rel="noopener nofollow" style="text-decoration: none; color: inherit;">                      ${isSavingsSquadMode                         ? (deal.isCheckPrice                             ? (deal.title && deal.title.includes(':')                                 ? `\x3Cstrong>${this.escapeHTML(deal.title.substring(0, deal.title.indexOf(':') + 1))}${_strong}\x3Cspan style="color: #1f69ff; font-weight: normal;">${this.escapeHTML(deal.title.substring(deal.title.indexOf(':') + 1))}${_span}`                                : this.escapeHTML(deal.title)                              )                             : `\x3Cstrong>${deal.brand ? this.escapeHTML(deal.brand) + ' ' : ''}${this.escapeHTML(deal.productName || deal.title || '')}:${_strong} ${deal.rawMsrp && deal.rawMsrp > deal.rawPrice ? `\x3Cspan style="color: #d0021b; text-decoration: line-through; font-weight: normal; margin-right: 4px;">was ${currencySym}${escapedMsrp}${_span} ` : ''}\x3Cspan style="color: #1f69ff; font-weight: normal;">now ${formattedPrice} at ${this.escapeHTML(deal.merchant)}${_span}`                          )                        : this.escapeHTML(deal.title)                      }                    ${_a}                  ${_h3}                  ${deal.description ? `\x3Cp style="font-size: 13px; color: var(--tg-df-text-muted); margin-bottom: 12px; line-height: 1.4;">${this.escapeHTML(deal.description)}${_p}` : ''}                  \x3Cdiv class="tg-df-card-footer">                    ${priceGroupHtml}                    \x3Ca href="${this.escapeHTML(rewrittenLink)}" ${dataAttr} target="_blank" rel="noopener nofollow" class="tg-df-card-cta ${isSavingsSquadMode ? 'tg-df-cta-savings-squad' : ''}" style="text-decoration: none;">${ctaText}${_a}                  ${_div}                ${_div}              ${_div}            `;                        return htmlOutput;            } catch (e) {               console.log("Error rendering deal in map for index", index, typeof deal === 'object' ? JSON.stringify(deal) : deal, "MSG:", e.message);               return '';            }          }).join('');                    if (displayDeals.length > this.displayLimit || ((this.getViewMode() === 'carousel' || this.getViewMode() === 'auto') && displayDeals.length > 0 && displayDeals.length % ((this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12) === 0)) {            if (this.getViewMode() === 'carousel') {               dealsHtml += `                 \x3Cbutton type="button" class="tg-df-load-more-card tg-df-load-more">                   \x3Csvg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-bottom: 8px;">\x3Cpath d="M5 12h14">\x3C/path>\x3Cpath d="m12 5 7 7-7 7">\x3C/path>\x3C/svg>                   Load More                 ${_button}               `;            } else {               dealsHtml += `                 \x3Cdiv style="width: 100%; display: flex; justify-content: center; margin-top: 16px; grid-column: 1 / -1;">                   \x3Cbutton type="button" class="tg-df-tag-outline tg-df-load-more" style="padding: 8px 24px; border-radius: 100px; font-weight: 600; font-size: 14px; cursor: pointer; display: flex; align-items: center;">Load More${_button}                 ${_div}               `;            }          }                    this.grid.innerHTML = dealsHtml;          // Inject JSON-LD          try {            let targetNode = this.hostContainer || document.head;            let jsonLdScript = targetNode.querySelector('#tg-df-json-ld-' + this.widgetId);            if (!jsonLdScript) {                jsonLdScript = document.createElement('script');                jsonLdScript.type = 'application/ld+json';                jsonLdScript.id = 'tg-df-json-ld-' + this.widgetId;                targetNode.appendChild(jsonLdScript);            }            const jsonLdData = {              "@context": "https://schema.org",              "@type": "ItemList",              "itemListElement": displayDeals.slice(0, this.displayLimit).map((deal, index) => {                 let isoCurrency = "USD";                 if (deal.currency === '£') isoCurrency = "GBP";                 else if (deal.currency === '€') isoCurrency = "EUR";                 else if (deal.currency === 'A$') isoCurrency = "AUD";                 else if (deal.currency === 'CA$') isoCurrency = "CAD";                 const areaCode = typeof this.getAreaCode === 'function' ? this.getAreaCode() : 'US';                 const revenueId = typeof generateRevenueId === 'function' ? generateRevenueId(deal.url, deal.title, deal.merchant, null) : '';                 const rewrittenLink = typeof rewriteAffiliateLink === 'function' ? rewriteAffiliateLink(deal.url, areaCode, revenueId) : deal.url;                 return {                   "@type": "ListItem",                   "position": index + 1,                   "item": {                     "@type": "Product",                     "name": deal.title,                     "image": deal.image || "",                     "description": deal.description || "",                     "brand": {                       "@type": "Brand",                       "name": deal.brand || ""                     },                     "offers": {                       "@type": "Offer",                       "priceCurrency": isoCurrency,                       "price": deal.rawPrice || 0,                       "url": rewrittenLink,                       "seller": {                         "@type": "Organization",                         "name": deal.merchant || ""                       }                     }                   }                 };              }).filter(item => item.item.name)            };            jsonLdScript.textContent = JSON.stringify(jsonLdData);          } catch(e) { console.warn("JSON-LD generation failed", e); }                    let gridWrapper = this.grid.parentElement;          if (gridWrapper && gridWrapper.classList.contains('tg-df-grid-wrapper')) {             let rightChevron = gridWrapper.querySelector('.tg-df-carousel-scroll-right');             let leftChevron = gridWrapper.querySelector('.tg-df-carousel-scroll-left');             if (this.getViewMode() === 'carousel') {                 // The observer set up in setupScrollListeners handles visibility.                 if (rightChevron) rightChevron.style.display = 'flex';                 if (leftChevron) leftChevron.style.display = 'none'; // reset correctly             } else {                 if (rightChevron) rightChevron.style.display = 'none';                 if (leftChevron) leftChevron.style.display = 'none';             }          }                    const loadMoreBtn = this.grid.querySelector('.tg-df-load-more');          if (loadMoreBtn) {            loadMoreBtn.addEventListener('click', async () => {              if (typeof trackElementInteraction === 'function') {                trackElementInteraction({ id: 'load-more', name: 'Load more', label: 'Load More Results' });              }              if (displayDeals.length <= this.displayLimit) {                 loadMoreBtn.innerHTML = `                  <svg class="tg-df-spinner" style="width: 16px; height: 16px; display: inline-block; vertical-align: middle; margin-right: 8px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" d="M12 2v4m0 12v4M4.93 4.93l2.83 2.83m8.48 8.48l2.83 2.83M2 12h4m12 0h4M4.93 19.07l2.83-2.83m8.48-8.48l2.83-2.83"/></svg>                  Loading...                 `;                 loadMoreBtn.disabled = true;                 await this.fetchDeals(this.currentQuery, true);              } else {                 this.displayLimit += ((this.rowsSelect && this.rowsSelect.value) ? parseInt(this.rowsSelect.value, 10) : 12);                 this.render();              }            });          }                      this.bindCouponButtons();            this.checkAndUpdateCoupons();                        // Allow hawklinks.js to discover and rewrite our widget links             // by appending the .article-body class and manually triggering processArticle.            let container = this.root.classList.contains('tg-df-container') ? this.root : this.root.querySelector('.tg-df-container');            if (container && !container.classList.contains('article-body')) {               container.classList.add('article-body');            }            setTimeout(() => {               if (this.grid && !this.grid.classList.contains('article-body')) this.grid.classList.add('article-body');            if (!this.processArticleFired) {                  this.processArticleFired = true;                  document.dispatchEvent(new CustomEvent('processArticle', { detail: { element: this.root } }));               }            }, 50);          } catch(e) {            console.warn("Widget render error", e);          }        }                async checkAndUpdateCoupons() {          const wrappers = Array.from(this.root.querySelectorAll('.tg-df-coupon-wrapper'));          if (wrappers.length === 0) return;                    const merchants = [...new Set(wrappers.map(w => w.getAttribute('data-merchant')).filter(Boolean))];          if (merchants.length === 0) return;          const couponResultsMap = await this.checkMerchantsCouponsBulk(merchants);                    for (const merchant of merchants) {            const hasCoupons = !!couponResultsMap[merchant];            const merchantWrappers = wrappers.filter(w => w.getAttribute('data-merchant') === merchant);            merchantWrappers.forEach(wrapper => {              const spinner = wrapper.querySelector('.tg-df-coupon-spinner');              const btn = wrapper.querySelector('.tg-df-tag-coupons');                            if (spinner) spinner.style.display = 'none';                            if (hasCoupons && btn) {                btn.style.display = 'inline-flex';              } else if (!hasCoupons) {                wrapper.style.display = 'none';              }            });          }        }        updateFloatingCopyBar() {          if (!this.editorBar || !this.editorSelectedCount) return;          if (this.editorMode && this.selectedDeals.size > 0) {            this.editorBar.style.display = 'flex';            this.editorSelectedCount.innerText = this.selectedDeals.size;          } else {            this.editorBar.style.display = 'none';          }        }        async copySelectedDealsToCMS() {           function htmlToSlate(htmlString) {              if (!htmlString) return [{ type: 'paragraph', children: [{ text: '' }] }];              let doc;              if (typeof window !== 'undefined' && window.DOMParser) {                 doc = new DOMParser().parseFromString(htmlString, 'text/html');              } else {                 doc = document.implementation.createHTMLDocument('');                 doc.body.innerHTML = htmlString;              }                            function parseNode(node, marks = {}) {                  if (node.nodeType === 3) {                      const text = node.textContent;                      if (!text) return null;                      return { text: text, ...marks };                  }                  if (node.nodeType === 1) {                      const tagName = node.tagName.toLowerCase();                      if (tagName === 'br') {                          return { type: 'line-break', children: [{ text: '' }] };                      }                      if (tagName === 'p') {                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return { type: 'paragraph', children };                      }                      if (tagName === 'strong' || tagName === 'b') {                          const newMarks = { ...marks, bold: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'em' || tagName === 'i') {                          const newMarks = { ...marks, italic: true };                          return Array.from(node.childNodes).map(child => parseNode(child, newMarks)).flat().filter(Boolean);                      }                      if (tagName === 'a') {                          const href = node.getAttribute('href') || '';                          let children = Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                          if (children.length === 0) children.push({ text: "" });                          return {                              type: 'link',                              url: href,                              isNoFollow: (node.getAttribute('rel') || '').includes('nofollow'),                              isSponsored: (node.getAttribute('rel') || '').includes('sponsored'),                              isOpenNewTab: node.getAttribute('target') === '_blank',                              isPreventDataRewrite: false,                              children: children                          };                      }                      return Array.from(node.childNodes).map(child => parseNode(child, marks)).flat().filter(Boolean);                  }                  return null;              }                            let blocksArray = [];              let currentParagraphChildren = [];              function flushParagraph() {                  if (currentParagraphChildren.length > 0) {                      blocksArray.push({ type: 'paragraph', children: currentParagraphChildren });                      currentParagraphChildren = [];                  }              }              Array.from(doc.body.childNodes).forEach(node => {                  const parsed = parseNode(node, {});                  const parsedItems = Array.isArray(parsed) ? parsed : (parsed ? [parsed] : []);                  parsedItems.forEach(item => {                      if (item.type === 'paragraph') {                          flushParagraph();                          blocksArray.push(item);                      } else {                          currentParagraphChildren.push(item);                      }                  });              });              flushParagraph();              if (blocksArray.length === 0) {                  blocksArray = [{ type: 'paragraph', children: [{ text: '' }] }];              }              return blocksArray;           }           const blocks = [];                      this.editorCopyBtn.innerHTML = '\x3Cspan class="tg-df-coupon-spinner" style="display:inline-block; margin-right:8px; border-top-color:#fff;">' + '<' + '/span> Copying...';           for (const deal of Array.from(this.selectedDeals.values())) {              const url = deal.url;              const merchant = deal.merchant;              const title = deal.title;              const image = deal.image;              const currentPrice = deal.currency + deal.rawPrice;              const wasPrice = deal.hasWasPrice && deal.rawMsrp > deal.rawPrice ? deal.currency + deal.rawMsrp : '';                            let couponsChildren = [];              try {                  const area = this.getAreaCode();                  const apiUrl = new URL('https://search-api.fie.future.net.uk/widget.php');                  apiUrl.searchParams.append('model_name', 'Everything');                  apiUrl.searchParams.append('language', 'en-GB');                  apiUrl.searchParams.append('area', area);                  apiUrl.searchParams.append('combine_product_types', '1');                  apiUrl.searchParams.append('filter_merchant_name', merchant);                  apiUrl.searchParams.append('all_filters', 'false');                  apiUrl.searchParams.append('exclude_unlabelled', 'false');                  apiUrl.searchParams.append('include_specs', 'false');                  apiUrl.searchParams.append('sort', 'voucher');                  apiUrl.searchParams.append('distinct_merchants', 'natural');                  apiUrl.searchParams.append('filter_product_types', 'vouchers,offer_deals,newsletter');                  apiUrl.searchParams.append('rows', '3');                  apiUrl.searchParams.append('origin', 'widgets-clientside');                                    let res; try { res = await fetch(apiUrl.toString()); } catch (e) { return; }                  if (res.ok) {                      const data = await res.json();                      let offers = [];                      if (data && data.widget && data.widget.data && Array.isArray(data.widget.data.offers)) {                        offers = data.widget.data.offers;                      } else if (data && data.data && Array.isArray(data.data.offers)) {                        offers = data.data.offers;                      }                                            if (offers.length > 0) {                          couponsChildren.push({ text: "Also check out these coupons: ", bold: true });                          offers.slice(0, 3).forEach((offer, idx) => {                              const actualOffer = offer.offer || offer;                              const offerName = actualOffer.name || actualOffer.title || offer.model_name || offer.title || offer.name || 'Coupon';                              const linkUrl = actualOffer.link || actualOffer.url || actualOffer.offer_link || '#';                              couponsChildren.push({ type: "line-break", children: [{ text: "" }] });                              couponsChildren.push({ text: "🎟️ " });                              couponsChildren.push({                                  type: "link",                                  url: linkUrl,                                  isNoFollow: true,                                  isSponsored: false,                                  isOpenNewTab: true,                                  isPreventDataRewrite: false,                                  children: [{ text: offerName, bold: true }]                              });                          });                      }                  }              } catch (err) {                  console.warn('Failed to fetch coupons for', merchant, err);              }              let descriptionValue = [];              if (deal.text) {                 descriptionValue = htmlToSlate(deal.text);              } else {                 const dealDescriptions = [                   `Don't miss out on this fantastic deal for the ${title}. It is currently available at ${merchant} for a highly competitive price.`,                   `We've spotted an excellent price drop on the ${title}. Grab it now at ${merchant} before it's gone.`,                   `The ${title} is currently seeing a generous discount over at ${merchant}. This is a perfect time to buy if you've been holding out.`,                   `If you're in the market for the ${title}, ${merchant} has just the deal for you.`,                   `Score the ${title} for less at ${merchant} right now. This is a rare chance to save big.`,                   `Upgrade your setup with the ${title}, now available at a stellar price via ${merchant}.`                 ];                 const randomDescription = dealDescriptions[Math.floor(Math.random() * dealDescriptions.length)];                 descriptionValue = [                    { type: "paragraph", children: [{ text: randomDescription }] }                 ];              }                            if (couponsChildren.length > 0) {                 let lastBlock = descriptionValue[descriptionValue.length - 1];                 if (lastBlock && lastBlock.type === 'paragraph') {                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children.push({ text: "Also check out these coupons: ", bold: true });                     lastBlock.children.push({ type: "line-break", children: [{ text: "" }] });                     lastBlock.children = lastBlock.children.concat(couponsChildren);                 } else {                     descriptionValue.push({                         type: "paragraph",                         children: [                             { type: "line-break", children: [{ text: "" }] },                             { type: "line-break", children: [{ text: "" }] },                             { text: "Also check out these coupons: ", bold: true },                             { type: "line-break", children: [{ text: "" }] },                             ...couponsChildren                         ]                     });                 }              }              function normalizeCurrencyToISO(symbol) {                const map = { '£': 'GBP', '$': 'USD', 'A$': 'AUD', 'CA$': 'CAD', '€': 'EUR' };                return map[symbol] || symbol;              }              const isoCurrency = normalizeCurrencyToISO(deal.currency);              blocks.push({                 id: (window.crypto && window.crypto.randomUUID) ? window.crypto.randomUUID() : 'cms-' + Date.now() + Math.random(),                 blockTypeName: "deal",                 excludeFrom: [],                 collapsible: false,                 props: {                    description: {                       value: descriptionValue,                       touched: false,                       validationMessage: ""                    },                    image: {                       value: {                          credit: [{ type: "paragraph", children: [{ text: merchant }] }],                          dateCreated: Date.now(),                          dateModified: Date.now(),                          distribution: [],                          fileSize: 0,                          height: 1000,                          id: deal.id,                          imageRights: "",                          src: image,                          name: title + ".jpg",                          tags: [],                          width: 1000                       },                       touched: false,                       validationMessage: ""                    },                    showDealButton: { value: true, touched: false, validationMessage: "" },                    isPreferredPartner: { value: false, touched: false, validationMessage: "" },                    linkHref: { value: url, touched: false, validationMessage: "" },                    linkLabel: { value: "", touched: false, validationMessage: "" },                    linkIsNoFollow: { value: true, touched: false, validationMessage: "" },                    linkIsSponsored: { value: false, touched: false, validationMessage: "" },                    linkIsOpenNewWindow: { value: true, touched: false, validationMessage: "" },                    customPromoFlags: { value: [], touched: false, validationMessage: "" },                    showStarDeal: { value: false, touched: false, validationMessage: "" },                    savingType: { value: "none", touched: false, validationMessage: "" },                    starDealPromoFlag: { value: "", touched: false, validationMessage: "" },                    showEditorsChoice: { value: false, touched: false, validationMessage: "" },                    editorsChoiceTitle: { value: "", touched: false, validationMessage: "" },                    hawkPriceCurrency: { value: { value: isoCurrency, label: isoCurrency }, touched: false, validationMessage: "" },                    hawkPrice: { value: deal.hasWasPrice ? String(deal.rawMsrp) : String(deal.rawPrice), touched: false, validationMessage: "" },                    hawkSalePrice: { value: String(deal.rawPrice), touched: false, validationMessage: "" },                    lastCheckedPriceDate: { value: "", touched: false, validationMessage: "" },                    hawkModel: { touched: false, validationMessage: "" },                    productId: { value: "", touched: false, validationMessage: "" },                    voucherId: { value: "", touched: false, validationMessage: "" },                    brand: { value: deal.brand || merchant, touched: false, validationMessage: "" },                    productName: { value: title, touched: false, validationMessage: "" },                    label: { value: "", touched: false, validationMessage: "" },                    retailer: { value: merchant, touched: false, validationMessage: "" },                    priceCheckError: false                 },                 failedFetchError: ""              });           }           const payload = {              type: "articleBuilderPages",              data: blocks           };           const jsonStr = JSON.stringify(payload);                      if (navigator.clipboard && navigator.clipboard.writeText) {              navigator.clipboard.writeText(jsonStr).then(() => {                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              }).catch(err => {                 console.warn('Failed to copy text: ', err);                 alert('Failed to copy deals to clipboard. See console.');              });           } else {              // Fallback              const textArea = document.createElement("textarea");              textArea.value = jsonStr;              document.body.appendChild(textArea);              textArea.focus();              textArea.select();              try {                 document.execCommand('copy');                 this.editorCopyBtn.innerHTML = 'Copied!';                 setTimeout(() => {                    this.editorCopyBtn.innerHTML = '\x3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="margin-right: 6px;">\x3Crect x="9" y="9" width="13" height="13" rx="2" ry="2"><' + '/rect>\x3Cpath d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"><' + '/path><' + '/svg> Copy to CMS';                 }, 2000);              } catch (err) {                 console.warn('Fallback: Oops, unable to copy', err);                 alert('Fallback: Failed to copy deals to clipboard.');              }              document.body.removeChild(textArea);           }        }      }      // Initialize the Widget      if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', () => new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer }));      } else {        new DealsFinderWidget({ rootId: 'signal-deals-finder-root', rootNode: shadowRoot, hostContainer: hostContainer });      }    })();  </script></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 12 classic PS5 games I wish I could experience again for the first time ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/12-classic-ps5-games-i-wish-i-could-experience-again-for-the-first-time</link>
                                                                            <description>
                            <![CDATA[ If you haven't played any of these 12 games yet, make sure you take the time to fully appreciate them during your first playthrough. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">tMyfxViUHtuWwhopAhLAhV</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/WZ2h7iHU8J6wBDbi3fdRV4-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 19 Jun 2026 18:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sarah Chaney ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/suPHU879S6aTM4FZ2htzD5.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Sarah Chaney is a freelance tech writer with 4 years of experience across multiple outlets, including How-To Geek, MakeUseOf, SlashGear, Laptop Mag, and of course, Tom&#039;s Guide. She loves reviewing the latest gadgets, from inventive robot vacuums to new laptops, wearables, and anything PC-related. When she&#039;s not writing, she&#039;s probably playing a video game, exploring the outdoors, or listening to her current favorite song or album on repeat.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/WZ2h7iHU8J6wBDbi3fdRV4-1280-80.jpg">
                                                            <media:credit><![CDATA[Sony / Edited by Gemini]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A selection of PS5 games on a blue background.]]></media:description>                                                            <media:text><![CDATA[A selection of PS5 games on a blue background.]]></media:text>
                                <media:title type="plain"><![CDATA[A selection of PS5 games on a blue background.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/WZ2h7iHU8J6wBDbi3fdRV4-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>This doesn't feel real as I'm typing it, but the PS5 released over five years ago. I am one of the lucky ones that has had a console since launch day, and I've played through a lot of different games in the last five years. </p><p>Some games were simply fun to play or made me laugh with friends, but didn't stick with me after the credits rolled (if I made it to the credits). And then, some games consumed my thoughts and made me want to stay up way too late or abandon all my responsibilities to play them, thanks to mesmerizing worlds, gripping stories, and/or addictive combat.</p><p>Luckily, there are some highly rated gems I still haven't played yet (top of list is <a href="https://www.amazon.com/Astro-Bot-PS5-PlayStation-5/dp/B0D5SM3K4Q" target="_blank" rel="nofollow">Astro Bot</a>), but the 12 titles below will always be some of my favorite games.</p>        <div class="featured_product_block featured_block_hero" data-id="0559f028-94d2-488d-97b7-123dcf71cd48">            <a href="https://www.amazon.com/Hogwarts-Legacy-PlayStation-5/dp/B09VXBDJ9N" data-model-name="Hogwarts Legacy" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/UiicnPULzfZuA5hScvNgqY.jpg" alt="Cover art for Hogwart's Legacy."></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>WARNER BROS</div>                                        <div class="featured__title">Hogwarts Legacy</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="6ed58c6f-e676-4a81-939e-4340febb6564">            <a href="https://www.amazon.com/Kena-Bridge-Spirits-Deluxe-PS5-PlayStation/dp/B09H73CXNT" data-model-name="Kena: Bridge of Spirits" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:115.47%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/jXjFwFqwJThi3zybLkUP3n.jpg" alt="Kena: Bridge of Spirits - Deluxe Edition (ps5) - Playstation 5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Maximum Entertainment</div>                                        <div class="featured__title">Kena: Bridge of Spirits</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b147b4e5-d210-4a23-be7c-38d89ed34e88">            <a href="https://www.amazon.com/Horizon-Zero-Dawn-Remastered-PlayStation-5/dp/B0DJ7W2WXV" data-model-name="Horizon Zero Dawn" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:115.47%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/QK3cvzrsMbq9WsjG2K9C6j.jpg" alt="Horizon Zero Dawn Remastered Ps5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">Horizon Zero Dawn</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_standard" data-id="adb487b1-7470-43ad-b20e-7a631ded0421">            <a href="https://www.amazon.com/Elden-Ring-PlayStation-5/dp/B09743F8P6/" data-model-name="Elden Ring" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:115.47%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/YGqFfWsanFpVVVwkbcV3Eo.jpg" alt="Elden Ring - Playstation 5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Bandai Namco</div>                                        <div class="featured__title">Elden Ring</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="e8cc7efc-18ec-4d69-8ee4-1abdf67b9cea">            <a href="https://www.amazon.com/MARVELS-SPIDER-MAN-2-Standard-PlayStation-5/dp/B0C7WQRCPB" data-model-name="Marvel’s Spider-Man 2" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/Xabic3Jw9SG4FyvwjXSuU5.jpg" alt="Cover art for Marvel's Spider-Man 2."></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Sony</div>                                        <div class="featured__title">Marvel’s Spider-Man 2</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="04e2115c-01a6-4e8b-aaf4-8b961e2b2371">            <a href="https://www.amazon.com/God-War-Ragnar%C3%B6k-PlayStation-5/dp/B0B61YDF5V" data-model-name="God of War Ragnarök" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:115.47%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/dSuWnY7U8NEhnbeRNPzC75.jpg" alt="God of War Ragnarök - Playstation 5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">God of War Ragnarök</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="39be6a37-e168-414b-9947-7017c680f8c6">            <a href="https://www.amazon.com/Sackboy-Big-Adventure-PlayStation-5/dp/B08J6F4ZSL" data-model-name="Sackboy: A Big Adventure" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:115.47%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/wQSk4yfUoWqq7cmQx7cKj9.jpg" alt="Sackboy: a Big Adventure - Playstation 5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">Sackboy: A Big Adventure</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="85776d5c-d9cc-468a-aed6-67f3f1383820">            <a href="https://www.amazon.com/Last-Us-Part-PlayStation-5/dp/B0B3QWRQL8" data-model-name="The Last of Us Part I" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/sQF27GcqGKbEaF4yNbnatg.jpg" alt="Cover art for The Last of Us Part 1."></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">The Last of Us Part I</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="41be40a7-4816-43db-8113-aaa903e8d42c">            <a href="https://www.amazon.com/Ratchet-Clank-Rift-Apart-PlayStation-5/dp/B095T8C99C" data-model-name="Ratchet & Clank: Rift Apart" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/LEgy6j933D5r3gaNdG6Le4.jpg" alt="Cover art for Ratchet & Clank: Rift Apart."></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">Ratchet & Clank: Rift Apart</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="a8becd31-ea3d-46b3-8ce2-4f9a14472afc">            <a href="https://www.amazon.com/Ghost-Tsushima-Directors-Cut-PlayStation-5/dp/B098G34GBT" data-model-name="Ghost of Tsushima Director's Cut" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/XSiRRXfyuD5EWY28XwPTki.jpg" alt="Cover art for Ghost of Tsushima."></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">Ghost of Tsushima Director's Cut</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="91e34ab9-443e-4809-a288-a88a258db661">            <a href="https://www.amazon.com/Horizon-Forbidden-West-Complete-PlayStation-5/dp/B0CK4VWNYL" data-model-name="Horizon Forbidden West" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:115.47%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/vUPU2Hqv3qXQDgdj4x3wMk.jpg" alt="Horizon Forbidden West Complete Edition - Ps5™"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">Horizon Forbidden West</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="5f956b0f-60c4-4d39-8bb3-f72dbd6ed8bc">            <a href="https://www.amazon.com/Ghost-Y%C5%8Dtei-PS5-PlayStation-5/dp/B0F6F41T4H" data-model-name="Ghost of Yōtei" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/TDpyaXsJVEdpW424VcKE8c.jpg" alt="Cover art for Ghost of Yotei."></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">Ghost of Yōtei</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ How to pre-order PS5 FlexStrike fight stick — these are the retailers to check ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/how-to-pre-order-ps5-flexstrike-fight-stick-these-are-the-retailers-to-check</link>
                                                                            <description>
                            <![CDATA[ The PS5 is getting its first limited-edition redesign to mark the launch of Marvel's Spider-Man 2 this fall — here's how to pre-order your Spidey-themed console. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">EgnqFTQbCTSNMGJcpyfa7G</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/TVvjQayTQdsBypxvcKzG2K-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 12 Jun 2026 12:04:33 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ jeff.parsons@futurenet.com (Jeff Parsons) ]]></author>                    <dc:creator><![CDATA[ Jeff Parsons ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/7z3UTGGrmSokMKxTWHmhjX.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jeff is U.K. Editor-in-Chief for Tom’s Guide looking after the day-to-day output of the site’s British contingent. &lt;/p&gt;&lt;p&gt;Rising early and heading straight for the coffee machine, Jeff loves nothing more than dialling into the zeitgeist of the day’s tech news. A journalist for over a decade, he&#039;s travelled around the world testing and reviewing any gadget he can get his hands on.&lt;/p&gt;&lt;p&gt;Before joining the team at Tom’s Guide, Jeff covered technology and science for two of the U.K.’s biggest national news sites: Metro.co.uk and the Daily Mirror. Memorable moments include getting lost in Vienna in an electric Audi, touring Lockheed Martin’s mile-long jet factory in Fort Worth and filming a Netflix documentary about Elon Musk in West London.&lt;/p&gt;&lt;p&gt;When not plugged into the current news agenda, editing or commissioning a series of articles or debating the merits of Apple vs Android, Jeff can usually be found out for a run trying to shave precious seconds off his PB. Or lifting weights in a vain attempt to offset the ageing process.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/TVvjQayTQdsBypxvcKzG2K-1280-80.jpg">
                                                            <media:credit><![CDATA[Future / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[PlayStation FlexStrike Wireless Fight Stick in a glass cabinet]]></media:description>                                                            <media:text><![CDATA[PlayStation FlexStrike Wireless Fight Stick in a glass cabinet]]></media:text>
                                <media:title type="plain"><![CDATA[PlayStation FlexStrike Wireless Fight Stick in a glass cabinet]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/TVvjQayTQdsBypxvcKzG2K-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Today is the day we expect the PlayStation’s first official wireless fight stick to become available to pre-order. The FlexStrike Wireless Fight Stick was previously codenamed <a href="https://www.tomsguide.com/gaming/playstation/sony-reveals-project-defiant-arcade-fighting-stick">Project Defiant</a> when it was revealed during the <a href="https://www.tomsguide.com/news/live/playstation-state-of-play-feb-2025-live-updates">June 2025 PlayStation State of Play.</a></p><p>Now, many months later, you'll have your first opportunity to stake your claim on one before the accessory goes on sale on August 6. <strong>You’re able to pre-order the PS5 FlexStrike Wireless Fight Stick right now</strong>, just scroll down for all the buying links. </p><p>The FlexStrike is compatible with both the <a href="https://www.tomsguide.com/reviews/ps5">PS5</a> and a PC and works both as a wired or wireless controller with a PlayStation Link adapter. The latter is Sony’s low-latency wireless technology, which devices like the <a href="https://www.tomsguide.com/gaming/gaming-peripherals/sony-playstation-pulse-elite-headset-review">Pulse Elite Wireless Headset</a> also utilize. </p><p>As fighting fans will know, input lag can mean the difference between victory and defeat, so it's crucial Sony does everything it can to minimize it while playing wirelessly.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2424px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="N6LTKNQi66tSXXqZMZpNSE" name="Sony Fightstick and Speakers-2" alt="PlayStation FlexStrike Wireless Fight Stick and Pulse Elevate Wireless Speakers in a glass cabinet" src="https://cdn.mos.cms.futurecdn.net/N6LTKNQi66tSXXqZMZpNSE.jpg" mos="" align="middle" fullscreen="" width="2424" height="1363" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Tom's Guide)</span></figcaption></figure><div><blockquote><p>The FlexStrike Wireless Fight Stick costs $199 in the U.S. and £179 in the U.K.</p></blockquote></div><p>However, because this is a first-party accessory, you can expect a higher price than many third-party alternatives. The <strong>FlexStrike Wireless Fight Stick costs $199 in the U.S. and £179 in the U.K</strong>.</p><p>If you want to know how it feels to use, my colleague Rory Mellon was able to get some early access hands on time with the controller at PlayStation HQ. You can <a href="https://www.tomsguide.com/gaming/playstation/ps5-flexstrike-fight-stick-and-pulse-elevate-speakers-preview">read his hands-on right here</a>, along with his thoughts on PlayStation's other accessory: the Pulse Elevate desktop speakers.</p><p>To help you secure the Fight Stick, we've got all the details you need below. Just be sure to bookmark this page, as we’ll update it with more retailers as and when we can. And be warned that pre-orders could sell out fast. </p><h3 class="article-body__section" id="section-where-to-pre-order-ps5-flexstrike-wireless-fight-stick"><span>Where to pre-order PS5 FlexStrike Wireless Fight Stick</span></h3><p><strong>As of 6:00 a.m. ET on Friday, June 12,</strong> the PS5 FlexStrike Wireless Fight Stick pre-orders are currently<strong> sold out at </strong><a href="https://www.amazon.com/dp/B0CCSQMBL1" target="_blank" rel="nofollow"><strong>Amazon</strong></a><strong> and unavailable at PlayStation Direct, Target, Best Buy and Walmart. </strong>However, we will keep checking back and update this page as soon as we see stock. If you spot any retailer that we've missed offering pre-orders, let us know in the comments below this article and we'll update this page.</p><p><strong>Over in the U.K</strong>., things are looking a lot more promising. Pre-orders are live and in stock at<strong> </strong><a href="https://www.amazon.co.uk/PlayStation-Flexstrike-Wireless-Fight-Stick/dp/B0H3P7YRHW" target="_blank" rel="nofollow"><strong>Amazon</strong></a><strong>, </strong><a href="https://www.smythstoys.com/uk/en-gb/gaming-and-tech/playstation-5/playstation-5-accessories/flexstrike-wireless-fight-stick/p/263331"><strong>Smyths Toys</strong></a> and <a href="https://direct.playstation.com/en-gb/buy-accessories/flexstrike-wireless-fight-stick" target="_blank" rel="nofollow"><strong>PlayStation Direct</strong></a>. However, we can't see them at other retailers like Currys or Argos.<strong> </strong></p><div class="product"><a data-dimension112="96726712-45c8-4ffa-873a-1646aea2dc8e" data-action="Deal Block" data-label="(Currently unavailable) PS5 FlexStrike Wirless Fight Stick: $199 @ Amazon" data-dimension48="(Currently unavailable) PS5 FlexStrike Wirless Fight Stick: $199 @ Amazon" data-dimension25="$" href="https://www.amazon.com/dp/B0CCSQMBL1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="QYJVQF3AoHXZsMn64iDHMA" name="51tc0o8qfML._SL1500_" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/QYJVQF3AoHXZsMn64iDHMA.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>(Currently unavailable) PS5 FlexStrike Wirless Fight Stick: </strong><a href="https://www.amazon.com/PlayStation-FlexStrike-Wireless-Fight-Gaming-Console/dp/B0H3WPPVR3" target="_blank" rel="nofollow" data-dimension112="96726712-45c8-4ffa-873a-1646aea2dc8e" data-action="Deal Block" data-label="(Currently unavailable) PS5 FlexStrike Wirless Fight Stick: $199 @ Amazon" data-dimension48="(Currently unavailable) PS5 FlexStrike Wirless Fight Stick: $199 @ Amazon" data-dimension25="$"><strong>$199 @ Amazon</strong></a><strong> </strong><br>The PlayStation 5's first official fight stick also works with PC and features a custom-designed digital stick tested for up to six million rotations, buttons with mechanical switches, toolless interchangeable restrictor gates (square, circle, and octagon), and a durable ergonomic design that's tailor made for fighting fans. It also features built-in storage for keeping your restrictor gates and PlayStation Link wireless adapter tucked into the device for convenience and portability.<a class="view-deal button" href="https://www.amazon.com/dp/B0CCSQMBL1" target="_blank" rel="nofollow" data-dimension112="96726712-45c8-4ffa-873a-1646aea2dc8e" data-action="Deal Block" data-label="(Currently unavailable) PS5 FlexStrike Wirless Fight Stick: $199 @ Amazon" data-dimension48="(Currently unavailable) PS5 FlexStrike Wirless Fight Stick: $199 @ Amazon" data-dimension25="$">View Deal</a></p></div><h3 class="article-body__section" id="section-pre-order-ps5-flexstrike-wireless-fight-stick-in-the-u-k"><span>Pre-order PS5 FlexStrike Wireless Fight Stick in the U.K.</span></h3><div class="product"><a data-dimension112="fe063950-13b9-48b9-900f-30df664ce81c" data-action="Deal Block" data-label="(Pre-order) PS5 FlexStrike Wirless Fight Stick: $179 @ Amazon UK" data-dimension48="(Pre-order) PS5 FlexStrike Wirless Fight Stick: $179 @ Amazon UK" href="https://www.amazon.co.uk/PlayStation-Flexstrike-Wireless-Fight-Stick/dp/B0H3P7YRHW" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="QYJVQF3AoHXZsMn64iDHMA" name="51tc0o8qfML._SL1500_" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/QYJVQF3AoHXZsMn64iDHMA.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>(Pre-order) PS5 FlexStrike Wirless Fight Stick: </strong><a href="https://www.amazon.co.uk/PlayStation-Flexstrike-Wireless-Fight-Stick/dp/B0H3P7YRHW" target="_blank" rel="nofollow" data-dimension112="fe063950-13b9-48b9-900f-30df664ce81c" data-action="Deal Block" data-label="(Pre-order) PS5 FlexStrike Wirless Fight Stick: $179 @ Amazon UK" data-dimension48="(Pre-order) PS5 FlexStrike Wirless Fight Stick: $179 @ Amazon UK" data-dimension25=""><strong>$179 @ Amazon UK</strong></a><strong> </strong><br>The PlayStation 5's first official fight stick also works with PC and features a custom-designed digital stick tested for up to six million rotations, buttons with mechanical switches, toolless interchangeable restrictor gates (square, circle, and octagon), and a durable ergonomic design that's tailor made for fighting fans. It also features built-in storage for keeping your restrictor gates and PlayStation Link wireless adapter tucked into the device for convenience and portability.<a class="view-deal button" href="https://www.amazon.co.uk/PlayStation-Flexstrike-Wireless-Fight-Stick/dp/B0H3P7YRHW" target="_blank" rel="nofollow" data-dimension112="fe063950-13b9-48b9-900f-30df664ce81c" data-action="Deal Block" data-label="(Pre-order) PS5 FlexStrike Wirless Fight Stick: $179 @ Amazon UK" data-dimension48="(Pre-order) PS5 FlexStrike Wirless Fight Stick: $179 @ Amazon UK" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="e2993578-46b7-4664-a190-fcd865728173" data-action="Deal Block" data-label="(Pre-order) PS5 FlexStrike Wirless Fight Stick: £179 @ Smyths Toys" data-dimension48="(Pre-order) PS5 FlexStrike Wirless Fight Stick: £179 @ Smyths Toys" data-dimension25="£179" href="https://www.smythstoys.com/uk/en-gb/gaming-and-tech/playstation-5/playstation-5-accessories/flexstrike-wireless-fight-stick/p/263331" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="QYJVQF3AoHXZsMn64iDHMA" name="51tc0o8qfML._SL1500_" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/QYJVQF3AoHXZsMn64iDHMA.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>(Pre-order) PS5 FlexStrike Wirless Fight Stick: </strong><a href="https://www.smythstoys.com/uk/en-gb/gaming-and-tech/playstation-5/playstation-5-accessories/flexstrike-wireless-fight-stick/p/263331" target="_blank" rel="nofollow" data-dimension112="e2993578-46b7-4664-a190-fcd865728173" data-action="Deal Block" data-label="(Pre-order) PS5 FlexStrike Wirless Fight Stick: £179 @ Smyths Toys" data-dimension48="(Pre-order) PS5 FlexStrike Wirless Fight Stick: £179 @ Smyths Toys" data-dimension25="£179"><strong>£179 @ Smyths Toys</strong></a><strong> </strong><br>The PlayStation 5's first official fight stick also works with PC and features a custom-designed digital stick tested for up to six million rotations, buttons with mechanical switches, toolless interchangeable restrictor gates (square, circle, and octagon), and a durable ergonomic design that's tailor made for fighting fans. It also features built-in storage for keeping your restrictor gates and PlayStation Link wireless adapter tucked into the device for convenience and portability.<a class="view-deal button" href="https://www.smythstoys.com/uk/en-gb/gaming-and-tech/playstation-5/playstation-5-accessories/flexstrike-wireless-fight-stick/p/263331" target="_blank" rel="nofollow" data-dimension112="e2993578-46b7-4664-a190-fcd865728173" data-action="Deal Block" data-label="(Pre-order) PS5 FlexStrike Wirless Fight Stick: £179 @ Smyths Toys" data-dimension48="(Pre-order) PS5 FlexStrike Wirless Fight Stick: £179 @ Smyths Toys" data-dimension25="£179">View Deal</a></p></div><div class="product"><a data-dimension112="701d0d7b-dddc-414e-bfc8-93839178b2c4" data-action="Deal Block" data-label="(Pre-order) PS5 FlexStrike Wirless Fight Stick: £179 @ PlayStation Direct" data-dimension48="(Pre-order) PS5 FlexStrike Wirless Fight Stick: £179 @ PlayStation Direct" href="https://www.bestbuy.com/site/sony-playstation-5-console-marvels-spider-man-2-limited-edition-bundle/6554388.p" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="QYJVQF3AoHXZsMn64iDHMA" name="51tc0o8qfML._SL1500_" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/QYJVQF3AoHXZsMn64iDHMA.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>(Pre-order) PS5 FlexStrike Wirless Fight Stick: </strong><a href="https://direct.playstation.com/en-gb/buy-accessories/flexstrike-wireless-fight-stick" target="_blank" rel="nofollow" data-dimension112="701d0d7b-dddc-414e-bfc8-93839178b2c4" data-action="Deal Block" data-label="(Pre-order) PS5 FlexStrike Wirless Fight Stick: £179 @ PlayStation Direct" data-dimension48="(Pre-order) PS5 FlexStrike Wirless Fight Stick: £179 @ PlayStation Direct" data-dimension25=""><strong>£179 @ PlayStation Direct</strong></a><strong> </strong><br>The PlayStation 5's first official fight stick also works with PC and features a custom-designed digital stick tested for up to six million rotations, buttons with mechanical switches, toolless interchangeable restrictor gates (square, circle, and octagon), and a durable ergonomic design that's tailor made for fighting fans. It also features built-in storage for keeping your restrictor gates and PlayStation Link wireless adapter tucked into the device for convenience and portability.<a class="view-deal button" href="https://www.bestbuy.com/site/sony-playstation-5-console-marvels-spider-man-2-limited-edition-bundle/6554388.p" target="_blank" rel="nofollow" data-dimension112="701d0d7b-dddc-414e-bfc8-93839178b2c4" data-action="Deal Block" data-label="(Pre-order) PS5 FlexStrike Wirless Fight Stick: £179 @ PlayStation Direct" data-dimension48="(Pre-order) PS5 FlexStrike Wirless Fight Stick: £179 @ PlayStation Direct" data-dimension25="">View Deal</a></p></div><h2 id="ps5-flexstrike-wireless-fight-stick-features">PS5 FlexStrike Wireless Fight Stick features</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/TTGmg6uYXKc" allowfullscreen></iframe></div></div><p>The FlexStrike is a good-looking controller but Sony has pulled out all the stops to make it as functional as possible. It's got mechanical switch buttons and toolless swappable restrictor gates — including square, circle and octagonal gates that fit into the peripheral’s built-in storage compartments. That's also where you can keep the included PS Link USB adapter. </p><p>It’s rare for the <a href="https://www.tomsguide.com/best-picks/best-fight-sticks">best fight sticks</a> to have more than one restrictor gate included, so this is a nice bonus. It also makes sense since it’s possible that standard Sanwa parts aren’t compatible with the FlexStrike.</p><p>The FlexStrike also comes with a sling carry case, along with a USB-C cable for wired play.</p><p>Other features include the ability to use a single PS Link USB adapter to connect the FlexStrike and a Pulse Elite headset or Pulse Explore earbuds, or to connect two FlexStrike controllers simultaneously. </p><p>You can also keep your regular <a href="https://www.tomsguide.com/news/ps5-dualsense-controller-hands-on-this-is-a-game-changer">PS5 DualSense controller</a> connected at the same time as the FlexStrike if you need that controller to navigate menus between fights. Finally, the benefit of this being a first-party Sony accessory is that you can turn on your PS5 by pressing the FlexStrike’s PS button. You're not going to find that same feature in third-party fight sticks.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/playstations-wireless-flexstrike-fight-stick-is-coming-these-are-the-9-best-and-cheapest-ps5-fighting-games-worth-getting">PlayStation’s Wireless FlexStrike Fight Stick is coming — these are the 9 best (and cheapest) PS5 fighting games worth getting</a></li><li><a href="https://www.tomsguide.com/ai/i-got-my-ass-handed-to-me-by-a-chess-playing-robot-and-now-im-worried-magnus-carlsen-may-be-cooked-by-ai">I got my ass handed to me by a chess-playing robot — and now I'm worried Magnus Carlsen may be cooked by AI</a></li><li><a href="https://www.tomsguide.com/gaming/playstation/ps5-flexstrike-fight-stick-and-pulse-elevate-speakers-preview">I got hands-on with PS5 FlexStrike fight stick and Pulse Elevate desktop speakers — and I’m seriously impressed with one in particular</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ PS5 State of Play June 2026 live updates — every game reveal and new trailer at latest PlayStation showcase ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/news/live/ps5-state-of-play-june-2026-live-updates</link>
                                                                            <description>
                            <![CDATA[ State of Play returns for June 2025, and this "more than 60-minute" showcase promises fresh updates and new PS5 game reveals. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">EuZbPBLjCe7bj8sT2WzjJo</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/YLQe3Dc5ZooPurHxRPgwWB-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 02 Jun 2026 12:04:32 +0000</pubDate>                                                                                                                                <updated>Tue, 02 Jun 2026 23:34:36 +0000</updated>
                                                                                                                                            <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ rory.mellon@futurenet.com (Rory Mellon) ]]></author>                    <dc:creator><![CDATA[ Rory Mellon ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5Rv6LtQXMj5JB4Eu8Lt4Sn.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                        <dc:contributor><![CDATA[ Scott Younker ]]></dc:contributor>
                                                                    <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/YLQe3Dc5ZooPurHxRPgwWB-1280-80.jpg">
                                                            <media:credit><![CDATA[Sony Interactive Entertainment]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A screenshot for Marvel&#039;s Wolverine with a PS5 State of Play graphics overlay]]></media:description>                                                            <media:text><![CDATA[A screenshot for Marvel&#039;s Wolverine with a PS5 State of Play graphics overlay]]></media:text>
                                <media:title type="plain"><![CDATA[A screenshot for Marvel&#039;s Wolverine with a PS5 State of Play graphics overlay]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/YLQe3Dc5ZooPurHxRPgwWB-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>PlayStation State of Play for June 2025 is now over, and it was certainly a packed showcase with loads of new games announced, a bunch of release dates for highly anticipated titles, and plenty of exciting trailers to watch.</p><p>The biggest news was the confirmation of the new God of War: Laufey, a new title in the popular series that swaps Kratos for his wife Faye, as she battles through the afterlife of the gods. Other big reveals included Until Dawn 2, The Lost Wild, Stuntman: Hollywood and plenty more new titles.</p><p>Below you can find every single announcement from State of Play June 2026, along with all the trailers. So if you missed the showcase, our live coverage will guide you through all the biggest news and announcements. </p><h2 id="how-to-re-watch-state-of-play-for-june-2026">How to (re)watch State of Play for June 2026</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/cvh0xXmu0bs" allowfullscreen></iframe></div></div><p>Missed State of Play June 2026? Don't worry, you can use the VOD link above to catch up with the whole showcase available to rewatch. Or you can read on for our live coverage to pick out the trailers you want to watch.</p><h3 class="article-body__section" id="section-live-updates"><span>LIVE UPDATES</span></h3><h2 id="welcome">Welcome! </h2><p>Good morning! Welcome to Tom's Guide's live coverage of the PS5 State of Play for June 2026. I'm Rory, a senior entertainment editor, and one of biggest gamers on staff. I'll be bring you all the last-minute rumors, and also guiding you through the State of Play itself when it begins later today. So, let's get into the good stuff...</p><h2 id="the-one-game-we-can-bank-on-being-at-state-of-play">The one game we can bank on being at State of Play</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="brkRET2rLiiqB38ggQjQsW" name="wolverine-2025-state-of-play-ps5-game" alt="Marvel's Wolverine image showing Logan" src="https://cdn.mos.cms.futurecdn.net/brkRET2rLiiqB38ggQjQsW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>There's a lot we don't know about today's State of Play, but Sony has confirmed one game that will present: Marvel's Wolverine. Set to release on September 15, this superhero action game comes from Insomniac Games, the developer of the PS5 Marvel's Spider-Man games, and it looks brutal in the best way possible.  </p><p>We've been waiting a long time to get our hands (claws?) on Wolverine. It was announced during the PlayStation Showcase in September 2021, and almost five years later, we're finally entering the home straight with launch just a few months away. I'm expecting to see more gameplay today, and maybe new story details. </p><p>My other prediction when it comes to Marvel's Wolverine is that PlayStation might confirm a limited-edition Wolverine-themed DualSense and maybe even console.</p><h2 id="ps5-state-of-play-june-2026-everything-you-need-to-know">PS5 State of Play June 2026: Everything you need to know</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:920px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="YjQgFQT9J6kopyr5nu4evh" name="Playstation store.jpg" alt="PlayStation Store Holiday Sale" src="https://cdn.mos.cms.futurecdn.net/YjQgFQT9J6kopyr5nu4evh.jpg" mos="" align="middle" fullscreen="" width="920" height="518" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>So, the key details for State of Play are as follows. The live-streamed presentation takes place today (Tuesday, June 2), and it will run for "more than 60 minutes." Sony is promising "updates, announcements, and gameplay reveals from top studios around the world" with at least some presence from its own PlayStation Studios. </p><p>The timings for State of Play June 2026 are as follows: </p><ul><li><strong>2 p.m. PT</strong></li><li><strong>5 p.m. ET</strong></li><li><strong>10 p.m. BST </strong></li><li><strong>11 p.m. CEST</strong></li><li><strong>6 a.m. JST (June 3)</strong></li><li><strong>7 a.m. AEDT (June 3)</strong></li></ul><p>You'll be able to watch along live via PlayStation's channels on YouTube and Twitch, but fear not if you can't get to a stream, that's what I'm here for. In this live blog, I'll bring you all the pre-show build-up, and full live coverage of every announcement. </p><h2 id="you-can-watch-state-of-play-on-the-big-screen">You can watch State of Play on the big screen!</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="URqrajEiPL87bAUgpp89kZ" name="GettyImages-1177482185.jpg" alt="movie theater" src="https://cdn.mos.cms.futurecdn.net/URqrajEiPL87bAUgpp89kZ.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Baona/Getty Images)</span></figcaption></figure><p>How about this for the ultimate way to enjoy the State of Play? Sony has partnered with Alamo Drafthouse (a cinema chain the Japanese tech giant recently bought) to host State of Play fan events, showing the event on the big screen!</p><p><a href="https://drafthouse.com/event/free-fan-event-sony-state-of-play" target="_blank" rel="nofollow"><strong>Tickets are free</strong></a>, and the State of Play will be shown in Drafthouse's across the U.S., including in Los Angeles, New York, Austin, Boston and Chicago. I can't think of a better way to enjoy the occasion than watching all the announcements in a movie theater with an audience that will no doubt only add to the atmosphere. </p><p>I'll be watching at my desk (after all, I need to bring TG readers the latest updates!), but if you're fortunate enough to live near one of the locations hosting the event, check out the link above. Just be aware that tickets might have sold out.</p><h2 id="would-you-like-fries-with-that">Would you like fries with that?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EtgXweYbB7JaJN9QQvWuA3" name="state-of-play-themed-menu" alt="State of Play themed menu at Alamo Drafthouse" src="https://cdn.mos.cms.futurecdn.net/EtgXweYbB7JaJN9QQvWuA3.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Daniel Ahmad)</span></figcaption></figure><p>Alongside screening the State of Play at select Alamo Drafthouse locations, it looks like there will be Wolverine themed-food on offer as well (source <a href="https://x.com/ZhugeEX/status/2061091369616105577?s=20" target="_blank">@ZhugeEX</a>). This includes "Savage Sticks," "Rage Pizza" and a "Mutant Instinct" cocktail. Just looking at the menu is making me hungry. I wonder if you can order these themed items on DoorDash?</p><h2 id="here-s-when-i-think-we-ll-see-wolverine-during-state-of-play">Here's when I think we'll see Wolverine during State of Play</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2s7pYFzTXPQbkDmreoQvoL" name="wolverine-ps5-promo-image" alt="Marvel's Wolverine screenshot showing Logan attacking an enemy" src="https://cdn.mos.cms.futurecdn.net/2s7pYFzTXPQbkDmreoQvoL.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Insomniac Games / Sony Interactive Entertainment)</span></figcaption></figure><p>We'll be diving into the world of rumors, leaks and speculation soon enough, but for now, let's keep the focus on what we do know. So, it's been confirmed that Marvel's Wolverine will feature, but the big question, is when will it be showcased? </p><p>My prediction is that Wolverine will open the show. For starters, PlayStation will want to lead off with a big game, which Wolverine most certainly is. Secondly, because Logan's involvement has been pre-confirmed, it makes sense to open the show, leaving the final reveal to be something unexpectedly and hype generating. </p><p>Furthermore, the opening slot is definitely a prime position, and it would make sense for PlayStation to reverse it for one of its own titles rather than a third-party.</p><h2 id="the-next-god-of-war-could-be-revealed-today">The next God of War could be revealed today</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AXNNW7PLmYmCxqswRjhu8R" name="God of War Ragnarok - Kratos vs creature.jpg" alt="God of War Ragnarok" src="https://cdn.mos.cms.futurecdn.net/AXNNW7PLmYmCxqswRjhu8R.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony Interactive Entertainment)</span></figcaption></figure><p>There's one rumor that just won't go away ahead of the State of Play. Various sources, including <a href="https://www.youtube.com/watch?t=3513&v=NoxlKQRhF34&feature=youtu.be" target="_blank">Insider Gaming's Tom Henderson,</a> have claimed the next game in the God of War series will be announced during State of Play June 2026. </p><p>It's already been a big year for the GoW series. In the February State of Play, a remake of the original trilogy was revealed, and the side-scrolling spin-off title God of War: Sons of Sparta was announced and released the same day. But if the rumors are correct, PlayStation is already ready to show what's next for the series.</p><p>The unconfirmed suggestion is that the next God of War will be a prequel game focused on Faye, Kratos' second wife, whose death kicked off the events of God of War (2018). It's also rumored this title will be directed by Cory Barlog, who was the sole director on the reboot and a co-director on sequel God of War Ragnarök. </p><p>As with all rumors, I advise taking this one with a grain of salt, but there's certainly a lot of online noise about this. We'll find out if it's true in just a matter of hours.</p><h2 id="fairgames-could-be-re-revealed-as-break-in">Fairgames could be re-revealed as Break In</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Y2mAwzqCspkL6rk6eS5Zw8" name="fairgames-ps5-screenshot" alt="Fairgames promotional image" src="https://cdn.mos.cms.futurecdn.net/Y2mAwzqCspkL6rk6eS5Zw8.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Haven Studios / Sony Interactive Entertainment)</span></figcaption></figure><p>The upcoming live-service shooter Fairgames from new team Haven Studios was announced back in 2023, but we've not seen it since. Therefore, it stands to reason that it could resurface at today's State of Play, but perhaps with a new name.</p><p>Last month, it was reported that Sony had filed a trademark for a new game called "Break In," but the internet rumor mill, tipped off by a not-so-subtle clue from Bloomberg's Jason Schreier (per <a href="https://www.ign.com/articles/sony-files-trademark-for-new-game-called-break-in" target="_blank">IGN</a>), suggests this might not be a new game at all, but rather a rebranding of Fairgames. </p><p>Rightly or wrongly, the online reception to Fairgames was pretty mixed, with many fans suggesting it'll be the next Concord (a PlayStation live service game that was shut down within just a few weeks). So, giving it a new title and a fresh slate, and hoping to make a better impression this time around, could be a smart play.</p><h2 id="i-need-to-see-more-from-intergalactic">I need to see more from Intergalactic!</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gGHYy9kM2a4pZMfY2DzSSQ" name="intergalactic-the-heretic-prophet-screenshot" alt="Intergalactic: The Heretic Prophet screenshot" src="https://cdn.mos.cms.futurecdn.net/gGHYy9kM2a4pZMfY2DzSSQ.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony / Naughty Dog)</span></figcaption></figure><p>If there's one already-announced game I'm desperate to see at the State of Play, it's Intergalactic: The Heretic Prophet. Naughty Dog are a top 3 developer in my book, so anything with the ND logo has my instant attention, and Intergalactic looks epic. </p><p>We've not seen this one since it was revealed at The Game Awards in December 2024, and while a 2026 release date seems very unlikely, a fresh look during today's State of Play isn't out of the question. The game is a sci-fi title that stars a futuristic bounty hunter who becomes stuck on a planet cut off from contact for 600 years. </p><p>If I were a betting man, I think a second trailer at this year's Game Awards might be a more likely slot for Intergalactic to resurface but I'm keeping my fingers crossed.</p><h2 id="the-state-of-play-hype-is-building-already">The State of Play hype is building already</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kah7qoXLLHvHCTTWqYJnoZ" name="state-of-play-youtube-viewers-june-2-2026" alt="PlayStation's YouTube Channel showing number of viewing waiting for State of Play June 2026" src="https://cdn.mos.cms.futurecdn.net/kah7qoXLLHvHCTTWqYJnoZ.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>There's no doubt that there's a lot of excitement in the air about today's State of Play. In fact, some 5,000 fans are already in the waiting room as we speak. The showcase might not go live for around seven hours, but that isn't stopping some viewers from booting up the stream and essentially staring at an empty screen!  </p><h2 id="could-rayman-return-at-state-of-play">Could Rayman return at State of Play?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Ykv8FdP83PDfxrKegmZPnC" name="Rayman Legends Hero.jpg" alt="Rayman Legends screenshot" src="https://cdn.mos.cms.futurecdn.net/Ykv8FdP83PDfxrKegmZPnC.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Ubisoft)</span></figcaption></figure><p>Well, looks like the cat is out of the bag when it comes to Rayman. Unless somebody is playing a very cruel joke, it appears that Rayman Legends is getting a remake in the form of Rayman Legends: Retold. Could this be one of the State of Play announcements that has leaked a little early? It certainly seems possible.</p><p>Per <a href="https://insider-gaming.com/rayman-legends-retold-gameplay/" target="_blank">Insider Gaming</a>, Rayman Legends: Retold is a re-release of the original game launched in 2013. It reportedly swaps the original's 2D art style for a 2D.5 approach, and even better, it might come bundled with a copy of its predecessor, Rayman Origins (hot takes: Legends is very good, but I actually preferred Origins overall).</p><p>Rayman Legends has such a timeless look that I'm not convinced we <em>need </em>a remake, and thanks to a PS4 port, the game is already playable on PS5, but still, Rayman fans likely won't be complaining about the often-neglect heroes return.</p><h2 id="i-got-hands-on-with-two-upcoming-ps5-accessories">I got hands-on with two upcoming PS5 accessories</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2424px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="N6LTKNQi66tSXXqZMZpNSE" name="Sony Fightstick and Speakers-2" alt="PlayStation FlexStrike Wireless Fight Stick and Pulse Elevate Wireless Speakers in a glass cabinet" src="https://cdn.mos.cms.futurecdn.net/N6LTKNQi66tSXXqZMZpNSE.jpg" mos="" align="middle" fullscreen="" width="2424" height="1363" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Tom's Guide)</span></figcaption></figure><p>If you're looking to fill some of the time until State of Play, read <a href="https://www.tomsguide.com/gaming/playstation/ps5-flexstrike-fight-stick-and-pulse-elevate-speakers-preview">my hands-on report</a> with the upcoming FlexStrike fight stick and the Pulse Elevate desktop speakers. </p><p>I recently took a trip to the PlayStation U.K. office to check out these new PS5 accessories, due for launch in 2026, and I came away seriously impressed with both. The FlexStrike in particular has become an accessory I'm eager to add to my gaming setup, especially as it launches on August 8 alongside Marvel Tokon.</p><p>We might even see more of these new products in today's State of Play!</p><h2 id="i-m-taking-a-big-huff-of-hopium-let-s-talk-bloodborne">I'm taking a big huff of hopium, let's talk Bloodborne</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NXxKpabzwq9kkLRRjzEUEn" name="bloodborne-ps4-screenshot-02.jpg" alt="Bloodborne screenshot" src="https://cdn.mos.cms.futurecdn.net/NXxKpabzwq9kkLRRjzEUEn.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: FromSoftware / Sony)</span></figcaption></figure><p>If you'll let me indulge in a little wishing here, like many PlayStation fans, my dream announcement today would be something Bloodborne-related. Sequel, remaster, remake, <em>just </em>a 60 fps patch for the game on PS4, I'd take just about anything. </p><p>The 2015 action-RPG from developer From Software is quite simply a masterpiece, and much as I've loved replaying it on PS4 regularly over the years, I'd love either a proper follow-up or a remastered version that bumps the framerate and makes its haunting world look even prettier. </p><p>I certainly wouldn't bank on Bloodborne being present at today's State of Play, but if the name did pop up in pretty much any form, I'd be squealing with delight.</p><h2 id="don-t-forget-about-the-future-games-show-this-week">Don't forget about the Future Games Show this week!</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ksyUW3v9CrjneEmwwfDX2h" name="FGS.0312_hero1_1920x1080" alt="Future Games Show Summer Showcase 2026" src="https://cdn.mos.cms.futurecdn.net/ksyUW3v9CrjneEmwwfDX2h.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>It's set to be a huge week for gaming news. There's today's PS5 State of Play, Friday brings Summer Game Fest 2026, and Sunday sees Microsoft take the stage with the Xbox Showcase. But don't forget about the <strong>Future Games Show</strong> on Saturday. </p><p>Hosted by Troy Baker and Alex Wilton, it takes place on Saturday, June 6 at 12 p.m. PT / 3 p.m. ET / 8 p.m. BST and will feature trailers and reveals for more than 50 games, from AAA to indie, including Halloween: The Game, WARDOGS and more. </p><p>It's going to be a great showcase, and all that wasn't enough, it'll be followed by FGS Live from Los Angeles, with more trailers, premieres and developer interviews.</p><h2 id="a-spooky-prediction-i-m-feeling-confident-about">A spooky prediction I'm feeling confident about</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Us6AjqR5vrdSCAa6xcKoa9" name="silent-hill-townfall-screenshot" alt="Silent Hill: Townfall screenshot" src="https://cdn.mos.cms.futurecdn.net/Us6AjqR5vrdSCAa6xcKoa9.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Konami / Annapurna Interactive)</span></figcaption></figure><p>I'm fairly confident we'll be seeing more from Silent Hill: Townfall in today's State of Play. We might even get a release date considering it's been slated for 2026. </p><p>My reasoning is twofold. Firstly, earlier today, an ESRB rating for the game was discovered via <a href="https://mp1st.com/news/silent-hill-townfall-esrb-rating-surfaces-ahead-state-of-play" target="_blank">MP1st</a> (no surprises here, it's rated M). This would suggest it's gearing up for launch if the game's already been submitted for an age rating. </p><p>Secondly, the last State of Play offered a first: PlayStation gave the stage to Konami to host its own mini-showcase within a SOP. A portion of the event was dedicated to new reveals from the publisher, including a first trailer for Silent Hill: Townfall. </p><p>If Townfall is going to hit its confirmed 2026 window, then it stands to reason we'll see more from it soon, and with PlayStation already showing its strong partnership with Konami, I reckon we'll see more from Silent Hill: Townfall later today.</p><h2 id="just-5-hours-to-go">Just 5 hours to go! </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ALK6jc8sVtnXdoztzrN4BT" name="state-of-play-june-2-2026-info" alt="State of Play info graphic showing timings for the June 2, 2026 event" src="https://cdn.mos.cms.futurecdn.net/ALK6jc8sVtnXdoztzrN4BT.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony Interactive Entertainment)</span></figcaption></figure><p>It's not quite time to get seated and gets your snacks to hand, but we're <em>only </em>five hours away from the State of Play for June 2026 kicking off. Don't worry, we're not going anywhere, I'll be stepping back for a quick break before the show, but I'm tagging in some colleagues to keep you entertained as we get closer to the State of Play going live. For those curious how the waiting room is looking, it's dropped down to 2,300 viewers, but those numbers will explode as go-time approaches.</p><h2 id="a-little-football">A little football</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EsdXUwUzf3UFM8tWSAy4Yn" name="CFB27 cover" alt="College Football 27 deluxe edition cover" src="https://cdn.mos.cms.futurecdn.net/EsdXUwUzf3UFM8tWSAy4Yn.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: EA Sports)</span></figcaption></figure><p>EA Sports just revealed the cover images for the third iteration of its revived College Football series. </p><p>CFB 27 will launch later this summer, so I wouldn't be surprised if we get a glimpse of the new game during State of Play. Chat will be chuffed I'm sure.</p><h2 id="team-asobi-teases-sly-cooper">Team Asobi teases Sly Cooper</h2><div class="see-more see-more--clipped"><blockquote class="twitter-tweet hawk-ignore" data-lang="en"><p lang="en" dir="ltr">If you can’t find Sly, check the nearest safe.🦝😉#AstroBot #SlyCooper pic.twitter.com/CstQ6RbAwl<a href="https://twitter.com/cantworkitout/status/2061720031222759559">June 2, 2026</a></p></blockquote><div class="see-more__filter"></div></div><p>Team Asobi, the developers behind the excellent AstroBot, teased Sly Cooper in a little video earlier today. </p><p>It's no real guarantee but it is an interesting video to post on the day of a State of Play. Comments under the GIF are cautiously excited about a potential Sly 5. </p><p>What do you think, will we see the return of the raccoon thief today?</p><h2 id="what-are-you-excited-to-maybe-see">What are you excited to maybe see?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cgx4DpiYHGNVhb5WsXGfSo" name="155615_0002 (1).jpg" alt="(L to R) King sits on Luz's shoulder waving as Luz stands with an excited smile and her hands clasped together in The Owl House Episode "Sense and Insensitivity"" src="https://cdn.mos.cms.futurecdn.net/cgx4DpiYHGNVhb5WsXGfSo.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Disney)</span></figcaption></figure><p>I have my own predictions but what do you think Sony will show off today? Or what do you want to see? </p><p>Let us know in the comments or shoot me an email at scott.younker@futurenet.com</p><h2 id="a-fresh-look-at-horizon-hunters-gathering">A fresh look at Horizon Hunters Gathering</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YhffejPLEhTLJYVz8sAmMn" name="horizon-hunters-gathering-ps5" alt="Horizon Hunters Gathering screenshot" src="https://cdn.mos.cms.futurecdn.net/YhffejPLEhTLJYVz8sAmMn.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>Sony announced Horizon Hunters Gathering back in February as a cooperative team game that sees players taking on different robo-dinos. </p><p>It seems cartoon-y, which isn't bad but maybe not what I personally want from the Horizon series. That said, if we're leaning into the silliness, I would love a sequel Lego Horizon game.</p><p>Anyway, it's very likely we'll get a fresh look at Hunters Gathering.</p><h2 id="lara-croft-pops-up">Lara Croft pops up</h2><div class="see-more see-more--clipped"><blockquote class="twitter-tweet hawk-ignore" data-lang="en"><p lang="en" dir="ltr">New Tomb Raider: Legacy of Atlantis screenshots just went up on PlayStation Store: https://t.co/AuBEh3cIUzAppearance at State of Play later today? https://t.co/2TAczrHw0c(one more screenshot in the next reply) pic.twitter.com/D9o1pxee0c<a href="https://twitter.com/cantworkitout/status/2061868897276416408">June 2, 2026</a></p></blockquote><div class="see-more__filter"></div></div><p>Hmm, <a href="https://x.com/gematsu/status/2061868897276416408?s=20" target="_blank">Gematsu </a>noticed that new Tomb Raider: Legacy of Atlantis screenshots just popped up on the PlayStation Store.</p><p>This could mean that Lara Croft gets some shine today.</p><p>We don't have a release date for the next Tomb Raider game, so this could be a good opportunity for Sony to reveal one. </p><p>Some commenters pointed out that Summer Games Fest kicks off on June 5 this Friday. It's possible that we won't hear anything until then.</p><h2 id="a-wishlist-of-sequels">A wishlist of sequels</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:62.50%;"><img id="SK3bf8TwUHEtiiAZCZJJqH" name="khiii.jpg" alt="kingdom hearts" src="https://cdn.mos.cms.futurecdn.net/SK3bf8TwUHEtiiAZCZJJqH.jpg" mos="" align="middle" fullscreen="" width="1200" height="750" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Square Enix)</span></figcaption></figure><p>I've been looking around Reddit, X and some forums and I keep seeing a wishlist of sequels. </p><p>Here are the most common ones:</p><ul><li>Bloodborne 2</li><li>Devil May Cry 6</li><li>Final Fantasy 7 number 3</li><li>God of War: Faye</li><li>Infamous 4</li><li>Kingdom Hearts 4</li><li>Nier 2</li><li>Uncharted 5</li><li>Twisted Metal something</li><li>Spider-Man 3</li></ul><p>Some are more realistic than others. Spider-Man 3 and Infamous for example are probably not showing up as Sucker Punch shows off Wolverine. </p><p>We have heard some inklings of a new Uncharted, but Naughty Dog has seemingly been a single game at a time studio for a couple decades now.</p><p>And Bloodborne 2 is just a dream to upset Bloodborne fans.</p><h2 id="90-minutes-to-showtime">90 minutes to showtime</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:920px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="YjQgFQT9J6kopyr5nu4evh" name="Playstation store.jpg" alt="PlayStation Store Holiday Sale" src="https://cdn.mos.cms.futurecdn.net/YjQgFQT9J6kopyr5nu4evh.jpg" mos="" align="middle" fullscreen="" width="920" height="518" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>As a reminder the show kicks off at<strong> at 2:00 p.m. PT / 5:00 p.m. ET / 10 p.m. BST.</strong> </p><p>That's 90 minutes from now. </p><h2 id="mario-kart-is-about-to-have-some-extra-competition">Mario Kart is about to have some (extra) competition </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="zXXitwNxbyY7wHD8QBGSq3" name="yooka-laylee-kart-image" alt="Keyart image for Super Yooka-Laylee Kart" src="https://cdn.mos.cms.futurecdn.net/zXXitwNxbyY7wHD8QBGSq3.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Playtonic Games)</span></figcaption></figure><p>Hey all! It's Rory here, back from break to guide you through the final hour of build-up and, of course, give you all the live updates from the State of Play June 2026. </p><p>It looks like another soon-to-be-announced game has leaked, and this time, thanks to <a href="https://steamdb.info/app/4809050/" target="_blank">SteamDB</a>. The game in question is Super Yooka-Laylee Kart, presumably a kart racing spin-off from the 3D platforming series Yooka-Laylee. I guess the lizard-bat combo has already taken on Mario in the 3D collectathon arena, and now they're ready to take on Nintendo's mascot in the kart racing genre. </p><p>A kart racer seems a pretty natural next step for Yooka-Laylee, especially after the duo stepped into the 2D side-scrolling world for 2019's Impossible Lair. They've done platforming in 3D and 2D, so what's left to take to the race track? </p><p>However, there is some online speculation rumbling that this game might be announced at Friday's Summer Game Fest event rather than at the State of Play. We'll find out in just over an hour, but Yooka-Laylee fans, how are you feeling?</p><h2 id="what-ps5-game-are-you-hoping-to-see-at-state-of-play">What PS5 game are you hoping to see at State of Play?</h2><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-X16BMe"></div>                            </div>                            <script src="https://kwizly.com/embed/X16BMe.js" async></script><p>I've given you a few of my wishes, and some heavily rumored games, but I want to hear from you. Vote in the poll above, and let me know what PS5 game you want to see at State of Play. And if you top pick isn't in the poll, let me in the comments!</p><h2 id="tomb-raider-legacy-of-atlantis-may-have-been-delayed">Tomb Raider Legacy of Atlantis may have been delayed</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="pdLNJU9AXCKPZ2wnkm3SnG" name="tomb-raider-legacy-of-atlantis-image" alt="Tomb Raider: Legacy of Atlantis keyart image" src="https://cdn.mos.cms.futurecdn.net/pdLNJU9AXCKPZ2wnkm3SnG.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Crystal Dynamics / Flying Wild Hog)</span></figcaption></figure><p>Earlier today new screenshots for the upcoming Tomb Raider: Legacy of Atlantis (a remake of the first Tomb Raider game released in 1996) surfaced on the PlayStation Store, hinting we might get a new trailer at the State of Play. But Amazon just went a step further and appears to have leaked the release date and pre-order details (via <a href="https://x.com/RaidersSociety/status/2061884858205450602?s=20" target="_blank">@RaiderSociety</a>)</p><p>The bad news is, if this listing is accurate (Amazon has since removed it), the game has been delayed out of its previously 2026 window until February 10, 2027. But the listing appears to have confirmed a Deluxe Edition which includes a "post-launch DLC story pack" and a 48-hour early access period for players who pre-order. There's also a bonus outfit based on Lara's gear from the 2013 Tomb Raider reboot. </p><p>We'll find out soon if this listing was legit, but considering Amazon Game Studios is the publisher of both Tomb Raider: Legacy of Atlantis and the upcoming Tomb Raider: Catalyst (the next mainline entry in the series), the smart money says it is. </p><h2 id="will-we-see-any-xbox-logos-during-today-s-state-of-play">Will we see any Xbox logos during today's State of Play?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:809px;"><p class="vanilla-image-block" style="padding-top:56.37%;"><img id="ztD9L9fCjfUCfPmL5bJ3qd" name="xbox-logo-2" alt="Xbox logo" src="https://cdn.mos.cms.futurecdn.net/ztD9L9fCjfUCfPmL5bJ3qd.jpg" mos="" align="middle" fullscreen="" width="809" height="456" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Microsoft)</span></figcaption></figure><p>One of the stranger topics of conversation this week has been the intense debate on comments from Xbox CEO Asha Sharma regarding previous Xbox Showcases opting to include the PS5 logo in trailers for games releasing on PS5. </p><p>Some Xbox fans believe this was a mistake, and Sharma appears to agree, posting on social media that she was "Seeing the feedback on logos. It was a miss, and I own it." (as reported by <a href="https://www.videogameschronicle.com/news/xbox-ceo-calls-ps5-logo-decision-a-miss-and-promises-to-rethink-games-showcase-policy/" target="_blank">VGC</a>). Personally, I think more transparency is a good thing. If a game is releasing on multiple platforms, why try to hide that fact? </p><p>That leads to today, and some humorous speculation on whether PlayStation will include the Xbox logo in its own State of Play. The history books suggest that's unlikely; PlayStation has historically excluded the Xbox logo when spotlighting multi-platform games. But for me, I'd rather all companies were just upfront. </p><p>If a game is landing on Xbox and PlayStation, let gamers know, don't hide it! </p><h2 id="the-countdown-has-started-the-stream-is-live">The countdown has started, the stream is LIVE</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/cvh0xXmu0bs" allowfullscreen></iframe></div></div><p>This is when you know we're almost there! The PlayStation State of Play livestream has gone LIVE. Okay, so it's just a 30-minute countdown clock, but it at least gives us all some nice ambient music, and it means we're in the final home straight!</p><h2 id="state-of-play-is-already-attracting-plenty-of-attention">State of Play is already attracting plenty of attention </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Wwck8ERZDrcCnHLpXxkr4Q" name="ps5-state-of-play-june-2026-youtube-screencap" alt="YouTube screencap showing viewership figures for State of Play June 2026" src="https://cdn.mos.cms.futurecdn.net/Wwck8ERZDrcCnHLpXxkr4Q.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Google)</span></figcaption></figure><p>We're just under 20 minutes from the State of Play June 2026 beginning and already thousands of gamers are flooding to watch the countdown. Even in the time it took me to take the above screenshot and write this post, the viewing figures have jumped up to more than 82,000. Hopefully PlayStation has a suitably big show planned for all the thousands of people watching around the world.</p><h2 id="10-minute-warning-now-is-the-time-to-get-ready">10 minute warning, now is the time to get ready!</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ALK6jc8sVtnXdoztzrN4BT" name="state-of-play-june-2-2026-info" alt="State of Play info graphic showing timings for the June 2, 2026 event" src="https://cdn.mos.cms.futurecdn.net/ALK6jc8sVtnXdoztzrN4BT.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony Interactive Entertainment)</span></figcaption></figure><p>There's just 10 minutes until PS5 State of Play for June 2026 begins. If you haven't already now is the time to get ready. Boot up a live stream (there's one embedded above), get your snacks/drinks prepared, and maybe take a quick bathroom break!</p><h2 id="time-for-one-final-prediction">Time for one final prediction!</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Hrpjom7VxZqWBjNmh3PKZC" name="media-molecule-image" alt="Media Molecule image showing characters from LittleBigPlanet, Tearaway and Dreams" src="https://cdn.mos.cms.futurecdn.net/Hrpjom7VxZqWBjNmh3PKZC.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Media Molecule / Sony)</span></figcaption></figure><p>With just five minutes to go, I've got time for a final prediction. I think we might <em>finally </em>see what's next from British developer Media Molecule. The Guildford-based studio behind the popular LittleBigPlanet series hasn't released a game since 2020's Dreams, and this creation tool experience was dropped back in 2023. It's been long enough now that I have a inkling we might see what's next from MM.</p><h2 id="the-waiting-is-over-state-of-play-june-2025-begins-now">The waiting is over! State of Play June 2025 begins now!</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="pwng4PmYEyMUmsMmXTrcgR" name="playstation-stock-image-state-of-play.jpg" alt="State of Play July 2021" src="https://cdn.mos.cms.futurecdn.net/pwng4PmYEyMUmsMmXTrcgR.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>After all the build-up, predictions, leaks and rumors, now is the time for PlayStation to do the talking as State of Play 2026 begins right now...</p><h2 id="wolverine-opens-the-state-of-play">Wolverine opens the State of Play!</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2s7pYFzTXPQbkDmreoQvoL" name="wolverine-ps5-promo-image" alt="Marvel's Wolverine screenshot showing Logan attacking an enemy" src="https://cdn.mos.cms.futurecdn.net/2s7pYFzTXPQbkDmreoQvoL.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Insomniac Games / Sony Interactive Entertainment)</span></figcaption></figure><p>I predicted this one, and it's Marvel's Wolverine that kicks off the State of Play, with new gameplay, and some fresh details about this upcoming superhero title!</p><h2 id="wolverine-will-include-other-mutants">Wolverine will include other mutants</h2><p>The first look at proper gameplay from Wolverine confirms that Logan won't be alone with other mutants to encounter during the campaign, it looks like Jean Grey will be one of them. It's also as violent and bloody as any Wolverine fan could want! </p><h2 id="wolverine-gets-state-of-play-off-to-a-strong-start">Wolverine gets State of Play off to a strong start!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/OiBo_NgYI5Q" allowfullscreen></iframe></div></div><p>That's a pretty action-packed way to kick off a State of Play. Wolverine looks great, but I do have some worries that most of what we saw was cutscenes, I'm hoping that actually <em>playing</em> this new Marvel game will be as fun as watching footage.</p><h2 id="marvel-tokon-is-the-next-game-showcased">Marvel Tokon is the next game showcased</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/cen2Lbmmo_Q" allowfullscreen></iframe></div></div><p>We're in for a Marvel section, as after Wolverine, we move on to Marvel Tokon: Fight Souls, the new fighting game from Arc System Works. I recently got to play a few rounds of this superhero brawler during a trip to PlayStation's U.K. office, and it was very good fun. It's rocketed up my must-play list. It's launching on August 6, 2026.</p><h2 id="marvel-time-is-over-time-for-rayman">Marvel time is over, time for Rayman! </h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/TKfG9hiueak" allowfullscreen></iframe></div></div><p>Whelp, the leaks were spot on, next up is the reveal of Rayman Legends Retold. A remake of the excellent Rayman Legends title, this reworked spin on the platforming classic sports a 2.5D look and some new 3D sections.</p><p>It's dropping on October 1 on PS5. </p><h2 id="bancho-the-chef-is-the-next-game-revealed">Bancho the Chef is the next game revealed</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/nJP_ZiDYfxY" allowfullscreen></iframe></div></div><p>I'm not really sure what to make of this one, but it's a new game called Bancho the Chef, and it looks like it mixes cartoonish graphics with a narrative driven approach. </p><h2 id="next-up-a-new-trailer-for-kemuri">Next up, a new trailer for Kemuri</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/yWMwRfJj8So" allowfullscreen></iframe></div></div><p>This game looks wild; it's called Kemuri: Hunt the Unseen, and it's dropping in 2027. You play a hunter in a city trying to track down paranormal forces. Naturally, combat is a big focus of the title, and the art style has definitely caught my eye.</p><h2 id="tomb-raider-legacy-of-atlantis-gets-the-spotlight">Tomb Raider: Legacy of Atlantis gets the spotlight</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/0wEjbSYNUM8" allowfullscreen></iframe></div></div><p>Next up, it's a new trailer for the Tomb Raider remake, subtitled Legacy of Atlantis. It looks cinematic, as any good Tomb Raider game should, but sadly, unless the Amazon listing page leak was incorrect, we know a delay into 2027 is coming.</p><p>There is, the game releases on February 12, 2027!</p><h2 id="trailer-for-the-lost-world-no-it-s-not-jurassic-park">Trailer for The Lost World (No, it's not Jurassic Park)</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/nlt4o-mLxyM" allowfullscreen></iframe></div></div><p>I thought this was our latest look at the previously announced Jurassic Park: Survival, but I was wrong. It's actually <em>another </em>dino-themed game called The Lost World. No prizes for guessing what movie franchise inspired this title.</p><h2 id="some-quick-fire-trailers-now">Some quick fire trailers now!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/ZX8mHo0aSbc" allowfullscreen></iframe></div></div><p>We're getting a quick fire dose of trailers now, first up is another quick glimpse at Phantom Blade 0 (which launches in September), and in just a few seconds, we're heading over to check out Dune: Awakening. </p><h2 id="dune-awakening-comes-to-ps5-on-september-22">Dune Awakening comes to PS5 on September 22</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/iCKflvFn4p4" allowfullscreen></iframe></div></div><p>Dune Awakening is console-bound and coming on September 22. New for the console edition is a single-player option, letting you explore the spice-rich deserts solo, if you'd rather not be pestered by online players doing silly emotes. </p><h2 id="trailers-for-dynasty-warriors-3-remastered-and-no-rest-for-the-wicked">Trailers for Dynasty Warriors 3 Remastered and No Rest for the Wicked</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/UTVVw9fsHVA" allowfullscreen></iframe></div></div><p>I told you the trailers were coming fast now. We got a look at Dynasty Warriors 3: Complete Edition, followed by the news that No Rest For the Wicked is coming to PS5 with a major 1.0 update in October 2026.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/dzOnRaQVoeI" allowfullscreen></iframe></div></div><h2 id="can-onimusha-way-of-the-sword-keep-up-capcom-s-hot-streak">Can Onimusha: Way of the Sword keep up Capcom's hot streak?</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/LNq35HHUtNc" allowfullscreen></iframe></div></div><p>Capcom is on an insane run right now, and I'm hoping that Onimusha: Way of the Sword will keep that hot streak going. It certainly looks promising and is due to land on PS5 on September 25, 2026. Even better, <strong>a demo for the game is dropping on PS5 today.</strong> That's my post State of Play plans sorted, I guess!</p><h2 id="i-d-know-that-music-anywhere">I'd know that music anywhere!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/eXLfSEipn7I" allowfullscreen></iframe></div></div><p>Silent Hill: Townfall up next, I could tell just from the eerie musical chimes alone! This new entry in the survival-horror series takes the franchise to Scotland, and is played in first-person. I wasn't a huge fan of Silent Hill f (hot take, I know), but I'm hoping that Townfall will hook me in the way that Silent Hill 2 remake managed.</p><p>Silent Hill: Townfall is releasing on September 24, 2025 (just 1 day before Onimusha, September is going to be <em>so </em>packed with new games)</p><h2 id="ace-combat-8-wings-of-theve-lands-in-october">Ace Combat 8: Wings of Theve lands in October</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/c2bgoQhlzqE" allowfullscreen></iframe></div></div><p>It feels like every game is dropping in September/October, no doubt they're all trying to get out of the way of GTA 6. Ace Combat 8: Wings of Theve is the latest title to confirm it's releasing into what is looking like a crowed couple of months.</p><h2 id="it-s-a-knight-rider-game-or-is-it-back-to-the-future">It's a Knight Rider game? Or is it Back to the Future?</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/A7NZpeAmdxk" allowfullscreen></iframe></div></div><p>What sort of mashup is this! Saber just announced a new title called Hollywood Stuntman, where, as the game suggests, you play as a stunt driver on movie sets. There appear to be licensed flicks involved with Knight Rider and Back to the Future teased in the trailer. I'm kind of completely sold on this concept! </p><h2 id="this-horror-game-makes-wolverine-look-pg">This horror game makes Wolverine look PG</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/TFHcVsPNbsY" allowfullscreen></iframe></div></div><p>Ill gets a new trailer, and it's bloody and violent, it makes the Wolverine gameplay from earlier look tame. Don't watch the above trailer if you can't stomach lots of guts and intestines. </p><h2 id="control-resonant-gets-a-story-trailer-and-release-date">Control: Resonant gets a story trailer (and release date)</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/TAzxTMaA6j4" allowfullscreen></iframe></div></div><p>One of my most anticipated games of 2026, Control Resonant is out September 24, 2026. And I can't wait. I didn't even want to watch the trailer as I'm sold already! </p><h2 id="marathon-season-2-takes-the-spotlight">Marathon Season 2 takes the spotlight</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/-WVhTcByDyY" allowfullscreen></iframe></div></div><p>Well, if you need a quick bathroom break, I guess this Marathon Season 2 trailer isn't a bad time for one. Seeing as the chat has been spamming "We Want Destiny 3" all day long, there are quite a few unhappy comments about it. Marathon Season 2 launches today with a free trial weekend, and the base game gets a discount.</p><h2 id="runescape-is-arriving-on-ps5">Runescape is arriving on PS5</h2><p>My nostalgia levels are rising as for the first time a Runescape game is coming to PS5. Okay, it's not the base game but a spin-off, but still, Runescape on PS5! It's also be added to the PlayStation+ catalog on day one. </p><p>Sony's also confirming a new PlayStation Classics being added to PS+ including PSI-Ops, which has hit with another dose of childhood memories.</p><h2 id="could-this-be-the-until-dawn-sequel">Could this be the Until Dawn Sequel?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="swTtov7dnGkenzGkkFCfWA" name="until dawn trailer (3).jpg" alt="A screenshot showing characters from Until Dawn" src="https://cdn.mos.cms.futurecdn.net/swTtov7dnGkenzGkkFCfWA.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony / SuperMassive Games)</span></figcaption></figure><p>Rumors of an Until Dawn sequel have been ever-present for years, and this trailer that shows young adults having fun in paradise over sinister music is screaming Until Dawn to me! </p><h2 id="yup-until-dawn-2-is-confirmed">Yup, Until Dawn 2 is confirmed</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/QpVZ9OvRLZI" allowfullscreen></iframe></div></div><p>And there you have it, in 2027 we are getting a follow-up to fan-favorite PS4 game Until Dawn 2. It's about a group of "fake" ghost hunters, who travel to a tropical island and find themselves trapped in a real nightmare. </p><h2 id="the-final-reveal-will-be-20-minutes-long">The final reveal will be 20 minutes long!</h2><p>Wow, our last reveal of the night will be a "big" one, and it'll be 20 minutes of uninterrupted gameplay rather than merely a quick trailer or logo. Could it be the rumored God of War prequel starring Faye? </p><p>The Santa Monica Studio logo has appeared, I think it just might be...</p><h2 id="that-s-god-of-war-alright">That's God of War alright!</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ZjP4fqAEcPtL4Km8XsFF2d" name="state-of-play-june-2-god-of-war" alt="State of Play June 2026 screenshot" src="https://cdn.mos.cms.futurecdn.net/ZjP4fqAEcPtL4Km8XsFF2d.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony Interactive Entertainment)</span></figcaption></figure><p>Yup, it looks like all the rumors were correct, our last reveal is a new God of War game, and it will be starring Faye. Who awakes <em>somewhere </em>after her death! </p><h2 id="our-first-look-at-faye-in-action">Our first look at Faye in action!</h2><p>Whelp, she might not be Kratos, but Faye can certainly kick some butt. Our first look at this new God of War title (assuming it'll adopt the GoW name) sees Faye attacked by planet creatures and easily dispatch them with aggressive move set of her own </p><h2 id="move-over-kratos-i-m-team-faye-now">Move over Kratos, I'm Team Faye now</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="X94e4UCURnQV3K4kkLeGgB" name="state-of-play-june-2-god-of-war-01" alt="state of play june 2 screenshot" src="https://cdn.mos.cms.futurecdn.net/X94e4UCURnQV3K4kkLeGgB.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony Interactive Entertainment)</span></figcaption></figure><p>I wasn't totally sold on a God of War prequel/spin-off without Kratos, but this gameplay is convincing me quickly. I'm wondering if PlayStation is showing us 20 minutes of gameplay out of the gate, could this game be closer to release? </p><h2 id="and-it-s-called-god-of-war-laufey">And it's called God of War: Laufey</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/HLMX2w3cwuE" allowfullscreen></iframe></div></div><p>And there you have it, God of War: Laufey is coming to PS5. Not even a release year, so I guess my prediction that showing us so much of it today was a sign we might be close(ish) to release was wrong. I expect this is probably a late 2027 game at least.</p><h2 id="and-that-s-the-state-of-play-june-2026-wrapped-up">And that's the State of Play June 2026 wrapped up!</h2><p>God of War: Laufey concludes today's State of Play. It was a suitably epic ending!</p><h2 id="give-me-your-rating-for-today-s-state-of-play">Give me your rating for today's State of Play!</h2><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-O6jBVO"></div>                            </div>                            <script src="https://kwizly.com/embed/O6jBVO.js" async></script><p>Now that State of Play is over, I want to know what you make of the showcase from PlayStation. I'm going with a solid B+. It was a good showing, but lacked major surprises, and I'm quite disappointed we didn't see Intergalactic whatsoever.  </p><h2 id="what-was-missing">What was missing?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="oSXnTeeWyDNn8CXYkWPAwN" name="resi-9-switch-2" alt="Resident Evil" src="https://cdn.mos.cms.futurecdn.net/oSXnTeeWyDNn8CXYkWPAwN.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>We put up a poll earlier asking what games you were excited to see. </p><p>Unfortunately, every game on the list (except Wolverine) didn't make an appearance. </p><p>That includes Bloodborne (anything), FF7, RE9 DLC, Intergalactic, Horizon, Ken or Fairgames. It's actually surprising how many games were missing. </p><p>I did mention earlier that Summer Games Fest is on Friday. So, perhaps we'll see some of these games at that show, especially since they'll likely be multiplatform compared to some of the games shown today.</p><h2 id="most-exciting-announcement">Most exciting announcement</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/nlt4o-mLxyM" allowfullscreen></iframe></div></div><p>Yes, God of War and Wolverine took up most of the but I think there were a couple of trailers that looked interesting.</p><p>For me, the Jurassic Park-esque "The Lost Wild" has my interest. I'm not sure where it's going, but I am curious.</p><p>Additionally, there was the trailer for Kemori. Look, I'm a surprisingly simple man, it turns out, and any game where you can grind wires like a skater will pique my interest.</p><p>There were more but I wanted to call those two out. Anything catch your eye?</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I got hands-on with PS5 FlexStrike fight stick and Pulse Elevate desktop speakers — and I’m seriously impressed with one in particular ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/ps5-flexstrike-fight-stick-and-pulse-elevate-speakers-preview</link>
                                                                            <description>
                            <![CDATA[ I got an early look at new PS5 accessories, the FlexStrike Fight Stick and Pulse Elevate desktop speakers. Here are my first impressions. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Fc2dXnMCg2VxavCpXhJEhQ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/N6LTKNQi66tSXXqZMZpNSE-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 01 Jun 2026 15:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ rory.mellon@futurenet.com (Rory Mellon) ]]></author>                    <dc:creator><![CDATA[ Rory Mellon ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5Rv6LtQXMj5JB4Eu8Lt4Sn.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/N6LTKNQi66tSXXqZMZpNSE-1280-80.jpg">
                                                            <media:credit><![CDATA[Future / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[PlayStation FlexStrike Wireless Fight Stick and Pulse Elevate Wireless Speakers in a glass cabinet]]></media:description>                                                            <media:text><![CDATA[PlayStation FlexStrike Wireless Fight Stick and Pulse Elevate Wireless Speakers in a glass cabinet]]></media:text>
                                <media:title type="plain"><![CDATA[PlayStation FlexStrike Wireless Fight Stick and Pulse Elevate Wireless Speakers in a glass cabinet]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/N6LTKNQi66tSXXqZMZpNSE-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Last year, PlayStation announced the already diverse PS5 accessory range was set to grow further with two new products: the <a href="https://www.tomsguide.com/gaming/playstation/playstations-first-fight-stick-gets-an-official-name-meet-the-flexstrike">FlexStrike fight stick</a> and the <a href="https://www.tomsguide.com/audio/speakers/sony-used-a-ps5-state-of-play-to-reveal-desktop-gaming-speakers-heres-what-they-bring-to-the-table">Pulse Elevate desktop speakers</a>. What makes these two upcoming accessories more intriguing is that they represent firsts for PlayStation.</p><p>FlexStrike is the first official PlayStation fight stick, while the Elevate expands the Pulse range beyond headsets and into the speaker arena. I’ve been curious to learn more and, of course, to get my hands on these two products since they were announced last summer and fall, respectively.</p><p>After getting to demo both during a trip to PlayStation’s U.K. office, I’ve come away impressed and confident that they will bolster the already strong range of optional extras available to <a href="https://www.tomsguide.com/gaming/playstation/ps5-slim">PS5</a> and <a href="https://www.tomsguide.com/gaming/playstation/ps5-pro-review">PS5 Pro</a> owners.</p><p>Both have their use cases and seem primed to deliver exactly what gamers want from a wireless fight stick and a pair of desktop speakers. However, it was the FlexStrike that really left the strongest impression. Just a short hands-on session took the accessory from a curiosity to a peripheral I’m eager to add to my own gaming setup as soon as possible.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XYxkZO"></div>                            </div>                            <script src="https://kwizly.com/embed/XYxkZO.js" async></script><h3 class="article-body__section" id="section-flexstrike-wireless-fight-stick-hands-on-impressions"><span>FlexStrike wireless fight stick hands-on impressions</span></h3><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/TTGmg6uYXKc" allowfullscreen></iframe></div></div><p>Settling down into a plush gaming pod within PlayStation’s slick London base, I was first introduced to the FlexStrike and given insight into its creation by Edwin Foo, VP of Product Development at Sony Interactive Entertainment. During this presentation, what stood out to me was the clear passion the development team has for PlayStation’s first fight stick.</p><p>Foo explained that one of the development mantras was to create a stick that could appeal to both serious players, the types hoping to compete at tournaments like Evo 2026, and newcomers who perhaps haven’t used a fight stick before. The sort of gamer used to playing fighting games like Street Fighter, Mortal Kombat, and more on a traditional controller. I fall into that camp, so I was curious to see if a newbie like me could adapt.</p><p>Even just admiring the FlexStrike with my eyes, I was won over instantly by the design. The PS5’s aesthetics have always been a divisive subject, but I’m a fan, and I love how the FlexStrike pairs up PlayStation’s flagship console with a similar two-tone look that mixes Black and White plastic. It looks futuristic, without veering into the neon-garish look of some rivals.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TVvjQayTQdsBypxvcKzG2K" name="Sony Fightstick" alt="PlayStation FlexStrike Wireless Fight Stick in a glass cabinet" src="https://cdn.mos.cms.futurecdn.net/TVvjQayTQdsBypxvcKzG2K.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Tom's Guide)</span></figcaption></figure><p>As Foo highlighted some of the features, I got a sense that PlayStation really hasn’t skimped on functionality with the FlexStrike. Naturally, you’ve got a singular joystick on the left side and pleasingly large buttons on the right, one for each of the inputs on a DualSense.</p><p>Along the top, you’ll find the Options and Share buttons, alongside the ability to lock the top bar. Foo informed me that accidentally pressing pause during a fighting game competition results in an automatic forfeit, so this lock feature is essential.</p><p>Soon enough, it was time for me to test out the FlexStrike for myself. The bottom of the controller is covered in a rubber material that prevents it from slipping around and virtually locks it in place on my lap (another big positive).</p><p>When initially running my fingers over the FlexStrike, I started to understand why there’s so much negative space below the joystick and buttons. There's a generous surface area to rest your palms, and I can imagine that over longer play sessions, it’ll make finding a comfortable position a breeze.  </p><p>For my FlexStrike hands-on, PlayStation had selected the upcoming Marvel Tōkon: Fighting Souls (launching August 6), which was an extra treat. My opponent would be Kyungsoo Kim, Product Development Program Manager at Sony Interactive Entertainment.</p><p>After a brief fumble locating the X button — very on brand for me to embarrass myself at least once — I locked in my characters and was ready for our superhero bout.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3rEG5K4dK5UFvhY3qUb3MV" name="marvel-tokon-fighting-souls-screenshot" alt="Marvel Tōkon: Fighting Souls screenshot showing Captain America fighting Danger" src="https://cdn.mos.cms.futurecdn.net/3rEG5K4dK5UFvhY3qUb3MV.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Arc System Works / Sony Interactive Entertainment)</span></figcaption></figure><p>Okay, so I lost. But, in my defense, it was a close match. Kim’s mastery of projectile attacks won out in the end (though I suspect they <em>may </em>have been taking it easy on me). But more importantly, within just a few moments of using the FlexStrike, I started to understand the appeal of playing a fighting game on a fight stick rather than a standard controller.</p><p>The satisfying click of the FlexStrike’s joystick and the significantly larger buttons made stringing together combinations of presses much easier. Foo explained to me that via the PlayStation Link USB adapter, the FlexStrike offers latency of just four milliseconds. So I couldn’t blame my defeat on my inputs not coming through quickly enough. Plus, you can connect two FlexStrikes via a single USB adapter without impacting latency. Impressive!</p><p>And if all of the above reasons to consider a FlexStrike weren’t enough. The controller also comes with a sling carry case included. So you can take it to tournaments all over the world with ease. As my session was coming to an end, Foo revealed one final inclusion: remove the FlexStrike’s rubber bottom, and you get access to additional customization options. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Js6gLNWsGgZhoE3C9wM7eT" name="FlexStrike Wireless Fight Stick.jpg" alt="PlayStation FlexStrike Wireless Fight Stick" src="https://cdn.mos.cms.futurecdn.net/Js6gLNWsGgZhoE3C9wM7eT.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony Interactive Entertainment)</span></figcaption></figure><p>Underneath the controller, you can swap out the “restrictor gate,” choosing between a square, octagonal, or round gate. For those out of the loop (like I was), this sets the joystick movement. A square gate is more restrictive, making moving into corners easier, whereas an octagonal gate gives you more freedom, but requires greater precision. I’ve since learned that which gate is best is a hotly contested topic, so the FlexStrike giving you the option to pick your preferred gate seems very smart.</p><p>Even after a brief time with the FlexStrike, I came away suitably impressed and already sold on it as my preferred method of play for fighting games going forward. I’ll have to wait until later in the summer to put it through its paces fully. But on first use, I think it’s a PS5 accessory that players who take fighting games seriously are going to love, and even newcomers to the world of fight sticks (like me) will find themselves quite taken with it.</p><h3 class="article-body__section" id="section-pulse-elevate-wireless-speakers-hands-on-impressions"><span>Pulse Elevate wireless speakers hands-on impressions</span></h3><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/lgn9VHKFDd0" allowfullscreen></iframe></div></div><p>After being pried away from the FlexStrike, I was ushered into a new room to get my first look at the Pulse Elevate wireless speakers. These take on an unassuming look, with only the small PlayStation insignia in the corner denoting that these are speakers made specifically for gaming on a PS5. A design decision, I appreciate. For this demo, two Pulse Elevate speakers were placed on either side of a monitor, hooked up to a PS5 Pro console.</p><p>To test their functionality, I was shown a <a href="https://www.tomsguide.com/gaming/ghost-of-yotei-review">Ghost of Yotei</a> presentation, which highlighted the Tempest 3D AudioTech at its best. During one sequence, a gust of wind blew across the screen, with the audio simultaneously shifting from one speaker to the other, which was unbelievably cool. Next up, I got to play through the intro sequence of the excellent PS5 exclusive <a href="https://www.tomsguide.com/gaming/saros-review">Saros</a>, which was a fine choice considering its incredibly strong sound. </p><p>What stood out to me most as I attempted to display my Saros skills to my watching audience was how easy it was to decipher each element of the soundscape. Saros throws a lot of noise at players, but I could pick out individual cues and clearly make out the ghostly whispers that add to the game’s sci-fi atmosphere. Pulse Elevate certainly seems up to scratch when delivering an excellent audio experience. Which, of course, is critical.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2758px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="FWbyq3qT8vtezAn3fmKvwJ" name="Sony Speakers-1" alt="Pulse Elevate Speakers in a glass cabinet" src="https://cdn.mos.cms.futurecdn.net/FWbyq3qT8vtezAn3fmKvwJ.jpg" mos="" align="middle" fullscreen="" width="2758" height="1551" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Tom's Guide)</span></figcaption></figure><p>But it was after my hands-on (ears-on?) that I got a sense of what makes the Pulse Elevate worthy of consideration beyond just delivering fantastic audio. For starters, the speakers are wireless. They sit on a charging dock, but with a single lifting motion, you can unhook them and place them wherever you’d like. This offers versatility to even users with limited desktop space. Secondly, the speaker’s curved stand allows you to point the speaker upwards.</p><p>Foo pointed out that many speakers currently on the market sit flat, so the sound is blasted at a user's chest when they're sitting at a desk. The Pulse Elevate aims to push audio directly to your ears. Plus, they’re not only designed for PS5 but also compatible with PC and mobile devices.</p><p>Switching between PS5 and PC takes mere seconds, so long as you have a USB adapter plugged into both devices. However, because the speakers come with only one in the box, near-instant switching requires purchasing a second USB dongle. And while the Pulse Elevate speakers are designed to utilize PlayStation Link, Bluetooth is also supported. The <a href="https://blog.playstation.com/2025/09/24/introducing-pulse-elevate-sony-interactive-entertainments-first-wireless-speakers-for-desktop-gaming/" target="_blank">PS Blog</a> notes that you can connect via PlayStation Link and Bluetooth simultaneously.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2674px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6ui332dM2fJra7sqzgt4wJ" name="Sony Speakers" alt="Pulse Elevate Speakers in a glass cabinet" src="https://cdn.mos.cms.futurecdn.net/6ui332dM2fJra7sqzgt4wJ.jpg" mos="" align="middle" fullscreen="" width="2674" height="1504" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Tom's Guide)</span></figcaption></figure><p>Much like the DualSense controller, the Pulse Elevate sports an in-built microphone, located in the right speaker. I was skeptical of this functionality. Surely, the mic would also pick up the gaming audio? But Foo put this concern of mine to bed by playing loud music while also quietly talking into the speaker. On playback, I could hear Foo’s voice clearly, and the AI-enhanced noise-rejection technology (not reduction, <em>rejection</em>) had removed the music entirely. </p><p>As somebody who spent much of my 20s playing <a href="https://www.tomsguide.com/us/ps4-pro,review-4036.html">PS4</a> at a desk across college dorms and rented apartments, I can certainly see the use case for the Pulse Elevate speakers. As with the FlexStrike, one of my big takeaways was the clear extra mile PlayStation has gone to cram in additional functionality beyond just nailing the all-important audio experience.</p><h3 class="article-body__section" id="section-which-new-ps5-accessory-should-you-buy"><span>Which new PS5 accessory should you buy?</span></h3><p>I can’t definitively say whether the FlexStrike and Pulse Elevate are worth buying until I’ve added them to my own gaming setup and truly put them through their paces over several days (watch out for our full reviews around launch). However, as far as first reactions go, both impressed me.</p><p>The FlexStrike was definitely the one I gravitated towards most, and the one that, as I made the long trek home in the summer heat, I was wishing would be waiting there to greet me. Nevertheless, at this pre-launch stage, I’m confident that both the FlexStrike and Pulse Elevate will represent strong additions to PlayStation’s robust lineup of PS5 accessories. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/playstation-days-of-play-2026-deals-are-finally-live-these-are-the-ones-worth-your-money">PS5 Days of Play 2026 is live — here's the best deals</a></li><li><a href="https://www.tomsguide.com/gaming/007-first-light-review">007 First Light is the best Bond game ever made</a></li><li><a href="https://www.tomsguide.com/best-picks/the-best-ps5-games">The best PS5 games in 2026</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ PlayStation Days of Play 2026 is finally live — here's the deals worth your money ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation-days-of-play-2026-deals-are-finally-live-these-are-the-ones-worth-your-money</link>
                                                                            <description>
                            <![CDATA[ With this year’s PlayStation Days of Play sale in full swing, here are the best games and hardware deals I’d recommend you buy before it ends. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">AfEJ2AzBu6htXGkEKmrkpK</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/aBPvhkLcdZteLNfpN6cacC-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 30 May 2026 06:00:00 +0000</pubDate>                                                                                                                                <updated>Mon, 01 Jun 2026 15:56:00 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming]]></category>
                                                    <category><![CDATA[Playstation]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elton Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/NVtYYXr3tEPUE67jf3HtXM.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/aBPvhkLcdZteLNfpN6cacC-1280-80.jpg">
                                                            <media:credit><![CDATA[Sony]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A promotiomal image for Days of Play 2024]]></media:description>                                                            <media:text><![CDATA[A promotiomal image for Days of Play 2024]]></media:text>
                                <media:title type="plain"><![CDATA[A promotiomal image for Days of Play 2024]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/aBPvhkLcdZteLNfpN6cacC-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Being a gamer in 2026 is a costly endeavor, no doubt. So it’s always a nice change of pace when one of the main console makers throws its user base a bone with some major sales.</p><p>In this case, PlayStation is letting its gaming collective breathe a sigh of relief now that the Days of Play sale is finally underway. And just like the year before, the official PlayStation Direct online storefront and participating online retailers (Amazon and Best Buy, for example) have a wide range of deals on physical games, digital games, DualSense controllers, headsets, PS5 console covers, the PS VR 2 headset, and PS Plus memberships. </p><p>Plus, if you prefer to access the digital store directly from your PS5 and hop on any of the deals listed there, you can totally take advantage of that option.</p><p>With such an overwhelming array of sweet deals to keep track of, I’m sure it can be a headache trying to decide what discounts are worth jumping on. Before the PS Days of Play sale ends on June 10, check out my personal recommendations for the best discounts I’ve spotted for critically acclaimed games and sick color alternatives for PS5 controllers.</p><h3 class="article-body__section" id="section-physical-game-deals"><span>Physical Game Deals</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="fcj5HwEuDpuNyTjJYCHNgA" name="ghost-of-yotei-screenshot-review-press-03" alt="Ghost of Yotei press screenshot" src="https://cdn.mos.cms.futurecdn.net/fcj5HwEuDpuNyTjJYCHNgA.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sucker Punch / Sony)</span></figcaption></figure><p>The PS Direct online store has a respectable lineup of quality games on sale, with a few of them also having discounts on their Collector’s Editions. I’ve already put in a ridiculous amount of hours getting the trophies for most of the PS5 games being sold for less right now, which is why I’m keen on listing their Days of Play deals here:</p><ul><li><strong>HELLDIVERS 2:</strong> <a href="https://direct.playstation.com/en-us/buy-games/helldivers-2-ps5" target="_blank" rel="nofollow">was $39.99 now $29</a></li><li><strong>Marvel's Spider-Man 2:</strong> <a href="https://direct.playstation.com/en-us/buy-games/marvels-spider-man-2-ps5" target="_blank" rel="nofollow">was $69 now $29</a></li><li><strong>Ratchet & Clank: Rift Apart:</strong> <a href="https://direct.playstation.com/en-us/buy-games/ratchet-clank-rift-apart-ps5" target="_blank" rel="nofollow">was $69 now $29</a></li><li><strong>The Last of Us Part I:</strong> <a href="https://direct.playstation.com/en-us/buy-games/the-last-of-us-part-i-ps5" target="_blank" rel="nofollow">was $69 now $29</a></li><li><strong>The Last of Us Part II Remastered:</strong> <a href="https://direct.playstation.com/en-us/buy-games/the-last-of-us-part-ii-remastered-ps5" target="_blank" rel="nofollow">was $49 now $29</a></li><li><strong>Demon's Souls:</strong> <a href="https://direct.playstation.com/en-us/buy-games/demons-souls-ps5" target="_blank" rel="nofollow">was $69 now $29</a></li><li><strong>Horizon Forbidden West Launch Edition:</strong> <a href="https://direct.playstation.com/en-us/buy-games/horizon-forbidden-west-launch-edition-ps5" target="_blank" rel="nofollow">was $49 now $29</a></li><li><strong>Marvel's Spider-Man: Miles Morales Ultimate Edition:</strong> <a href="https://direct.playstation.com/en-us/buy-games/marvels-spider-man-miles-morales-ultimate-edition-ps5" target="_blank" rel="nofollow">was $69 now $39</a></li><li><strong>Ghost of Yotei:</strong>  <a href="https://direct.playstation.com/en-us/buy-games/ghost-of-yotei-ps5" target="_blank" rel="nofollow">was $69 now $49</a></li><li><strong>DEATH STRANDING 2: ON THE BEACH Collector’s Edition: </strong><a href="https://direct.playstation.com/en-us/buy-games/death-stranding-2-on-the-beach-collectors-edition-ps5" target="_blank" rel="nofollow">was $229 now $129</a></li><li><strong>Ghost of Yotei Collector’s Edition:</strong> <a href="https://direct.playstation.com/en-us/buy-games/ghost-of-yotei-collectors-edition-ps5" target="_blank" rel="nofollow">was $249 now $149</a></li></ul><h3 class="article-body__section" id="section-digital-game-deals"><span>Digital Game Deals</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XzsqES8RUybGXYt5sQnxMK" name="Resident Evil Requiem LIST" alt="Resident Evil Requiem" src="https://cdn.mos.cms.futurecdn.net/XzsqES8RUybGXYt5sQnxMK.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Capcom)</span></figcaption></figure><p>On the digital gaming front, the Days of Play sale has a crazy long list of discounted games. Alongside the expected array of older titles, there’s also a nice mixture of recently released titles sprinkled in there that I think is worth mentioning here. </p><p>I’m going to go ahead and showcase 15 of those digital sales here (feel free to go directly to this <a href="https://store.playstation.com/en-us/pages/DaysofPlay" target="_blank">page</a> to see the full gamut of digital game sales or peruse through the PSN store on your PS5 or PS4 to see what else is worth picking up):</p><ul><li><strong>STRIDER:</strong> <a href="https://store.playstation.com/en-us/product/UP0102-CUSA00057_00-STRUSHG4TRIAL001" target="_blank" rel="nofollow">was $14 now $5</a></li><li><strong>Fist of the North Star: Lost Paradise:</strong> <a href="https://store.playstation.com/en-us/product/UP0177-CUSA12776_00-HOKUTOGOTOUS0000" target="_blank" rel="nofollow">was $19 now $4</a></li><li><strong>Bayonetta & Vanquish 10th Anniversary Bundle:</strong> <a href="https://store.playstation.com/en-us/product/UP0177-CUSA16113_00-BAYOVANQUISH10RE" target="_blank" rel="nofollow">was $39 now $9</a></li><li><strong>Sonic Origins Plus:</strong> <a href="https://store.playstation.com/en-us/product/UP0177-PPSA05324_00-SONICORIGINSPLUS" target="_blank" rel="nofollow">was $39 now $11</a></li><li><strong>Ghostrunner: Complete Edition:</strong> <a href="https://store.playstation.com/en-us/product/UP4040-PPSA03682_00-GHOSTRUNNERCMPLT" target="_blank" rel="nofollow">was $39 now $19 ($15 for PS Plus subscribers)</a></li><li><strong>Dispatch:</strong> <a href="https://store.playstation.com/en-us/product/HP7386-PPSA27158_00-0022337374597692" target="_blank" rel="nofollow">was $29 now $23</a></li><li><strong>Ace Attorney Anthology:</strong> <a href="https://store.playstation.com/en-us/product/UP0102-CUSA37738_00-PWAAT123AJAAT456" target="_blank" rel="nofollow">was $59 now $26</a></li><li><strong>HELLDIVERS 2:</strong> <a href="https://store.playstation.com/en-us/product/UP9000-PPSA01413_00-HELLDIVERS200000" target="_blank" rel="nofollow">was $39 now $29</a></li><li><strong>Resident Evil Remake Trilogy:</strong> <a href="https://store.playstation.com/en-us/product/UP0102-PPSA07411_00-BHB0000000000003" target="_blank" rel="nofollow">was $89 now $29</a></li><li><strong>Split Fiction:</strong> <a href="https://store.playstation.com/en-us/product/UP0006-PPSA08560_00-SPLITSTANDARDED0" target="_blank" rel="nofollow">was $49 now $34</a></li><li><strong>Clair Obscur: Expedition 33:</strong> <a href="https://store.playstation.com/en-us/product/EP7579-PPSA17599_00-EXP33000000PS5EU" target="_blank" rel="nofollow">was $49 now $37</a></li><li><strong>ASTRO BOT:</strong> <a href="https://store.playstation.com/en-us/product/UP9000-PPSA21564_00-0000000000000000" target="_blank" rel="nofollow">was $59 now $39</a></li><li><strong>Marvel’s Spider-Man 2 Digital Deluxe Edition:</strong> <a href="https://store.playstation.com/en-us/product/UP9000-PPSA03016_00-MSM2DDE000000000" target="_blank" rel="nofollow">was $79 now $39</a></li><li><strong>Ghost of Yotei:</strong> <a href="https://store.playstation.com/en-us/product/UP9000-PPSA26344_00-GHOST2SHIP000000" target="_blank" rel="nofollow">was $69 now $49</a></li><li><strong>Resident Evil Requiem:</strong> <a href="https://store.playstation.com/en-us/product/UP0102-PPSA30803_00-REREQUIEM0000000" target="_blank" rel="nofollow">was $69 now $55</a></li></ul><h3 class="article-body__section" id="section-accessory-deals"><span>Accessory Deals</span></h3><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1874px;"><p class="vanilla-image-block" style="padding-top:73.85%;"><img id="Cc5W9qiAjzbtVVSHyy9H6S" name="Dualsense controller" alt="Playstation Dualsense controller" src="https://cdn.mos.cms.futurecdn.net/Cc5W9qiAjzbtVVSHyy9H6S.png" mos="" align="middle" fullscreen="" width="1874" height="1384" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>I usually shudder at the thought of buying another DualSense controller since purchasing a controller for $70+ is an insane concept to me. </p><p>But after being saddled with two Dual Sense controllers stricken by the dreaded "stick drift" plague, I was forced to look at what PlayStation was presenting as far as deals for their controllers go. Plus, I’m in the market for a new headset and have been keeping a close eye on PlayStation’s first-party options (which are also usually pricey).</p><p>Thankfully, the Days of Play deals I spotted make getting a new DualSense controller or PULSE headset less of a painful purchase. These are the controller color variations and PULSE headsets that caught my eye the most and don’t break the bank as much as they do when they’re at their standard price:</p><ul><li><strong>Access Controller:</strong> <a href="https://www.bestbuy.com/product/sony-interactive-entertainment-access-controller-white/JXHQ3CC3YG/sku/6553450" target="_blank" rel="nofollow">was $89 now $59</a></li><li><strong>Chroma Pearl:</strong> <a href="https://www.bestbuy.com/product/sony-interactive-entertainment-dualsense-wireless-controller-for-ps5-pc-mac-mobile-chroma-pearl/JXHQ37T9SJ/sku/6601464" target="_blank" rel="nofollow">was $79 now $59</a></li><li><strong>Sterling Silver: </strong><a href="https://www.bestbuy.com/product/sony-interactive-entertainment-dualsense-wireless-controller-for-ps5-pc-mac-mobile-sterling-silver/JXHQ3CCHLJ/sku/6562645" target="_blank" rel="nofollow">was $79 now $59</a></li><li><strong>Marathon Limited Edition: </strong><a href="https://www.bestbuy.com/product/sony-interactive-entertainment-dualsense-wireless-controller-marathon-limited-edition-for-ps5-pc-mac-mobile-white/JXHQ37TQ96/sku/6670038" target="_blank" rel="nofollow">was $84 now $64</a></li><li><strong>Remix Green:</strong> <a href="https://www.bestbuy.com/product/sony-interactive-entertainment-dualsense-wireless-controller-for-ps5-pc-mac-mobile-remix-green/JXHQ37TYQX" target="_blank" rel="nofollow">was $84 now $64</a></li><li><strong>Rhythm Blue:</strong> <a href="https://www.bestbuy.com/product/sony-interactive-entertainment-dualsense-wireless-controller-for-ps5-pc-mac-mobile-rhythm-blue/JXHQ37TYQS" target="_blank" rel="nofollow">was $84 now $64</a></li><li><strong>Techno Red:</strong> <a href="https://www.bestbuy.com/product/sony-interactive-entertainment-dualsense-wireless-controller-for-ps5-pc-mac-mobile-techno-red/JXHQ37TYR9" target="_blank" rel="nofollow">was $84 now $64</a></li><li><strong>PULSE Elite Wireless Headset:</strong> <a href="https://www.bestbuy.com/product/sony-pulse-elite-wireless-gaming-headset-for-ps5-white/JXHQ3CXGYT" target="_blank" rel="nofollow">was $149 now $109</a></li><li><strong>PULSE Explore Wireless Earbuds:</strong> <a href="https://www.bestbuy.com/product/sony-pulse-explore-wireless-earbuds-midnight-black/JXHQ3C2QW5" target="_blank" rel="nofollow">was $199 now $149</a></li></ul><h2 id="shout-out-to-playstation-for-giving-gamers-a-bit-of-a-financial-reprieve">Shout out to PlayStation for giving gamers a bit of a financial reprieve</h2><p>With all the console and handheld price increases, it can become pretty daunting for any hardcore gamer and someone curious enough to get into the hobby to open their wallet nowadays. </p><p>Trust me, I get it—I still don’t have a Switch 2 and it’s looking like I’ll have to get one before the price for that one increases on September 1. With PlayStation’s Days of Play deals in full effect until June 10, I appreciate the gaming giant throwing gamers a bone with a wide selection of deals for their products. </p><p>It’s definitely worth tapping into any of these before all these awesome deals disappear.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/best-picks/the-best-ps5-games" target="_blank">The best PS5 games in 2026</a></li><li><a href="https://www.tomsguide.com/gaming/gaming-peripherals/sony-playstation-pulse-elite-headset-review" target="_blank">Sony PlayStation Pulse Elite review: Big sound, not-so-big price</a></li><li><a href="https://www.tomsguide.com/gaming/gaming-peripherals/sony-playstation-pulse-explore-review" target="_blank">PlayStation Pulse Explore review: Feel like the main character</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ As a certified 'cozy gamer', these are the 12 most stress-free games for the ultimate bliss ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/as-a-certified-cozy-gamer-these-are-the-12-most-stress-free-games-for-the-ultimate-cozy-bliss</link>
                                                                            <description>
                            <![CDATA[ Keen on a new 'cozy' game? These 12 Amazon finds are my top-rated picks as a cozy gamer. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">HC4DkgZvNc7XW8WV57Wp3L</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/5j8QpvxKZujWMLQp4EAnUT-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 25 May 2026 23:56:21 +0000</pubDate>                                                                                                                                <updated>Wed, 27 May 2026 00:03:11 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming]]></category>
                                                    <category><![CDATA[Nintendo]]></category>
                                                                                                <author><![CDATA[ lucy.scotting@futurenet.com (Lucy Scotting) ]]></author>                    <dc:creator><![CDATA[ Lucy Scotting ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/UC9ncAYxkmJ5ipHEyX44ri.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Lucy Scotting is a staff writer for Tom’s Guide Australia, primarily covering lifestyle, streaming and internet-related news. Lucy started her career writing for HR and staffing industry publications, with articles covering emerging tech, business and finance.&lt;/p&gt;&lt;p&gt;In her spare time, Lucy can be found watching sci-fi movies, working on her dystopian fiction novel (in progress since 2017) or hanging out with her dog, Fletcher. If she’s not found doing any of the above, she’s likely on her next adventure to a new city, country, or continent. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/5j8QpvxKZujWMLQp4EAnUT-1280-80.jpg">
                                                            <media:credit><![CDATA[Future / Skystone Games]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Tiny Bookshop key art with Tom&#039;s Guide deal badge]]></media:description>                                                            <media:text><![CDATA[Tiny Bookshop key art with Tom&#039;s Guide deal badge]]></media:text>
                                <media:title type="plain"><![CDATA[Tiny Bookshop key art with Tom&#039;s Guide deal badge]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/5j8QpvxKZujWMLQp4EAnUT-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>For the past 20-odd years, I have loved easy, open-world gaming. Ever since getting my first Game Boy Color, to my beloved (and heavily used) Nintendo DS Lite, and to my current handheld console, a limited edition Animal Crossing-themed Nintendo Switch, I have always opted for fun, simple games with open-ended goals and low-stakes progression. </p><p>Enter the 2020s term 'cozy gaming' — which is essentially just that — low commitment games that ooze aesthetic visual appeal, satisfying mechanics (like fishing, foraging and in some cases, flying), and hours upon hours of stress-free entertainment. </p><p>Some of my favourite cozy games are ones I've continued to play in short bursts for years at this point — namely, <a href="https://www.amazon.com.au/Animal-Crossing-Horizons-Nintendo-Switch/dp/B0FYKP1YPH" target="_blank">Animal Crossing</a> and <a href="https://www.amazon.com.au/Disney-Dreamlight-Valley-Cozy-CIB/dp/B0CGSSGFW2/" target="_blank">Disney Dreamlight Valley</a> — but I've also dabbled in newer entries over the past few months, including my current obsession, <a href="https://www.amazon.com.au/Silver-Lining-Interactive-6644-Bookshop/dp/B0G66TP1K9" target="_blank">Tiny Bookshop</a>. The name pretty much gives away the synopsis — you own a cutesy bookshop caravan in a seaside town, and you can customise almost everything about it. </p><p>If you're anything like me, you might be after a cozy game to try out. Whether it's to reinvigorate your love for gaming or you want a stress-free hobby to plug into every night, these 12 Amazon finds will provide that and more. Better yet, most of these games are available for Nintendo Switch, Nintendo Switch 2 or PlayStation consoles. So if you're after a new cozy game, scroll on to find my top-rated picks below. </p>        <div class="featured_product_block featured_block_hero" data-id="ff0bb0cc-6cfe-4aeb-94e8-57c3475d9e98">            <a href="https://www.amazon.com.au/Animal-Crossing-Horizons-Nintendo-Switch/dp/B0FYKP1YPH" data-model-name="Animal Crossing: New Horizons - Nintendo Switch 2" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:150%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/cNzEhdmioBJQigobcUtF5e.jpg" alt="Animal Crossing: New Horizons - Nintendo Switch 2 Edition"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Nintendo</div>                                        <div class="featured__title">Animal Crossing: New Horizons - Nintendo Switch 2</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b5304ab3-e40a-48b7-b565-d07665338f45">            <a href="https://www.amazon.com.au/Silver-Lining-Interactive-6644-Bookshop/dp/B0G66TP1K9" data-model-name="Tiny Bookshop - Nintendo Switch" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:150%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/3whYm5PD2zQPFupCnRJPwd.jpg" alt="Tiny Bookshop - Nintendo Switch"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Silver Lining Interactive</div>                                        <div class="featured__title">Tiny Bookshop - Nintendo Switch</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="f243781f-ae5a-4bb8-b0b1-01cf4d386926">            <a href="https://www.amazon.com.au/Disney-Dreamlight-Valley-Cozy-CIB/dp/B0CGSSGFW2/" data-model-name="Disney Dreamlight Valley Cozy Edition - Nintendo Switch" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:132.98%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/6H9HLc7vTDGYFm2SHw9Hzd.jpg" alt="Disney Dreamlight Valley Cozy Edition Cib"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Nighthawk Interactive</div>                                        <div class="featured__title">Disney Dreamlight Valley Cozy Edition - Nintendo Switch</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b4345ccc-f6d2-4941-a18f-dadabbdfce8a">            <a href="https://www.amazon.com.au/Hello-Kitty-Island-Adventure-Switch/dp/B0FHQM1NV4" data-model-name="Hello Kitty Island Adventure - Nintendo Switch" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:150%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/m8hh9xSZy4QLsMXekqcErd.jpg" alt="Hello Kitty Island Adventure - Switch"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Sunblink</div>                                        <div class="featured__title">Hello Kitty Island Adventure - Nintendo Switch</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="eeaafd8a-451e-460b-b40f-72bbdcffc9fd">            <a href="https://www.jbhifi.com.au/products/nintendo-switch-tomodachi-life-living-the-dream" data-model-name="Tomodachi Life: Living the Dream - Nintendo Switch" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/rSBrF27g8MQdUmKuFqYAke.jpg" alt="Tomodachi Life: Living the Dream"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Nintendo</div>                                        <div class="featured__title">Tomodachi Life: Living the Dream - Nintendo Switch</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8bdc07af-181f-42c0-9738-40c2cf8ec8c6">            <a href="https://www.amazon.com.au/MySims-Cozy-Bundle-Nintendo-Switch/dp/B0FXZ7R6KM" data-model-name="MySims: Cozy Bundle - PlayStation 5" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:124.69%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/DF9RawZfP6UTmgqqm4TRAe.jpg" alt="Mysims: Cozy Bundle - Playstation 5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Electronic Arts</div>                                        <div class="featured__title">MySims: Cozy Bundle - PlayStation 5</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="925a000e-58b6-43bb-8a7d-0b4ae2d3b139">            <a href="https://www.amazon.com.au/Fangamer-5060760880859-Stardew-Valley-Nintendo/dp/B08F8KRRGL" data-model-name="Stardew Valley - Nintendo Switch" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:150%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/9rTDM2QeTEnmTsZSMDqrVe.jpg" alt="Stardew Valley (nintendo Switch)"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Fangamer</div>                                        <div class="featured__title">Stardew Valley - Nintendo Switch</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9097a3e1-04a4-478f-a5e6-a31de85280b6">            <a href="https://www.amazon.com.au/Tales-Shire-Rings-Nintendo-Switch/dp/B0F832DJRS/" data-model-name="Tales of the Shire: a Lord of the Rings Game - Playstation 5" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:115.47%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/TtQrg4g5dXDZScVp9XfmQe.jpg" alt="Tales of the Shire: a Lord of the Rings Game - Playstation 5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>U&I</div>                                        <div class="featured__title">Tales of the Shire: a Lord of the Rings Game - Playstation 5</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="22b09626-e945-4362-92bc-99955dfa1c4a">            <a href="https://www.amazon.com.au/BANDAI-NAMCO-Entertainment-Switch-NoManSky-Switch/dp/B0B51F8D3K" data-model-name="No Man's Sky - Nintendo Switch" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:150%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/AJu72msBVvwDExKz2cXeCe.jpg" alt="Hello Game No Man's Sky Nintendo Switch Game"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Bandai Namco</div>                                        <div class="featured__title">No Man's Sky - Nintendo Switch</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="0c7a347f-6b6b-4ece-8930-fd24f425d257">            <a href="https://www.amazon.com.au/Nintendo-1231638-Fae-Farm-Switch/dp/B0C824L6WV" data-model-name="Fae Farm - Nintendo Switch" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:150%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/qcaxqnhoCKu4QHjr5MGURe.jpg" alt="Fae Farm /nintendo Switch"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Nintendo</div>                                        <div class="featured__title">Fae Farm - Nintendo Switch</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="ba63958d-3740-4ffa-8467-f2a20a2ef4bc">            <a href="https://www.amazon.com.au/Untitled-Goose-Game-Nintendo-Switch/dp/B08DB49XRR" data-model-name="Untitled Goose Game - Nintendo Switch" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:150%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/RxtuGJSDDR4ubYnn8xnGLe.jpg" alt="Untitled Goose Game (nintendo Switch)"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Skybound Games</div>                                        <div class="featured__title">Untitled Goose Game - Nintendo Switch</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="15e3c4ea-f367-4765-bd0e-34d20a85182f">            <a href="https://www.amazon.com.au/Skybound-Stray-Nintendo-Switch/dp/B0DJCT4Y7Q" data-model-name="Stray - Nintendo Switch" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:150%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/cauMxFUdpAQAXumcUmbDJe.jpg" alt="Stray - Nintendo Switch"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Skybound</div>                                        <div class="featured__title">Stray - Nintendo Switch</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I fixed my biggest gripe with the PS5 Pro with these unofficial cover plates — and now it looks and feels more like a PC ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/i-fixed-my-biggest-gripe-with-the-ps5-pro-with-these-unofficial-cover-plates-and-now-it-looks-and-feels-more-like-a-pc</link>
                                                                            <description>
                            <![CDATA[ Sony’s official console covers only change the color, but DevynPC’s BoxPlates completely overhaul the PS5 Pro's silhouette for a sleek, PC-inspired look. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">kX3awBCgXeYdXXCZow2fZ8</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/xFP4HKzzMQo42wVVqc26q5-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 24 May 2026 10:15:00 +0000</pubDate>                                                                                                                                <updated>Sun, 24 May 2026 16:41:57 +0000</updated>
                                                                                                                                            <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ anthony.spadafora@futurenet.com (Anthony Spadafora) ]]></author>                    <dc:creator><![CDATA[ Anthony Spadafora ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/z73LEoj7FkUjNG85GcWHtH.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Anthony Spadafora is the managing editor for security and home office furniture at Tom’s Guide where he covers everything from data breaches and malware to password managers and the best way to cover your whole home or business with a strong Wi-Fi signal.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Before joining the team, he spent three years covering cybersecurity and B2B tech for ITProPortal while living in South Korea. After moving back to the US. Anthony joined the TechRadar Pro team where he covered these topics along with VPNs, web hosting, online collaboration software and video conferencing for four years. Anthony also has his ears to the ground and is on the lookout for the next major cyberattack or data breach.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Based in Houston, Texas, Anthony also handles VPN testing for both Tom’s Guide and TechRadar. As someone who has worked from home exclusively since 2018, he has reviewed dozens of standing desks as well as office chairs and has taken a closer look at other essential remote working accessories. As part of these reviews, Anthony frequently builds intricate desk setups which is why he’s such a big advocate for cable management and keeping things organized. When he’s not writing, he can be found tinkering with PCs and game consoles, managing cables and making upgrades to his smart home.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/xFP4HKzzMQo42wVVqc26q5-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A PS5 Pro with BoxPlates console covers installed on a desk]]></media:description>                                                            <media:text><![CDATA[A PS5 Pro with BoxPlates console covers installed on a desk]]></media:text>
                                <media:title type="plain"><![CDATA[A PS5 Pro with BoxPlates console covers installed on a desk]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/xFP4HKzzMQo42wVVqc26q5-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Unlike with one of the <a href="https://www.tomsguide.com/us/best-gaming-pc,review-2219.html">best gaming PCs</a>, you’re usually stuck with a console’s stock design. If you want something different, your only real option is to wait for Sony, Nintendo, or Microsoft to release a special-edition version or a hardware redesign.</p><p>Unfortunately, with this console generation, special edition designs have been few and far between. For instance, Sony has only released two true custom variants (the Spider-Man 2 edition and its retro-gray 30th Anniversary models), while Microsoft did something similar with its Halo Infinite and Galaxy Black Xbox Series X consoles. Meanwhile, Nintendo has yet to put out a special edition Switch 2.</p><p>Given that I wasn’t particularly fond of the original PS5's design, I decided to wait for the <a href="https://www.tomsguide.com/gaming/playstation/ps5-slim">PS5 Slim</a> to be released. However, after all that waiting, I figured I might as well hold out a bit longer for the <a href="https://www.tomsguide.com/gaming/playstation/ps5-pro-review">PS5 Pro</a>. I ended up getting a PS5 Pro, and while I really like the extra power and features it brings to the table, its futuristic, two-tone design just wasn’t for me. I had hoped Sony would release alternative <a href="https://www.tomsguide.com/opinion/this-console-cover-made-me-love-my-big-ugly-ps5">console covers</a> for its pro system, as it did with the standard PS5, but after months of waiting, we only got a single set of special-edition covers as part of the <a href="https://www.tomsguide.com/gaming/ghost-of-yotei-review">Ghost of Yōtei</a> launch.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/KwoUPhm6MAc" allowfullscreen></iframe></div></div><p>While I could have just picked up a pair of standard, third-party console covers for my PS5 Pro and called it a day, something even better came along. YouTuber Devyn Johnston wanted to change up the look and design of his PS5 too, so he reverse-engineered Sony’s console covers and made his own — called BoxPlates — with a few notable improvements.</p><p>Here’s what it was like installing them on my own PS5 Pro, and how they completely transformed my console into something closer to a Small Form Factor (SFF) PC that looks right at home in my <a href="https://www.tomsguide.com/computing/i-built-a-black-and-white-gaming-desk-setup-that-feels-clean-calm-and-completely-me-and-it-has-a-secret-weapon-that-makes-it-all-work">desk setup</a> with my other gear.</p><div class="product"><a data-dimension112="58b5eac9-efe1-41d6-8abc-e5787cfd8bbf" data-action="Deal Block" data-label="The custom-engineered BoxPlates completely transform your console’s look into a sleek, symmetrical rectangle featuring expanded side-vent airflow and perfect native stability. We are officially at the tail end of Johnston's 2026 production run, meaning remaining inventory is limited and moving quickly. Only the original PS5 Disc and PS5 Pro Disc plates remain in stock, with all of the Slim and Digital versions currently sold out. Grab yours now while you still can." data-dimension48="The custom-engineered BoxPlates completely transform your console’s look into a sleek, symmetrical rectangle featuring expanded side-vent airflow and perfect native stability. We are officially at the tail end of Johnston's 2026 production run, meaning remaining inventory is limited and moving quickly. Only the original PS5 Disc and PS5 Pro Disc plates remain in stock, with all of the Slim and Digital versions currently sold out. Grab yours now while you still can." data-dimension25="$89.99" href="https://store.devynpc.com/products/boxplates" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1800px;"><p class="vanilla-image-block" style="padding-top:56.28%;"><img id="2kYE9dxvWBKViq6Jtv4uSe" name="BoxPlates" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/2kYE9dxvWBKViq6Jtv4uSe.png" mos="" align="middle" fullscreen="" width="1800" height="1013" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The custom-engineered BoxPlates completely transform your console’s look into a sleek, symmetrical rectangle featuring expanded side-vent airflow and perfect native stability. We are officially at the tail end of Johnston's 2026 production run, meaning remaining inventory is limited and moving quickly. Only the original PS5 Disc and PS5 Pro Disc plates remain in stock, with all of the Slim and Digital versions currently sold out. Grab yours now while you still can.<a class="view-deal button" href="https://store.devynpc.com/products/boxplates" target="_blank" rel="nofollow" data-dimension112="58b5eac9-efe1-41d6-8abc-e5787cfd8bbf" data-action="Deal Block" data-label="The custom-engineered BoxPlates completely transform your console’s look into a sleek, symmetrical rectangle featuring expanded side-vent airflow and perfect native stability. We are officially at the tail end of Johnston's 2026 production run, meaning remaining inventory is limited and moving quickly. Only the original PS5 Disc and PS5 Pro Disc plates remain in stock, with all of the Slim and Digital versions currently sold out. Grab yours now while you still can." data-dimension48="The custom-engineered BoxPlates completely transform your console’s look into a sleek, symmetrical rectangle featuring expanded side-vent airflow and perfect native stability. We are officially at the tail end of Johnston's 2026 production run, meaning remaining inventory is limited and moving quickly. Only the original PS5 Disc and PS5 Pro Disc plates remain in stock, with all of the Slim and Digital versions currently sold out. Grab yours now while you still can." data-dimension25="$89.99">View Deal</a></p></div><h2 id="snap-off-snap-on">Snap off, snap on</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="GtKEV3frjhjheL4ZrJkriA" name="BoxPlates-1-LEDE" alt="A PS5 Pro next to a set of BoxPlates console covers on a desk" src="https://cdn.mos.cms.futurecdn.net/GtKEV3frjhjheL4ZrJkriA.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>It wasn’t long after I got my PS5 Pro that I came across YouTuber Devyn Johnston’s reveal video showing off his new BoxPlates. After weeks of iterating on their design, he finally came up with something that not only looks good but installs the exact same way as Sony’s official console covers. Since you aren’t technically tampering with your console — like you would be if you opened it up and fully re-shelled it — you can always swap back to Sony’s stock covers if need be.</p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/dNhaeyO8Zh0" allowfullscreen></iframe></div></div><p>While Johnston initially made black, gray, and two-tone black-and-gray BoxPlates, when I reached out about getting a pair to try out, only the black ones were left in stock. This was fine by me; an all-black console blends in with most desk setups much better than an all-white one.</p><p>As their name implies, once installed, the BoxPlates give both the standard PS5 and the PS5 Pro a more rectangular look. As a result, you don’t have to use the tiny plastic feet Sony includes in the box if you want to use your console horizontally, nor do you need a separate <a href="https://www.tomsguide.com/opinion/forget-new-ps5-slim-5-reasons-to-buy-the-current-ps5-instead">vertical stand</a> if you’d rather have it upright.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="TphSDspuT3BJkwUipEBpwD" name="BoxPlates-2" alt="A set of BoxPlates console covers on a desk" src="https://cdn.mos.cms.futurecdn.net/TphSDspuT3BJkwUipEBpwD.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>With the BoxPlates laid out on my desk, it was clear how much thought and attention went into their design. In addition to the raised tabs that let you attach both plates to your console, there are larger circular vents on either side than on Sony’s original design. Even with them installed, they don’t block the console’s power indicator lights or any of its ports.</p><p>After carefully removing the stock console covers from my PS5 Pro, it was time to install my new BoxPlates. Fortunately, since they were reverse-engineered, they slide on and snap off the console just like Sony’s.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="fyEt5c6jGEbFspE6Sn2XPJ" name="BoxPlates-3" alt="A person installing a set of BoxPlates console covers on a PS5 Pro" src="https://cdn.mos.cms.futurecdn.net/fyEt5c6jGEbFspE6Sn2XPJ.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>There was a bit of back-and-forth getting them aligned, as it’s easy to miss a tab here or there. However, after putting them on and taking them off a few times, I eventually got them installed perfectly on my PS5 Pro.</p><p>As this was my first time ever removing my PS5 Pro’s console covers, the whole process did take me a bit longer than I initially thought it would. However, if you’ve ever taken yours off to clean your PS5 or PS5 Pro, you should have a much easier time installing your BoxPlates.</p><h2 id="dressed-for-a-desk-setup">Dressed for a desk setup</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5idxLDX8vMHZ2AFKEJdXwM" name="BoxPlates-4" alt="A PS5 Pro with BoxPlates console covers installed next to an Xbox Series S on a desk" src="https://cdn.mos.cms.futurecdn.net/5idxLDX8vMHZ2AFKEJdXwM.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As you can see here, my PS5 Pro with Johnston’s BoxPlates installed looks quite similar to the <a href="https://www.tomsguide.com/opinion/3-things-i-love-about-the-new-xbox-series-s-and-one-upgrade-its-still-missing">black Xbox Series S</a> next to it. This makes sense; in the video linked above, he explains that the first version of his custom PS5 console cover was loosely inspired by the Xbox One S. Johnston later switched to his own original design, and that change definitely paid off.</p><p>Immediately after installing Johnston’s BoxPlates on my PS5 Pro, my now-customized console reminded me of a PC case I built years ago. Instead of selling my desktop gaming PC when I left Korea, I decided to swap my larger Micro-ATX case for a smaller ITX one. Looking at my PS5 Pro with Johnston’s BoxPlates installed instantly made me think of my old <a href="https://www.tomsguide.com/opinion/the-lg-dualup-is-the-perfect-vertical-monitor-heres-why">Fractal Design Node 202 case</a>, which remains one of my favorite SFF PC cases of all time.</p><p>With the console cover swap complete, it was time to bring my PS5 Pro back over to my desk and see how it looked — and performed — compared to Sony’s original design. While I do like the way Johnston’s BoxPlates look with the PS5 Pro in a horizontal orientation, I went with a vertical one instead to give me as much space on my desk as possible without worrying about poor ventilation.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="RRWno8k9jftM45SbQCQvPS" name="BoxPlates-6" alt="A person playing AstroBot on a PS5 Pro outfitted with BoxPlates console covers" src="https://cdn.mos.cms.futurecdn.net/RRWno8k9jftM45SbQCQvPS.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>As I was shooting the final pics for my <a href="https://www.tomsguide.com/home/home-office/corsair-platform-4-elevate-review">Corsair Platform 4: Elevate Desk review</a>, I decided to set up my PS5 Pro on that desk. With its redesigned look, the console blended in perfectly with the rest of my desk setup instead of standing out like a sore thumb. It might just be me, but it also seemed to run quieter under heavy load, even though the PS5 and PS5 Pro are already a massive improvement over the PS4/PS4 Pro in terms of noise levels.</p><p>Since I’ve mainly been playing PC games on the <a href="https://www.tomsguide.com/computing/mini-pcs/forget-consoles-i-spent-a-week-with-this-mini-pc-in-my-living-room-and-i-cant-believe-how-well-it-performs">Framework Desktop</a> on the right side of my desk and with Khadas’ <a href="https://www.tomsguide.com/computing/mini-pcs/i-gave-my-favorite-pocketable-mini-pc-an-instant-upgrade-with-this-docking-station-and-now-its-a-full-fledged-gaming-rig">Mind Graphics 2</a> external GPU in the other room, I have plenty of PS5 and PS4 games, as well as a couple of PS3 games — I’m looking at you, Heavy Rain — in my backlog that I still need to finish. With my PS5 Pro now sporting Johnston’s BoxPlates, doing so will be much easier, since I can incorporate Sony’s console into my various desk setups as easily as I do with the Nintendo Switch 2 paired with the <a href="https://www.tomsguide.com/gaming/gaming-peripherals/i-gave-my-switch-2-a-major-upgrade-for-usd55-less-than-buying-another-official-dock-and-it-fits-in-my-pocket">Genki Covert Dock 3</a>.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OarGjX"></div>                            </div>                            <script src="https://kwizly.com/embed/OarGjX.js" async></script><h2 id="from-futuristic-to-practical">From futuristic to practical</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NuiTPyS7XYDd8cdUgoRvBZ" name="PS5 Pro-BoxPlates" alt="A side by side shot showing a stock PS5 Pro on the left and a PS5 Pro outfitted with BoxPlates console covers on the right" src="https://cdn.mos.cms.futurecdn.net/NuiTPyS7XYDd8cdUgoRvBZ.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Now, don’t get me wrong, Sony’s decision to go with a more futuristic design for the PS5 and then the PS5 Pro isn’t necessarily a bad thing. On its own, I really do like how the original and now this pro model of Sony’s latest console looks. In fact, with its curves, removable console covers, and how you can install a standard, internal <a href="https://www.tomsguide.com/gaming/playstation/i-added-a-new-ssd-to-ps5-pro-to-get-faster-loading-times-heres-what-happened">M.2 SSD for extra storage</a>, the PS5 is about as futuristic as it gets — well, almost. It still doesn’t hold a candle to that fake design for the PS9 with a transparent glass orb floating in a cylinder that Sony released all the way back in 1999, ahead of the PlayStation 2’s launch.</p><p>At $89.99, Johnston’s BoxPlates are slightly on the expensive side for a cosmetic upgrade for your PS5 or PS5 Pro. However, when you factor in the cost of a set of Sony’s official console covers at $54 to $74 depending on which color you pick, and the fact that the official vertical stand — which isn’t included with the PS5 Slim or PS5 Pro — will set you back another $30, almost $100 with shipping doesn’t sound all that bad.</p><p>Now, Johnston’s BoxPlates won’t be for everyone, and that’s okay. If you just want to change your PS5’s exterior color, you can always buy a set of official or even unofficial console covers for it. However, if you take the route I did, you can change the entire look and design of your PS5 or PS5 Pro while improving its ventilation. Likewise, a mod like this one makes for a great conversation starter at your next game night, too.</p><p>Personally, I couldn’t be happier with the change, and unlike when I modded my original Xbox all those years ago, this isn’t permanent. I can just as easily revert my PS5 Pro back to its stock look — probably faster than it took me to install the BoxPlates.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/gaming-peripherals/forget-the-playstation-portal-this-dollar7-app-fixed-my-biggest-problem-with-remote-play">This $7 app fixed my biggest problem with remote play on both PS5 and Xbox</a></li><li><a href="https://www.tomsguide.com/gaming/ps5-vs-ps5-pro-which-console-should-you-buy-in-2026">PS5 vs. PS5 Pro: Which console should you buy in 2026?</a></li><li><a href="https://www.tomsguide.com/gaming/gaming-peripherals/i-tried-the-new-backbone-pro-controller-and-the-feature-ive-always-wanted-wasnt-the-most-surprising">I tried the Backbone Pro and it's an excellent mobile controller — but it's even better on PC</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Directive 8020 is The Dark Pictures game of my dreams — and the best interactive horror since Until Dawn ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/directive-8020-is-the-dark-pictures-game-of-my-dreams-and-the-best-interactive-horror-since-until-dawn</link>
                                                                            <description>
                            <![CDATA[ Directive 8020 is the best The Dark Pictures game yet, thanks to a fantastic sci-fi setting, impactful decisions, and great new features. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">aeLmHmrxDYFKurcbSLgLSA</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/gYxEKM69gEQ3968dsDDiY3-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 17 May 2026 08:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ rory.mellon@futurenet.com (Rory Mellon) ]]></author>                    <dc:creator><![CDATA[ Rory Mellon ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5Rv6LtQXMj5JB4Eu8Lt4Sn.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/gYxEKM69gEQ3968dsDDiY3-1280-80.jpg">
                                                            <media:credit><![CDATA[Supermassive Games]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Screenshot from The Dark Pictures: Directive 8020]]></media:description>                                                            <media:text><![CDATA[Screenshot from The Dark Pictures: Directive 8020]]></media:text>
                                <media:title type="plain"><![CDATA[Screenshot from The Dark Pictures: Directive 8020]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/gYxEKM69gEQ3968dsDDiY3-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Much as I enjoyed the previous four games in The Dark Pictures series, they always felt a little haunted. And I’m not talking about being haunted by the various horrific creatures, specters, and monsters housed within the series. No, The Dark Pictures has always been haunted by persistent comparisons to developer Supermassive Games’ 2015 interactive horror, <a href="https://www.tomsguide.com/gaming/pc-gaming/until-dawn-remake-is-better-than-the-original-heres-why">Until Dawn</a>.  </p><p>I’m guilty of making this comparison as well. Even with my previous favorite Dark Pictures entry, 2021’s <a href="https://www.tomsguide.com/reviews/dark-pictures-anthology-house-of-ashes">House of Ashes</a>. I remember thinking, “That was pretty great, but not as good as Until Dawn.” But what makes the latest installment in the interactive horror anthology, Directive 8020, so impressive is that for the first time, I found myself <em>not </em>subconsciously comparing the experience to one released over a decade ago. </p><p>There’s no question in my mind that Directive 8020 is the best Dark Pictures yet. Not only does it offer the most intense and engaging narrative of the series, but Supermassive Games has made some very smart tweaks to the established formula, which make experiencing (and crucially, actually <em>playing</em>) this spooky sci-fi story even more enjoyable than its predecessors. </p><div class="product"><a data-dimension112="916b8c48-886a-432c-86e6-684427738d4b" data-action="Deal Block" data-label="Directive 8020 is the latest interactive horror installment in The Dark Picture Anthology. You play a crew on board a spaceship that encounters a terrifying, shape-shifting alien. To survive, you'll have to make the right choices; otherwise, the crew will meet a grisly end. This Deluxe Edition includes an extra outfit pack, additional in-game collectibles, a cinematic filters pack, and a digital artbook/soundtrack." data-dimension48="Directive 8020 is the latest interactive horror installment in The Dark Picture Anthology. You play a crew on board a spaceship that encounters a terrifying, shape-shifting alien. To survive, you'll have to make the right choices; otherwise, the crew will meet a grisly end. This Deluxe Edition includes an extra outfit pack, additional in-game collectibles, a cinematic filters pack, and a digital artbook/soundtrack." data-dimension25="$49" href="https://www.amazon.com/Directive-8020-Deluxe-PlayStation-5/dp/B0GMRVTRXT/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1279px;"><p class="vanilla-image-block" style="padding-top:117.28%;"><img id="xUDYdjzYHChqdZy65Qkbs4" name="directive-8020-ps5-case-na" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xUDYdjzYHChqdZy65Qkbs4.jpg" mos="" align="middle" fullscreen="" width="1279" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Directive 8020 is the latest interactive horror installment in The Dark Picture Anthology. You play a crew on board a spaceship that encounters a terrifying, shape-shifting alien. To survive, you'll have to make the right choices; otherwise, the crew will meet a grisly end. This Deluxe Edition includes an extra outfit pack, additional in-game collectibles, a cinematic filters pack, and a digital artbook/soundtrack.<a class="view-deal button" href="https://www.amazon.com/Directive-8020-Deluxe-PlayStation-5/dp/B0GMRVTRXT/" target="_blank" rel="nofollow" data-dimension112="916b8c48-886a-432c-86e6-684427738d4b" data-action="Deal Block" data-label="Directive 8020 is the latest interactive horror installment in The Dark Picture Anthology. You play a crew on board a spaceship that encounters a terrifying, shape-shifting alien. To survive, you'll have to make the right choices; otherwise, the crew will meet a grisly end. This Deluxe Edition includes an extra outfit pack, additional in-game collectibles, a cinematic filters pack, and a digital artbook/soundtrack." data-dimension48="Directive 8020 is the latest interactive horror installment in The Dark Picture Anthology. You play a crew on board a spaceship that encounters a terrifying, shape-shifting alien. To survive, you'll have to make the right choices; otherwise, the crew will meet a grisly end. This Deluxe Edition includes an extra outfit pack, additional in-game collectibles, a cinematic filters pack, and a digital artbook/soundtrack." data-dimension25="$49">View Deal</a></p></div><h2 id="in-space-no-one-can-hear-you-scream">In space, no one can hear you scream</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/4a_VXgNSfME" allowfullscreen></iframe></div></div><p>I suppose it’s not really a surprise that I took to Directive 8020 so quickly. “Alien” is my favorite movie franchise of all time, and this newest entry in the series leaves Earth behind for a sci-fi horror story set 12 light-years from Earth. However, much as I’ve seen 1979’s “Alien” theorized as an inspiration (and I’m sure it is), I actually got a bigger “Prometheus” vibe overall.</p><p>You play as several crew members onboard a colony ship, the Cassiopeia. The crew’s mission to orbit the planet Tau Ceti f, to gain critical information ahead of a second ship, the Andromeda, arriving in six months, which will terraform the planet and make it suitable for humans. Naturally, this is a horror story, so as soon as the playable crew awakens from hypersleep, everything goes to hell. Turns out there’s a shapeshifting extraterrestrial onboard (“The Thing” is clearly another inspiration), and things get even worse from there, as this monster can mimic the appearance of the crew.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="m8KFjCeNsqMgXm5LMN4na3" name="directive-8020-press-image-02" alt="Screenshot from The Dark Pictures: Directive 8020" src="https://cdn.mos.cms.futurecdn.net/m8KFjCeNsqMgXm5LMN4na3.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Supermassive Games)</span></figcaption></figure><p>In Directive 8020, the six-to eight-hour story is split into eight episodes. This is a more significant change than it might sound on paper. Previously, Dark Pictures titles were technically split into multiple “chapters,” but the narrative felt largely seamless (bar interruptions from the Curator, whose role is reworked here). Those stories were presented like a movie.</p><p>Directive 8020 instead takes inspiration from a bingeable TV show. Each episode ends with a cliffhanger and “end of episode” text. It’s not a new idea; <a href="https://www.tomsguide.com/reviews/alan-wake-remastered">Alan Wake</a> used this format back in 2010, but the format works supremely well here. Far from ruining the narrative flow, the episode structure made me even more eager to consume each one as fast as possible.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XpmQ1e"></div>                            </div>                            <script src="https://kwizly.com/embed/XpmQ1e.js" async></script><h2 id="the-dark-pictures-you-know-but-a-little-different">The Dark Pictures, you know, but a little different</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="fJaDh8BSqfr8yXaaBuMQY3" name="directive-8020-press-image-05" alt="Screenshot from The Dark Pictures: Directive 8020" src="https://cdn.mos.cms.futurecdn.net/fJaDh8BSqfr8yXaaBuMQY3.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Supermassive Games)</span></figcaption></figure><p>The crux of “The Dark Pictures” is the same as the interactive horror formula that Supermassive Games has been utilizing since 2015. That means you’ll spend a lot of time picking dialogue choices, making critical decisions under time pressure, and the (in)famous inclusion of QTE sequences (but you can choose how much leeway you have with these). </p><p>However, I really appreciate that this time there’s more <em>game </em>within Directive 8020. It’s by no means a full-on survival-horror experience, a la <a href="https://www.tomsguide.com/reviews/dead-space-remake">Dead Space</a>, but third-person stealth sequences have been added. These see you sulking around the Cassiopeia, trying to avoid a foe. And unlike a traditional horror game, if you’re caught, you don’t get a “game over” screen and a retry. The story continues, with the effects of your failure rippling out.  </p><p>Directive 8020 also introduces other smaller gameplay additions, like the ability to send messages between the crew, which lightly flesh out each character. Plus, the sections where you are in direct control of a character are significantly less clunky than previous Dark Pictures. Your characters no longer move like an unwieldy tank, which is a much-needed improvement. </p><h2 id="reliving-the-nightmare-over-and-over-and-over">Reliving the nightmare over and over (and over)</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JA72zUXXjGDFXAkPocjxX3" name="directive-8020-press-image-03" alt="Screenshot from The Dark Pictures: Directive 8020" src="https://cdn.mos.cms.futurecdn.net/JA72zUXXjGDFXAkPocjxX3.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Supermassive Games)</span></figcaption></figure><p>The biggest new addition to Directive 8020 is the new Turning Points. This replaces the old Butterfly effect system that originated in Until Dawn, and was rebranded as Bearings in the previous Dark Pictures titles. Like those games, you will often make plot-critical choices, ones that can have unforeseen consequences, and even result in the death of a character. </p><p>However, this time, your choices and their outcomes are all charted in a sprawling spider-web within the pause menu. It’s neat to look at the flowchart of your progressing story, but Directive 8020 goes further and lets you rewind to any previous point in the story without penalty. This enables you to redo a decision instantly if you’re unhappy with the results. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="KnUkYroQ9AuCKRLob3gMX3" name="directive-8020-press-image-04" alt="Screenshot from The Dark Pictures: Directive 8020" src="https://cdn.mos.cms.futurecdn.net/KnUkYroQ9AuCKRLob3gMX3.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Supermassive Games)</span></figcaption></figure><p>Take, for example, a moment in episode two, where I made a rash call that got a character killed. I was pretty disappointed to lose somebody so early in the story. In a previous Dark Pictures game, my only option would have been to restart, but in Directive 8020, I was able to instantly rewind the clock and make the correct decision this time, saving the captain’s life. </p><p>It’s not just about correcting mistakes either. The Turning Points system makes it easier than ever to see different outcomes. You can leap about the narrative timeline as you wish, letting you explore different story paths with ease, and without multiple full playthroughs. In a later episode, after making a decision in a tense standoff that I was happy with, I had a lot of fun exploring what might have happened if I’d chosen a different path.</p><p>However, I can see some players disliking this system, as it does rob decisions of their weight when you can simply rewind and try again with a single button press. Fortunately, Supermassive Games thought of this potential downside and has included a specific mode that locks you out of Turning Points. Pick Survivor mode, and every decision is permanent.</p><h2 id="should-you-play-directive-8020">Should you play Directive 8020?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cG9jtscWp8xrH2q54e7SX3" name="directive-8020-press-image-06" alt="Screenshot from The Dark Pictures: Directive 8020" src="https://cdn.mos.cms.futurecdn.net/cG9jtscWp8xrH2q54e7SX3.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Supermassive Games)</span></figcaption></figure><p>If you have any fondness for the previous Dark Pictures games, then you absolutely need to play Directive 8020. As somebody who’s played them all, it’s the best of the bunch. The sci-fi setting is everything I hoped it would be, the gameplay upgrades are great, some of the decisions you must make are darn difficult, and Turning Points is an awesome inclusion.</p><p>I even recommend Directive 8020 to players who haven’t clicked with The Dark Pictures. If you’re one of the many who have been patiently waiting for Supermassive Games to recapture that special sauce that made Until Dawn a fan-favorite, Directive 8020 is exactly that. It marks The Dark Picture finding its own footing and delivering a memorable interactive horror experience, unburdened by comparisons to what came before.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/best-picks/the-best-ps5-games">The best PS5 games in 2025</a></li><li><a href="https://www.tomsguide.com/entertainment/netflix/jackpot-dante-and-vergil-clash-in-explosive-second-season-of-devil-may-cry-that-just-landed-on-netflix-and-its-campy-fun-you-cant-help-but-binge">Netflix's 'Devil May Cry' season 2 is campy fun you'll want to binge</a></li><li><a href="https://www.tomsguide.com/gaming/pc-gaming/until-dawn-remake-is-better-than-the-original-heres-why">Until Dawn remake is better than the original — here's why</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ You can build a library of essential PS5 games for the cost of a single new release — 21 can't-miss deals from $5 ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/sales-events/you-can-build-a-library-of-essential-ps5-games-for-the-cost-of-a-single-new-release-21-cant-miss-deals-from-usd5</link>
                                                                            <description>
                            <![CDATA[ If you don't want to spend your money buying a single brand-new game, here are some top PS5 deals to build your library for less. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">t3NkwtZavBrpbrqo5dmjiE</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/WBBp7xgtv6wSk4QSLLbpLU-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 14 May 2026 04:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Sales Events]]></category>
                                                    <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ rory.mellon@futurenet.com (Rory Mellon) ]]></author>                    <dc:creator><![CDATA[ Rory Mellon ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5Rv6LtQXMj5JB4Eu8Lt4Sn.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/WBBp7xgtv6wSk4QSLLbpLU-1280-80.jpg">
                                                            <media:credit><![CDATA[Amazon edited with Gemini]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[PS5 with three PS5 games surrounding the console]]></media:description>                                                            <media:text><![CDATA[PS5 with three PS5 games surrounding the console]]></media:text>
                                <media:title type="plain"><![CDATA[PS5 with three PS5 games surrounding the console]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/WBBp7xgtv6wSk4QSLLbpLU-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Picking up a brand new PS5 release at launch has never been more expensive. The default $70 price tag for new games is far from an impulse buy, and that’s before you consider the even <em>more</em> expensive deluxe editions, which can push the price of a purchase into the triple digits.</p><p>However, you don’t <em>need</em> to spend a full $70 on a single game, one that you might not even truly enjoy, or that might only last you a single weekend. For that same price, you can instead pick up a solid handful of PS5 games at retailers like Amazon and Best Buy. There are loads of the <a href="https://www.tomsguide.com/best-picks/the-best-ps5-games">best PS5 games</a> available from just $14, thanks to retailer discounts.</p><p>PlayStation Store has also just launched its "Next Level Savings" sale, with PS5 and PS4 game deals starting at just $2. So, whether you want a physical disc or the convenience of a digital download, why not put your $70 towards building a library of excellent games for the price of just one new release? Here are all the best PS5 game deals I've spotted this week.</p><ul><li><a href="https://www.amazon.com/s?k=ps5+games" target="_blank" rel="nofollow"><strong>Shop all PS5 game deals at Amazon</strong></a></li></ul>        <div class="featured_product_block featured_block_hero" data-id="baf01e42-c313-48ac-9274-7254c1cf98cc">            <a href="https://www.bestbuy.com/product/prince-of-persia-the-lost-crown-standard-edition-playstation-5/J3ZY37HY79" data-model-name="Prince of Persia the Lost Crown" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:118.20%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/kpSWmbXxzA7f5YAMwChxTV.jpg" alt="Prince of Persia the Lost Crown"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Ubisoft</div>                                        <div class="featured__title">Prince of Persia the Lost Crown</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="0f566cbe-7dba-43e6-9941-aa44afa7949d">            <a href="https://www.amazon.com/Sonic-X-Shadow-Generations-PlayStation-5/dp/B0D6JYR4M7" data-model-name="Sonic X Shadow Generations (PS5)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:125.10%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/xfKBdRYGCqDAfcCBeTnbr3.jpg" alt="Sonic X Shadow Generations PS5 box art"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>SEGA</div>                                        <div class="featured__title">Sonic X Shadow Generations (PS5)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="bb7c2a62-4b72-474e-91e8-1656b4a4a01a">            <a href="https://www.amazon.com/Resident-Evil-4-PS5-PlayStation-5/dp/B0BJTKYLCB/" data-model-name="Resident Evil 4 (PS5)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:117.65%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/Jh7z27FhTczR9oPsvYKsai.jpg" alt="Resident Evil 4 PS5 box"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Capcom</div>                                        <div class="featured__title">Resident Evil 4 (PS5)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="bdc54cac-4f87-4739-9961-243b6db451bc">            <a href="https://www.bestbuy.com/product/star-wars-jedi-survivor-standard-edition-playstation-5/J7CYF9YHH8" data-model-name="Star Wars Jedi: Survivor (PS5)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:126.42%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/79oxLfZdSNJb8CFcg8u265.jpg" alt="Star Wars Jedi Survivor"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Electronic Arts</div>                                        <div class="featured__title">Star Wars Jedi: Survivor (PS5)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="54a065b1-111a-4f35-98e6-d122d4fa3258">            <a href="https://www.amazon.com/Mortal-Kombat-1-PlayStation5-PlayStation-5/dp/B0C5S14X7Q" data-model-name="Mortal Kombat 1 (PS5)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:115.64%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/R9m2XopufuLC39q4ucdyQF.jpg" alt="Mortal Kombat 1 PS5 box"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>WARNER BROS</div>                                        <div class="featured__title">Mortal Kombat 1 (PS5)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="1292b9ae-aeda-4395-8894-edee4c0e6350">            <a href="https://www.amazon.com/Street-Fighter-6-PS5-PlayStation-5/dp/B0BPJRGNSD/" data-model-name="Street Fighter 6 (PS5)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:125.52%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/FtYX8XuLbzbu84SzZHbw5J.jpg" alt="Street Fighter 6"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Capcom</div>                                        <div class="featured__title">Street Fighter 6 (PS5)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="52008e71-a23c-4a89-8685-5937361c485d">            <a href="https://www.amazon.com/Hogwarts-Legacy-PlayStation-5/dp/B09VXBDJ9N/" data-model-name="Hogwarts Legacy (PS5)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:120.51%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/7F6FhBN4xLE767FQDXa47k.png" alt="Hogwarts Legacy"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>WARNER BROS</div>                                        <div class="featured__title">Hogwarts Legacy (PS5)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="d7314586-1795-499c-81e5-155cf0579482">            <a href="https://www.amazon.com/UNCHARTED-Legacy-Thieves-Collection-PlayStation-5/dp/B09NB7XNVB/" data-model-name="Uncharted: Legacy of Thieves Collection (PS5)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:127.22%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/WtsgWrqwsY8P7yRyRRtsYD.jpg" alt="Uncharted Legacy of Thieves"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">Uncharted: Legacy of Thieves Collection (PS5)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="e754a205-8dbf-4d37-90cb-8a972bc19847">            <a href="https://www.amazon.com/Monster-Hunter-Wilds-Standard-PlayStation-5/dp/B0DHX2V7TX/" data-model-name="Monster Hunter Wilds (PS5)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:124.52%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/oE7Hy89aW8iyLTrYyXaMTF.jpg" alt="Monster Hunter Wilds"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Capcom</div>                                        <div class="featured__title">Monster Hunter Wilds (PS5)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="5fc5397e-5582-49e0-b5d1-f0c2056931d8">            <a href="https://www.amazon.com/Lies-P-PlayStation-5/dp/B0BXB9N5CR/" data-model-name="Lies of P (PS5)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:118.76%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/cHpgdrBxVqKT7SFFmLDG9h.jpg" alt="Lies of P"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>NEOWIZ</div>                                        <div class="featured__title">Lies of P (PS5)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="6b0079dc-9fba-4cc3-9cc4-bb4a4395da49">            <a href="https://www.amazon.com/Avatar-Frontiers-Pandora-Ashes-PlayStation-5/dp/B0FS963QY8/" data-model-name="Avatar: Frontiers of Pandora - From the Ashes Edition (PS5)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/VCzKLsJLEA8H94933uKR4.jpg" alt="Ubisoft, Avatar: Frontiers of Pandora From the Ashes Edition"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Ubisoft</div>                                        <div class="featured__title">Avatar: Frontiers of Pandora - From the Ashes Edition (PS5)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="3e51bc3f-06a1-461f-810b-33f211b19570">            <a href="https://www.amazon.com/Silent-Hill-2-PS5-PlayStation-5/dp/B0CMC3C3Z9/" data-model-name="Silent Hill 2 (PS5)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:131.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/7qqzgFNziQmswnQyqqRBEm.jpg" alt="Silent Hill 2 box art"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Konami</div>                                        <div class="featured__title">Silent Hill 2 (PS5)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div><h2 id="there-are-loads-of-digital-discounts-as-well">There are loads of digital discounts as well</h2><p>After a very rare week where there was no sale running on the PlayStation Store, the deals dry period has ended, with the "Next Level Savings" sale now live, and set to run through May 27. I've found some highlights below:</p><ul><li><strong>PS5/PS4 games: </strong><a href="https://store.playstation.com/en-us/category/54f9aae2-6159-4453-9cce-0b1cf16c086f/1" target="_blank" rel="nofollow"><strong>deals from $2 @ PlayStation Store</strong></a><strong></strong></li><li><strong>Kingdom Come Deliverance: </strong><a href="https://store.playstation.com/en-us/product/EP4062-PPSA28731_00-0405812491993057" target="_blank" rel="nofollow"><strong>was $29 now $5</strong></a><strong></strong></li><li><strong>Metro Exodus (Gold Edition): </strong><a href="https://store.playstation.com/en-us/product/UP2047-PPSA02395_00-821MEEGOLDEDGEN9" target="_blank" rel="nofollow"><strong>was $39 now $5</strong></a><strong></strong></li><li><strong>Sea of Thieves: </strong><a href="https://store.playstation.com/en-us/product/UP6312-PPSA17669_00-MINERVA000000000" target="_blank" rel="nofollow"><strong>was $39 now $13</strong></a><strong></strong></li><li><strong>Planet Coaster: </strong><a href="https://store.playstation.com/en-us/product/EP2377-PPSA19633_00-PLANETCOASTER200" target="_blank" rel="nofollow"><strong>was $49 now $19</strong></a><strong></strong></li><li><strong>Grand Theft Auto V: </strong><a href="https://store.playstation.com/en-us/category/54f9aae2-6159-4453-9cce-0b1cf16c086f/1" target="_blank" rel="nofollow"><strong>was $59 now $19</strong></a><strong></strong></li><li><strong>Star Wars Outlaws: </strong><a href="https://store.playstation.com/en-us/product/UP0001-PPSA08261_00-GAME000000000000" target="_blank" rel="nofollow"><strong>was $69 now $20</strong></a><strong></strong></li><li><strong>Horizon Forbidden West: </strong><a href="https://store.playstation.com/en-us/product/UP9000-PPSA04072_00-FORBIDDENWESTPS5" target="_blank" rel="nofollow"><strong>was $49 now $29</strong></a><strong></strong></li><li><strong>Demon's Souls: </strong><a href="https://store.playstation.com/en-us/product/UP9000-PPSA01342_00-DEMONSSOULS00000" target="_blank" rel="nofollow"><strong>was $69 now $29</strong></a><strong></strong></li><li><strong>Forza Horizon 5: </strong><a href="https://store.playstation.com/en-us/product/UP6312-PPSA22327_00-0629872585919347" target="_blank" rel="nofollow"><strong>was $59 now $35</strong></a></li></ul><p>These are just a <em>tiny </em>selection of the more than 4,700 discounts available in this digital sale. Alongside games, there are major savings on PS4 titles, DLC expansions, and in-game currency. There are <em>a lot </em>of deals to shop!</p><p>Between discounts at retailers like Amazon and Best Buy, and the PlayStation Store sale, there are plenty of worthwhile deals. So, as much as some of the upcoming PS5 releases like LEGO Batman: Legacy of the Dark Knight and <a href="https://www.tomsguide.com/gaming/007-first-light-hands-on-review">007: First Light</a> look great, if you want to stretch your $69 as far as possible, you're spoilt for choice when it comes to cheaper PS5 games.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 'We see AI as a powerful tool to help us in this mission' — PlayStation CEO lays out plan to use AI for future game development ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/we-see-ai-as-a-powerful-tool-to-help-us-in-this-mission-playstation-ceo-lays-out-plan-to-use-ai-for-future-game-development</link>
                                                                            <description>
                            <![CDATA[ SIE president and CEO Hideaki Nishino expressed his excitement about AI being implemented into the company’s continued game development. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">bwpu2CbAJ86WQQmMFZNqgR</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/jRqk33iCKMsbHArqdEkkC6-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 08 May 2026 15:41:41 +0000</pubDate>                                                                                                                                <updated>Fri, 08 May 2026 15:58:58 +0000</updated>
                                                                                                                                            <category><![CDATA[AI]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elton Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/qoRE8e6t2nzaNKAhJGDv7g.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/jRqk33iCKMsbHArqdEkkC6-1280-80.jpg">
                                                            <media:credit><![CDATA[Sony]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Playstation 5]]></media:description>                                                            <media:text><![CDATA[Playstation 5]]></media:text>
                                <media:title type="plain"><![CDATA[Playstation 5]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/jRqk33iCKMsbHArqdEkkC6-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Gamers have made it abundantly clear that they have no love for AI being used to generate art in their favorite and upcoming titles. They’re also not huge fans of learning that studios are implementing AI into their development process as a whole.</p><p>On the other end of the argument, several major game publishers/developers fully support the use of AI to assist their teams in their creative efforts. Major AAA gaming companies, such as Ubisoft, Electronic Arts, Square Enix and more, have already applied AI to numerous facets of their game creation endeavors (creating non-playable character dialogue, character movement animations, and physically based rendering materials are among those AI applications).</p><p>In the case of <a href="https://www.tomsguide.com/gaming/playstation/ive-been-a-playstation-fan-for-over-20-years-heres-why-im-skipping-the-ps5-pro">PlayStation</a>, recent comments from its CEO point to the major console manufacturer and first-party game publisher/developer going all-in on AI to improve its game-making ventures.</p><h2 id="playstation-s-future-game-development-will-incorporate-the-use-of-ai">PlayStation’s future game development will incorporate the use of AI</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NPBExEtUSpawN8ZNGGdWUi" name="ps_studios.jpg" alt="playstation studios" src="https://cdn.mos.cms.futurecdn.net/NPBExEtUSpawN8ZNGGdWUi.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>During Sony’s latest corporate strategy and earnings presentation (as detailed by <a href="https://variety.com/2026/biz/news/sony-playstation-ai-strategy-tariffs-memory-1236741351/" target="_blank">Variety</a>), Sony Interactive Entertainment president and CEO Hideaki Nishino said AI will play a major role in PlayStation’s future. He described AI as “a powerful tool” to help create more immersive gaming experiences for players while also improving efficiency for developers and publishers.</p><p>Nishino explained that PlayStation Studios is already using AI to automate repetitive tasks, improve software engineering productivity and speed up areas like quality assurance, 3D modeling and animation. One example is an internal tool called “Mockingbird,” which rapidly animates 3D facial models using performance-capture data. According to Nishino, tasks that once took hours can now be completed in seconds.</p><p>Studios including Naughty Dog, San Diego Studio and the team behind <em>Horizon Zero Dawn Remastered</em> are already incorporating AI into their workflows.</p><p>Nishino also addressed concerns about generative AI replacing creatives, emphasizing that the vision, design and emotional impact of PlayStation games will continue to come from human developers and performers. He said AI is intended to “augment their capabilities, not replace them.”</p><h2 id="the-takeaway">The takeaway</h2><p>PlayStation’s newly released full-year financial results paint the picture of a gaming company that’s doing well, for the most part. As detailed by <a href="https://www.gamesindustry.biz/playstation-records-765m-impairment-loss-from-bungie-as-operating-income-falls-416-in-q4" target="_blank">GamesIndustry.biz</a>, the company has raked in $79.7 billion in net sales for the full year (that includes the 12 months that led up to March 31, 2026).</p><p>What’s less impressive is the company recording a $765 million impairment due to their acquisition of the Bungie studio (makers of <em>Destiny 2</em> and <em>Marathon</em>) not meeting Sony’s expectations.</p><p>Nishino’s comments about AI being used to assist its development studios in streamlining their work are fine. Hopefully, this will lead to those same studios getting more time to create PlayStation’s next blockbuster sequels, prequels and brand new IPs. I hope the likes of Naughty Dog, Insomniac Games and Bungie continue creating great games that don’t have an ounce of generative AI art.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/people-spend-too-much-time-talking-about-the-woe-is-me-risk-related-to-ai-gta-6-publisher-ceo-says-ai-fears-are-overstated" target="_blank">'People spend too much time talking about the 'Woe is me' risk related to AI' — GTA 6 publisher CEO says AI fears are overstated</a></li><li><a href="https://www.tomsguide.com/ai/xbox-ceo-just-scrapped-copilot-ai-for-consoles-and-i-couldnt-be-happier" target="_blank">Xbox CEO just scrapped Copilot AI for consoles — and I couldn't be happier</a></li><li><a href="https://www.tomsguide.com/ai/roblox-adds-agentic-ai-to-roblox-studio-now-creators-can-use-it-to-make-games-with-a-single-prompt" target="_blank">Roblox adds Agentic AI to Roblox Studio — now creators can use it to make games with a single prompt</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Still playing a PS4? This simple upgrade changes everything ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/your-ps4-is-secretly-holding-itself-back-heres-the-fix</link>
                                                                            <description>
                            <![CDATA[ Learn how a simple hardware swap can make your ageing PS4 feel like a different machine. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">37Nrz6Rt6t5eYGoPyghdA7</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/6XpZp6H95BBHfAWQcopDCG-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 04 May 2026 06:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ kaycee.hill@futurenet.com (Kaycee Hill) ]]></author>                    <dc:creator><![CDATA[ Kaycee Hill ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/sUwQW8yCGXFHeksAFjqSxZ.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/6XpZp6H95BBHfAWQcopDCG-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[PS4]]></media:description>                                                            <media:text><![CDATA[PS4]]></media:text>
                                <media:title type="plain"><![CDATA[PS4]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/6XpZp6H95BBHfAWQcopDCG-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>A PS5 is a serious investment. Meanwhile, your PS4 is starting to show its age.</p><p>Here's the thing: your PS4's real bottleneck is a spinning hard drive — the same technology you'd find in a budget laptop from a decade ago. Swap it for an SSD and load times drop dramatically. The drive costs less than a single new game and a screwdriver is the only tool you need.</p><p>The catch is you can't just yank one drive and slot in another. You'll need to back up your saves, reinstall the OS fresh on the new drive, then pull everything back. Two USB drives, about an hour, mild inconvenience. Here's exactly how.</p><section class="howto-block">                    <h3>1. Back up your game saves and data</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="http://cdn.mos.cms.futurecdn.net/6DkbqJRAkCLqHXGdsFQEHg.jpg"                                        alt="ps4"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="http://cdn.mos.cms.futurecdn.net/6DkbqJRAkCLqHXGdsFQEHg.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Shutterstock)</div></figure>                    <p><p>The new SSD will be blank, so you need to save everything from your current hard drive first. You'll need a USB drive with enough space for your game saves and any apps you want to avoid re-downloading.</p><p><strong>Insert the USB drive into your PS4 and head to Settings, System, Back Up and Restore, then select "Back Up PS4."</strong> Choose what to back up — at minimum, select your saved data. You can include applications too, though games themselves are too large and will need reinstalling regardless.</p><p>If you have PlayStation Plus, you can skip the USB drive and back up to cloud storage instead. For trophies, sync them through the Trophies section before you do anything else.</p><p>Once the backup is done, <strong>shut the PS4 down completely and unplug it</strong> before opening the console.</p></p>                </section><section class="howto-block">                    <h3>2. Replace the hard drive with an SSD</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/VK3o26dZDd92LTgsDMVRcU.jpg"                                        alt="2.5 SSD"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/VK3o26dZDd92LTgsDMVRcU.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Shutterstock)</div></figure>                    <p><p><strong>You need a 2.5-inch SATA SSD</strong> — not the slimmer type used in modern PCs and the PS5. Any 2.5-inch model will do, you don't need anything high-end.</p><p>The process varies slightly depending on which PS4 you have, but the principle is the same across all models: <strong>remove a panel, unscrew the drive cage, swap the drive, and reassemble</strong>. </p><p>Once that's done, don't turn it on yet, you need to get the operating system ready first.</p></p>                </section><section class="howto-block">                    <h3>3. Reinstall the PS4 operating system</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="http://cdn.mos.cms.futurecdn.net/oAVe3cFCt2JWQw2GVpH6ab.jpg"                                        alt=""                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="http://cdn.mos.cms.futurecdn.net/oAVe3cFCt2JWQw2GVpH6ab.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Joeri Mostmans/Shutterstock)</div></figure>                    <p><p>Your new SSD is blank, so you'll need to install the PS4 operating system from scratch using a second USB drive and a computer.</p><p><strong>Format the USB drive, create a specific folder structure on it, then download the </strong><a href="https://www.playstation.com/en-us/support/hardware/ps4/system-software/#reinstall" target="_blank"><strong>full reinstallation file from Sony's support page</strong></a><strong> and drop it in</strong>. The file name needs to stay exactly as downloaded.</p><p>From there, <strong>boot your PS4 into Safe Mode by holding the power button</strong> until you hear a second beep, <strong>select "Initialize PS4 </strong>(Reinstall System Software)", i<strong>nsert the USB drive,</strong> and let it do its thing. When it's done, the PS4 reboots like it's brand new.</p></p>                </section><section class="howto-block">                    <h3>4. Restore your data and reinstall games</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="http://cdn.mos.cms.futurecdn.net/4qwE9oxc69wopgE4jcWE8a.jpg"                                        alt="PS4"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="http://cdn.mos.cms.futurecdn.net/4qwE9oxc69wopgE4jcWE8a.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Getty)</div></figure>                    <p><p><strong>Log in and set up as normal, then restore the backup you made earlier </strong>— either from your USB drive or cloud storage, depending on which route you took.</p><p>Your saves and settings will come back, but <strong>you'll need to reinstall your games</strong>. Once everything is back in place, the difference in loading times should be immediately obvious.</p></p>                </section><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-Xp48GX"></div>                            </div>                            <script src="https://kwizly.com/embed/Xp48GX.js" async></script><figure class="van-image-figure pull-right inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:676px;"><p class="vanilla-image-block" style="padding-top:31.51%;"><img id="ZCwuUFRE3YeboHR4zyEWmb" name="r3t8zZ5ve4GewFTeoCM3R6" alt="Google" src="https://cdn.mos.cms.futurecdn.net/ZCwuUFRE3YeboHR4zyEWmb.jpg" mos="" align="right" fullscreen="" width="676" height="213" attribution="" endorsement="" class="pull-rightinline"></p></div></div><figcaption itemprop="caption description" class="pull-right inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More From Tom's Guide </span></h3><ul><li><a href="http://tomsguide.com/gaming/playstation/just-got-a-ps5-heres-7-settings-to-change-first">Just got a PS5? Here's 7 settings to change first</a></li><li><a href="https://www.tomsguide.com/tvs/heres-how-to-stop-your-tv-from-turning-on-your-xbox-or-ps5">Here's how to stop your TV from turning on your Xbox or PS5</a></li><li><a href="https://www.tomsguide.com/gaming/playstation/how-to-turn-on-enhance-image-quality-for-ps4-games-on-ps5-pro">Your PS5 Pro can boost image quality on PS4 games — here's how </a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I love my PS5 more than any other gadget I own, and these 6 controllers take my gaming to the next level ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/i-love-my-ps5-more-than-any-other-gadget-i-own-and-these-6-controllers-take-my-gaming-to-the-next-level</link>
                                                                            <description>
                            <![CDATA[ There are some great PS5 controllers out there, and I've used and reviewed many of them. Here are my top picks for next-level console gaming. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">UGyZkXadWKGfY5XZRwcLoQ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/2ccgmxfhWqzxJd7qjEWh6D-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 02 May 2026 11:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ nikita.achanta@futurenet.com (Nikita Achanta) ]]></author>                    <dc:creator><![CDATA[ Nikita Achanta ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oXuvixDz99SbZp9z8Uoor3.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nikita is a Senior Writer on the Reviews team at Tom&#039;s Guide. She is a lifelong gaming and photography enthusiast, especially interested in wildlife photography. Having worked as a Sub Editor and Writer for Canon EMEA, she’s a bit of a grammar nerd (and a supporter of the Oxford comma), and has also interviewed photographers from all over the world and working in different genres. A holder of two master’s degrees, the most recent one being in Magazine Journalism from Cardiff University, Nikita’s work has appeared in several publications such as Motor Sport Magazine, NME, Marriott Bonvoy, The Independent, and Metro. Her favorite tech includes the PS5, the DJI Air 3S, and the Fujifilm X-T50. She&#039;s also a licensed drone pilot and cameras expert so you&#039;ll find her testing those nearly every week.&lt;/p&gt;&lt;p&gt;In her downtime, Nikita can usually be found sinking hours into RPGs on her PS5, flying a drone, out on a walk with a camera in hand, at a concert, watching F1, or planning her next tattoo. You can follow her photography account on Instagram&lt;a href=&quot;https://www.instagram.com/photos.bynikita/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt; here&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/2ccgmxfhWqzxJd7qjEWh6D-1280-80.jpg">
                                                            <media:credit><![CDATA[Razer / Sony / Turtle Beach / Nacon / Edited with Gemini]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A collection of PS5 controllers]]></media:description>                                                            <media:text><![CDATA[A collection of PS5 controllers]]></media:text>
                                <media:title type="plain"><![CDATA[A collection of PS5 controllers]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/2ccgmxfhWqzxJd7qjEWh6D-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>One of my favorite things to do when I'm not working is to kick back and relax with my <a href="https://www.tomsguide.com/gaming/playstation/ps5-slim">PlayStation 5 Slim</a>. I was a little late to the PS5 party and only got my Slim back in December 2023 — my PS4 had run its course, sadly, and I desperately wanted to play <a href="https://www.tomsguide.com/reviews/cyberpunk-2077-phantom-liberty">Cyberpunk 2077: Phantom Liberty</a> and Baldur's Gate 3. There's no better console for me, really.</p><p>I also love the Dualsense. I think the haptics and adaptive triggers are absolutely fantastic, and the controller doesn't give me much to complain about (except for <em>that </em>5-hour battery life). As a reviews writer and lover of video games, I'm also very lucky that I get to test the <a href="https://www.tomsguide.com/best-picks/best-pc-game-controllers">best controllers</a> — and when they're designed for the PS5, oh it's a glorious day.</p><p>Having tested and used my fair share of gamepads, I'd like to share my top six picks with you. Whether you're looking for a second controller for the player two in your life, or you want a Hall Effect one for competitive gaming, I've got you covered.</p>        <div class="featured_product_block featured_block_hero" data-id="4476d976-3ba4-4db3-996e-c35aa27d31b1">            <a href="https://www.amazon.com/PlayStation-DualSenseTM-Wireless-Controller-Gaming-Console/dp/B0FY6Y9WZT/" data-model-name="PlayStation Dualsense" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/naVHASn2xMM4eiq2pBQjQF.jpg" alt="DualSense"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Sony</div>                                        <div class="featured__title">PlayStation Dualsense</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="f8905587-bbd4-4d35-93d6-1816de8b0cc3">            <a href="https://www.amazon.com/PlayStation-DualSense-Wireless-Controller-Gaming-Console/dp/B0DSQQ1P8D/" data-model-name="PlayStation Dualsense Edge" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/NMc9nttrmhoic3gR8UP7RF.jpg" alt="DualSense Edge"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Sony</div>                                        <div class="featured__title">PlayStation Dualsense Edge</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9dbce22e-f1b5-45d4-97ec-2b15e4df89dc">            <a href="https://www.amazon.com/Razer-Raiju-Pro-Wireless-Controller-5/dp/B0FNDGHM92/" data-model-name="Razer Raiju V3 Pro" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/V4NLcp2FSEPpx4PczJbeQF.jpg" alt="Razer Raiju V3 Pro"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Razer</div>                                        <div class="featured__title">Razer Raiju V3 Pro</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="ec070572-216c-4c34-bd72-55fd39121254">            <a href="https://www.amazon.com/Gaming-Controller-PlayStation-Hall-Effect-Customizable-Console/dp/B0DYVVZ4F6/" data-model-name="Turtle Beach Victrix Pro BFG Reloaded" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/dep92LTZrFXe6urFwUdFRF.jpg" alt="Turtle Beach Victrix pro BFG Reloaded"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Turtle Beach</div>                                        <div class="featured__title">Turtle Beach Victrix Pro BFG Reloaded</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e786fa4-ac01-4165-b526-8b9243172cb2">            <a href="https://www.amazon.com/Revolution-Officially-Licensed-PlayStation-Controller-5/dp/B0CLBD543P/" data-model-name="Nacon Revolution 5 Pro" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/RUcJ9UNMa7LBufhvorCxRF.jpg" alt="Nacon Revolution 5 Pro"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Nacon</div>                                        <div class="featured__title">Nacon Revolution 5 Pro</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="c8809e02-524e-4a19-bf1f-474c41f8c477">            <a href="https://www.amazon.com/BACKBONE-Mobile-Gaming-Controller-Lightning-iOS/dp/B0CT17GPNT/" data-model-name="Backbone One Mobile Gaming Controller" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/JBibFeomsNtrfin5TiefQF.jpg" alt="Backbone One PlayStation"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Backbone</div>                                        <div class="featured__title">Backbone One Mobile Gaming Controller</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div><h2 id="how-do-i-choose-the-best-ps5-controller-for-myself">How do I choose the best PS5 controller for myself?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="g2DjLXHetr5WPASjVvK6dg" name="Turtle_Beach_Victrix_controller_ 8.JPG" alt="A white Turtle Beach Victrix Pro BFG Reloaded controller for the PS5" src="https://cdn.mos.cms.futurecdn.net/g2DjLXHetr5WPASjVvK6dg.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>It's no secret that you're spoiled for choice when it comes to picking the best PS5 controller. But which type of controller is really right for <em>you</em>? </p><p>The first thing you need to consider is your budget. PS5 controllers aren't always cheap but if you're on a tight budget, you do have a few options. You could pick up a second Dualsense, or grab the <a href="https://www.tomsguide.com/news/backbone-one-playstation-edition">Backbone One PlayStation Edition</a>. The latter is primarily designed for mobile gaming using PS Remote Play, and it works seamlessly.</p><p>Next, think about the use case for the controller you're going to buy. Do you want a no-frills gamepad? The <a href="https://www.tomsguide.com/reviews/sony-dualsense-edge">Dualsense Edge</a> is a fantastic choice, and its metallic back buttons feel like a game-changer.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yQMsdgh2ogMLVSLED27ebj" name="Razer_RaijuV3Pro_.JPG" alt="A black Razer Raiju V3 Pro controller for the PS5" src="https://cdn.mos.cms.futurecdn.net/yQMsdgh2ogMLVSLED27ebj.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Are you a competitive player who wants peerless performance? There are two options here: the <a href="https://www.tomsguide.com/gaming/gaming-peripherals/razer-raiju-v3-pro-review">Razer Raiju V3 Pro</a> and the <a href="https://www.tomsguide.com/gaming/gaming-peripherals/turtle-beach-victrix-pro-bfg-reloaded-review">Turtle Beach Victrix Pro BFG Reloaded</a>. Both pro-level controllers feature Hall Effect triggers, and each gamepad's triggers are adjustable, so you can opt for either clicky or long presses. The Raiju V3 Pro has an ace up its sleeve, and that's the TMR tech fitted into its thumbsticks for enhanced precision.</p><p>I use the Victrix Pro BFG Reloaded as my second controller and it's excellent in every way, shape and form. Both the Raiju V3 Pro and the Victrix Pro BFG Reloaded earned 4.5-stars, so I can personally vouch for them.</p><p>As you can see, there's no dearth of options. All of the six aforementioned controllers are outstanding in their own right. Regardless of the one you end up choosing, rest assured that you'll be getting bang for your buck.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W3pEJO"></div>                            </div>                            <script src="https://kwizly.com/embed/W3pEJO.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/gaming-peripherals/ive-finally-found-a-ps5-controller-thats-better-than-the-dualsense-and-no-its-not-the-dualsense-edge">I’ve finally found a PS5 controller that’s better than the DualSense — and no, it's not the DualSense Edge</a></li><li><a href="https://www.tomsguide.com/gaming/gaming-peripherals/steam-controller-review-roundup">Steam Controller reviews are in: 'I can’t imagine playing my PC games with anything else'</a></li><li><a href="https://www.tomsguide.com/gaming/gaming-peripherals/razer-just-made-my-dream-ps5-controller-and-it-blows-the-dualsense-edge-out-of-the-water-but-theres-a-catch">Razer just made my dream PS5 controller and it blows the DualSense Edge out of the water — but there's a catch</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Update: PlayStation won't lock your digital games after 30 days after all ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/playstation-may-have-gone-full-xbox-one-and-added-30-day-check-ins-to-all-new-digital-games-who-thought-that-was-a-good-idea</link>
                                                                            <description>
                            <![CDATA[ Sony has denied that it will be locking down digital games if you don't go online at least once every 30 days. But hasn't explained what people are experiencing. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">LZ2dhj2zAjLE95cQbLv5Yd</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/gXSEaKYb5GTQcmF5VG443W-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 29 Apr 2026 10:56:56 +0000</pubDate>                                                                                                                                <updated>Thu, 30 Apr 2026 10:57:40 +0000</updated>
                                                                                                                                            <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/gXSEaKYb5GTQcmF5VG443W-1280-80.jpg">
                                                            <media:credit><![CDATA[Future / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[PS5 Slim console positioned horizontally on table]]></media:description>                                                            <media:text><![CDATA[PS5 Slim console positioned horizontally on table]]></media:text>
                                <media:title type="plain"><![CDATA[PS5 Slim console positioned horizontally on table]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/gXSEaKYb5GTQcmF5VG443W-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><em><strong>Update (04/30): </strong></em><em>Sony has officially denied claims that it is implementing a 30-day timer for newly purchased digital games. It was previously claimed that keeping your console offline for more than 30 days would lock digital titles, preventing them from being played until you logged back into the PlayStation Network.</em></p><p><em>However, a Sony representative told </em><a href="https://www.gamefile.news/p/sony-30-day-playstation-check-in-explained" target="_blank"><em>Game File</em></a><em> that this is not the case. Stating that, "a one-time online check is required after purchase to confirm the game’s license, after which no further check-ins are needed.”</em></p><p><em>So you don't need to worry that Sony is pulling an Xbox One-type verification system on gamers. Your digital games will remain playable regardless of how long your console goes without an internet connection.</em></p><p><em><strong>Original story follows:</strong></em></p><p>Remember back in 2013, when Microsoft announced that the <a href="https://www.tomsguide.com/us/xbox-one-2018,review-6054.html">Xbox One</a> would need to connect to the internet<a href="https://www.cnet.com/tech/tech-industry/microsoft-pulls-a-180-reverses-xbox-one-always-on-drm-and-used-games-policy/" target="_blank"> every 24 hours</a>, otherwise it would completely shut down? I sure as heck remember the outrage at the time, especially the controversial comments from then-Xbox CEO Don Mattrick that gamers who want an offline experience should just <a href="https://www.youtube.com/watch?v=jzmVcasl3ZU" target="_blank">play the Xbox 360</a> — an already eight-year-old console at the time.</p><p>I bring this up because almost 13 years after Microsoft backtracked on those policies, furor has erupted online over the possibility that Sony may do something similar with the <a href="https://www.tomsguide.com/reviews/ps5">PS5</a> and <a href="https://www.tomsguide.com/us/ps4-pro,review-4036.html">PS4</a>.</p><p>As reported by YouTube Channel <a href="https://www.youtube.com/watch?v=YIPuXAd6KCA" target="_blank">Modded Warfare</a>, the version 13:20 firmware update for the PS5 may have added some form of DRM to the console. While we haven't been able to verify this for ourselves, the video shows recent digital purchases with a 30-day timer attached — listed as a "Valid Period" in its information page.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2161px;"><p class="vanilla-image-block" style="padding-top:55.71%;"><img id="EQLw5aSe27REXSCPJop89i" name="Screenshot 2026-04-29 113243" alt="ps4 game with validity period timer" src="https://cdn.mos.cms.futurecdn.net/EQLw5aSe27REXSCPJop89i.png" mos="" align="middle" fullscreen="" width="2161" height="1204" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Modded Warfare/YouTube)</span></figcaption></figure><p>This timer is likened to PS Plus games or rentals that were only intended to be playable for a set amount of time. It's been reported that if this timer expires, games will no longer be accessible offline until you reconnect to the PlayStation Network for validation. Apparently, it also doesn't matter if you have set a particular system as your primary console; the timer remains.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-egnVrX"></div>                            </div>                            <script src="https://kwizly.com/embed/egnVrX.js" async></script><h2 id="wait-is-this-actually-happening">Wait, is this actually happening?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2629px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="jdwLjBSgdJsHB9pqpKrXWR" name="ps5 dualsense Geoff Keighley.jpg" alt="PS5 dualsense controller" src="https://cdn.mos.cms.futurecdn.net/jdwLjBSgdJsHB9pqpKrXWR.jpg" mos="" align="middle" fullscreen="" width="2629" height="1479" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide )</span></figcaption></figure><p>YouTuber Spawn Wave tested the DRM claims on their console and resorted to removing the console's CMOS battery to pull all power to the internal clock. Since the PS5 couldn't verify the time, it wasn't able to verify whether licenses for two newly-purchased digital games (Vampire Crawlers and Saint Slayer) were valid — locking the YouTuber out of both games. </p><p>Sony hasn't made any official announcement about this yet, which is only adding to the confusion. Various messages that are allegedly from PlayStation Support have shown up <a href="https://x.com/NikTek/status/2048903720247959902" target="_blank">on social media</a>, seemingly confirming that the new 30-day check is a new policy. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:448px;"><p class="vanilla-image-block" style="padding-top:114.51%;"><img id="3dTqrVBJEiMuBAUeJ9GG8n" name="Screenshot 2026-04-29 105108" alt="playstation assistant screenshot" src="https://cdn.mos.cms.futurecdn.net/3dTqrVBJEiMuBAUeJ9GG8n.png" mos="" align="middle" fullscreen="" width="448" height="513" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>However, we have no way to verify these messages, and various online users seem to be getting <a href="https://x.com/TRIPSTER0/status/2048999281642590633" target="_blank">conflicting information</a> from the PlayStation Online Assistant — which is an AI chatbot. When I asked about this new license policy, it claimed that "digital games on PlayStation do not require a connection to PSN every 30 days to play." </p><p>So I'm still none the wiser about what's actually going on, and it further confirms my suspicion that AI chatbots are not the best source of information.</p><h2 id="this-is-a-horrible-idea-but-totally-unsurprising">This is a horrible idea, but totally unsurprising</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FY4VGTzod8PrjU4mryi8hn" name="shutterstock_2023742252.jpg" alt="How to watch Super Bowl with your PS5" src="https://cdn.mos.cms.futurecdn.net/FY4VGTzod8PrjU4mryi8hn.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Rokas Tenys | Shutterstock)</span></figcaption></figure><p>I will say this: It's ironic that Sony would introduce a policy like this, considering how much it mocked Microsoft for attempting something similar back in 2013. A 30-day timer, which operates on a game-by-game basis, isn't quite as extreme as what Microsoft proposed, but it's still a ridiculous thing to try and implement. </p><p>While we don't have any official explanation as to why, Modded Warfare thinks it's a way to clamp down on jailbroken consoles since they're usually kept offline to avoid bans. However, there's also the possibility that this is a bug, and only Sony will be able to clarify what's actually going on. </p><p>We've reached out to Sony and PlayStation for clarity and will update when we hear back.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/56-amazon-gaming-week-ps5-switch-xbox-video-game-deals-actually-worth-buying">56 Amazon Gaming Week PS5, Switch, Xbox video game deals actually worth buying</a></li><li><a href="https://www.tomsguide.com/gaming/handheld-gaming/valve-is-hard-at-work-on-steam-deck-2-but-steam-machine-and-steam-frame-are-held-hostage-by-ai-gold-rush">Valve is 'hard at work' on Steam Deck 2, but Steam Machine and Steam Frame are held hostage by AI gold rush</a></li><li><a href="https://www.tomsguide.com/gaming/saros-review">Saros is everything I wanted from a Returnal sequel — and it fixes its predecessor's biggest problems</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I used ChatGPT Tasks to track video game deals and these 2 discounts were too good to pass up ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/i-used-chatgpt-tasks-to-track-video-game-deals-and-these-2-discounts-were-too-good-to-pass-up</link>
                                                                            <description>
                            <![CDATA[ With ChatGPT Tasks, I set up automated gaming discount alerts that the chatbot carried out—this led me to discovering two awesome video game deals that I just couldn’t pass up. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">oxU4YTdDbAQJaHPHkBBcEW</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/fY3aydSQWYDpsF7LE3GyeZ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 27 Apr 2026 07:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elton Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/qoRE8e6t2nzaNKAhJGDv7g.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/fY3aydSQWYDpsF7LE3GyeZ-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Xbox Elite Wireless Controller Series 2]]></media:description>                                                            <media:text><![CDATA[Xbox Elite Wireless Controller Series 2]]></media:text>
                                <media:title type="plain"><![CDATA[Xbox Elite Wireless Controller Series 2]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/fY3aydSQWYDpsF7LE3GyeZ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><a href="https://www.tomsguide.com/ai/i-just-ditched-to-do-lists-for-chatgpt-tasks-heres-5-ways-its-changed-everything">ChatGPT Tasks</a> has quickly become one of my favorite features from OpenAI. From a productivity standpoint, it has worked as a reliable daily reminder system for work tasks, pushed me to find more creative ways to use AI tools and even helped me build practical nightly routines to protect my mental health after each workday. After seeing how effective Tasks could be in my professional life, I started wondering what other parts of my routine could benefit from the same kind of automated help.</p><p>That led me to gaming. My video game fandom knows no bounds. I bounce between genres and love both AAA blockbusters and indie gems. As the owner of a PS5 Pro, Xbox Series X|S and a Switch, with plans to grab a <a href="https://www.tomsguide.com/gaming/nintendo/ive-spent-24-hours-with-the-nintendo-switch-2-for-review-heres-5-things-i-love-and-2-things-i-dont">Switch 2</a> once Splatoon Raiders launches in July , I’m always hunting for the best prices on games I want to add to my growing collection (or backlog).</p><p>So I decided to use ChatGPT Tasks to do the searching for me. By setting up daily reminders focused on game discounts, I ended up finding three deals that were actually worth jumping on.</p><h2 id="finding-the-right-prompts-to-find-the-right-deals">Finding the right prompts to find the right deals</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vKzaU7vSu6G5Gbqa83b4XT" name="TG_Vizio-D-Series_13.jpg" alt="Child playing video games on Vizio D-Series" src="https://cdn.mos.cms.futurecdn.net/vKzaU7vSu6G5Gbqa83b4XT.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Vizio)</span></figcaption></figure><p>To get the process underway, I initially asked ChatGPT for help on coming up with the right prompts that I could then turn into daily Tasks. These are the seven best ones that it generated for me to use, based on its memory of my past video game-themed questions and requests:</p><ul><li><strong>The 'Only Tell Me When It’s Cheap' tracker: </strong><em>Check daily at [time] for discounts on [names of games]. Only notify me if any drop below $30. Include platform, current price, and percentage discount.</em></li><li><strong>The 'Best Deals' digest: </strong><em>Every [day] at [time], send me a roundup of the 10 best video game deals across the PlayStation Store, Microsoft Store, and Nintendo eShop. Prioritize discounts of 50% or more and include links and prices.</em></li><li><strong>The wishlist watcher: </strong><em>Every [part of the day or evening] at [time], check for discounts on the following games: [insert your wishlist]. Notify me only if any are discounted by at least 40%. Include original price, sale price, and store.</em></li><li><strong>The 'Historical Low' finder: </strong><em>Check every [day] at [time] if any major video games (AAA titles from the last [number of years]) have reached or matched their historical lowest price. Notify me with the game name, platform, current price, and previous low.</em></li><li><strong>The platform-specific deal sniper: </strong><em>Every [day] at [time], check for PlayStation Store, Microsoft Store, and Nintendo eShop discounts on top-rated games with a Metacritic score of 85+. Only notify me if they are discounted by at least 50%.</em></li><li><strong>The flash sale catcher: </strong><em>Check every 6 hours for limited-time or flash sales on the PlayStation Store, Microsoft Store, and Nintendo eShop. Notify me immediately if any popular or trending games are discounted by 60% or more.</em></li><li><strong>The genre-based deal finder:</strong><em><strong> </strong></em><em>Every [day] at [time], find the best deals on [genres] games across all platforms. Only include games rated 80+ and discounted by at least 40%. Provide a short description for each.</em></li></ul><p>After taking note of these seven usable prompts, I told Tasks to work with the Weekly “Best Deals” Digest, Platform-Specific Deal Sniper and Genre-Based Deal Finder. For the three prompts I chose, I set them for Fridays at their respective times of 5 pm, 5:15 pm and 5:25 pm.</p><h2 id="the-three-biggest-discounts-that-caught-my-eye">The three biggest discounts that caught my eye</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:60.00%;"><img id="b4rPEsbF2oj3HVho2pMjXb" name="dragon-ball-fighterz.jpg" alt="Dragon Ball Fighterz" src="https://cdn.mos.cms.futurecdn.net/b4rPEsbF2oj3HVho2pMjXb.jpg" mos="" align="middle" fullscreen="" width="1500" height="900" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bandai Namco Entertainment)</span></figcaption></figure><p>This past Friday, ChatGPT alerted me to three deals I likely never would have spotted on my own. Better yet, each discount was tied to a game I had already planned to buy once the price was right.</p><p>One prompt flagged Dark Souls Remastered on the PlayStation Store for $19.99 (down from $39.99) and INSIDE on the Microsoft Store for $3.74 (down from $24.99). Another let me know the Metro Saga Bundle, which includes all three Metro games plus the DLC for Metro Exodus, had dropped from $59.99 to just $5.99. My third prompt highlighted the FighterZ Edition of Dragon Ball FighterZ for PS5 on the PlayStation Store, discounted from $89.99 to $14.39.</p><p>What I appreciated most was that each Task included the exact details I had asked for, including the discount percentage, Metacritic scores and a quick explanation of why each deal was worth considering.</p><h2 id="final-thoughts">Final thoughts</h2><p>With me being in the mood to finally check out an old-school “Soulslike” experience, get immersed in the unnerving vibes of a highly-rated puzzle-platformer, finally experience the Metro series before its latest entry (<em>Metro 2039</em>) launches and pick up the PS5 version of one my favorite fighters to try out its latest DLC character, Tasks worked like a charm in finding me the best deals for those assorted gaming experiences.</p><p>Tasks isn’t just great at generating reminders for birthdays and work-related events—it’s also amazing at bringing you up to speed on can’t-miss deals on your favorite things. In my case, it helped me find the best discounts on games that had been in my crosshairs for years now.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/10-chatgpt-prompts-to-decode-someones-personality-in-seconds" target="_blank">10 ChatGPT prompts to decode someone's personality in seconds</a></li><li><a href="https://www.tomsguide.com/ai/i-turned-off-gemini-personal-intelligence-for-a-week-and-im-not-going-back" target="_blank">I turned off Gemini Personal Intelligence for a week — and I’m not going back</a></li><li><a href="https://www.tomsguide.com/ai/i-applied-tim-cooks-simplicity-rule-to-my-chatgpt-prompts-and-it-became-a-masterclass-in-creativity" target="_blank">I applied Tim Cook’s ‘Simplicity Rule’ to my ChatGPT prompts — and it became a masterclass in creativity</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Saros is everything I wanted from a Returnal sequel — and it fixes its predecessor's biggest problems ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/saros-review</link>
                                                                            <description>
                            <![CDATA[ Saros is a confident game that builds on the excellent foundation of its spiritual predecessor, Returnal. It retains the same fast-paced bullet-hell gameplay and compelling rogue-lite structure, while addressing pain points to craft an even better experience. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Rn3jX2qHdksQ7fngp6wFYJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/spLn3RgdaX5y9WTXh2Bdb3-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 24 Apr 2026 07:00:00 +0000</pubDate>                                                                                                                                <updated>Wed, 10 Jun 2026 14:33:28 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ rory.mellon@futurenet.com (Rory Mellon) ]]></author>                    <dc:creator><![CDATA[ Rory Mellon ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5Rv6LtQXMj5JB4Eu8Lt4Sn.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/spLn3RgdaX5y9WTXh2Bdb3-1280-80.jpg">
                                                            <media:credit><![CDATA[Housemarque / Sony Interactive Entertainment]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Saros screenshot showing Arjun Devraj using the bubble shield ability]]></media:description>                                                            <media:text><![CDATA[Saros screenshot showing Arjun Devraj using the bubble shield ability]]></media:text>
                                <media:title type="plain"><![CDATA[Saros screenshot showing Arjun Devraj using the bubble shield ability]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/spLn3RgdaX5y9WTXh2Bdb3-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <div  class="fancy-box"><div class="fancy_box-title">Saros review: Specs</div><div class="fancy_box_body"><p class="fancy-box__body-text"><strong>Platforms: </strong>PS5,<strong> </strong>PS5 Pro (reviewed)<br><strong>Price: </strong>$69 / £69 / AU$124<br><strong>Release Date: </strong>April 30, 2026<br><strong>Genre:</strong> Action-shooter</p></div></div><p>Five years ago, I labeled <a href="https://www.tomsguide.com/reviews/returnal-review">Returnal</a> “the best reason to own a <a href="https://www.tomsguide.com/reviews/ps5">PS5</a> right now.” While subsequent console exclusives like <a href="https://www.tomsguide.com/reviews/spider-man-2">Marvel’s Spider-Man 2</a> and <a href="https://www.tomsguide.com/gaming/astro-bot-review">Astro Bot</a> have bolstered the PS5 library further, Housemarque's heart-pounding rogue-lite remains one of the console’s finest games. If it’s spiritual sequel, Saros, had merely offered more of the same, it would have been an instant recommendation, but this follow-up goes further. </p><p>It retains all of Returnal’s best bits — the frenetic bullet-hell shooter gameplay, mysterious sci-fi world, intriguing, but cryptic, story and intimidating boss battles — but also makes a real effort to sand down rough edges. It’s not that Saros is any less demanding than Returnal, but this time, Housemarque wants to empower players to overcome its biggest challenges. </p><p>Saros offers a permanent upgrade system so even when you fall, you come back stronger. No obstacle feels insurmountable. Plus, it adds a more cinematic quality to its core narrative, while still giving lore-fantatics plenty of morsels to chew on. Oh, and it’s also a stunning <a href="https://www.tomsguide.com/gaming/playstation/ps5-pro-review">PS5 Pro</a> showcase, with the best use of the DualSense controller since… well, since Returnal.</p><p>Here’s why Saros is a PS5 exclusive that every console owner needs to play. </p><h2 id="saros-the-basics">Saros: The Basics</h2><ul><li><strong>What is it?</strong> Saros is a third-person action rogue-lite, where you play a company soldier exploring a constantly-shifting alien world. Each run is different, with remixed levels and randomized weapons, upgrades and collectible items.</li><li><strong>Who is it for? </strong>Rogue-lite fans will definitely enjoy Saros, but it’s a must-play for anybody who loves fast-paced, demanding combat or has a passion for dark science fiction settings.</li><li><strong>What's the price? </strong><a href="https://www.amazon.com/SAROS-PS5-PlayStation-5/dp/B0G5RRPGFF" target="_blank" rel="nofollow">Saros costs $69 at Amazon</a>. There’s also a <a href="https://store.playstation.com/en-us/product/UP9000-PPSA07632_00-SAROSDELUXE00000" target="_blank" rel="nofollow">Deluxe Edition for $79 on the PS Store</a> with extra cosmetics.</li><li><strong>What other games has the developer made?</strong> Saros comes from developer Housemarque, who made its spiritual predecessor Returnal. The Finnish team also created numerous arcade-style twin-stick shooters like Dead Nation, Resogun and Nex Machina.</li><li><strong>What games is this similar to? </strong>Naturally, Saros most closely resembles Returnal. But it also takes several elements from popular action rogue-lite games such as Hades 2 and Dead Cells.</li></ul><h2 id="carcosa-calling">Carcosa calling</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="eq4RnT96T4kv6vcdV9Xjfn" name="saros-ps5-pro-screenshot-01.JPG" alt="Screenshot from Saros taken on PS5 Pro" src="https://cdn.mos.cms.futurecdn.net/eq4RnT96T4kv6vcdV9Xjfn.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Housemarque / Sony Interactive Entertainment)</span></figcaption></figure><p>I definitely got a strong sense of déjà vu in my first few minutes playing Saros. Like Returnal, you’re thrown straight into the action with little context. Within moments, you’re staring down a boss who turns you to dust in a matter of seconds. Don’t worry, you’re supposed to lose. </p><p>After a quick revive, the stakes are set. You play as Arjun Devraj (voiced/modeled by “The Haunting of Hill House’s” Rahul Kohli), an enforcer for the Solatri corporation, dispatched to the mysterious planet of Carcosa to discover what happened to a group of colonists sent to the alien world, who disappeared shortly after landing and haven’t been heard from since. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DnnDW6Si7JNK9cZvg3PVen" name="saros-ps5-pro-screenshot-04.JPG" alt="Screenshot from Saros taken on PS5 Pro" src="https://cdn.mos.cms.futurecdn.net/DnnDW6Si7JNK9cZvg3PVen.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Housemarque / Sony Interactive Entertainment)</span></figcaption></figure><p>The narrative unfolds primarily through ominous audio logs and text files, but you’re not alone in your quest this time. In between runs, you can catch up with your crew, which fleshes out Saros’ world and gives you insight into the psychological effects of the planet. It’s a smart way of dishing out story beats without taking the focus off Saro’s fast-paced combat. </p><p>I wish Saros’ audio logs weren’t randomized across its procedurally generated levels. After “beating” one biome in two runs, I found myself having to continually revisit it in the hopes of finding the remaining logs just so that I didn’t miss a scrap of story, which was unsatisfying.</p><h2 id="fighting-for-your-life">Fighting for your life</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PDL3uxcDM99ZccSx9BhGTD" name="saros-screenshot-pub-01" alt="Saros screenshot provided by PlayStation" src="https://cdn.mos.cms.futurecdn.net/PDL3uxcDM99ZccSx9BhGTD.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Housemarque / Sony Interactive Entertainment)</span></figcaption></figure><p>Saros plays like a classic bullet-hell shooter, but with the production values cranked up several notches. To survive against its legions of multi-colored-projectile-spewing enemies, you’ll need to sprint, jump and dash constantly. Stay stationary for long, and you’re toast.</p><p>Added to the mix is a new bubble shield ability, which is an extremely powerful addition to your arsenal. It not only blocks incoming attacks, but can absorb projectiles, converting them into fuel for your formidable Power Weapon. Deciding the best time to pop your shield and when to use your dash to phase through projectiles is all part of Saros’ epic combat rhythm.</p><p>Rhythm is an apt word, as success in Saros often comes down to achieving a flow state. When you lock in, you’ll start anticipating enemy attacks before they land, and gracefully maneuver around the battlefield. One frustration is that the shield is tied to the same button as your melee attack. This results in a split-second delay when deploying it, which can lead to taking cheap, unavoidable hits as Arjun first throws a punch before activating his shield. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ha5p9uw32cCxRPN9L36oWD" name="saros-screenshot-pub-02" alt="Saros screenshot provided by PlayStation" src="https://cdn.mos.cms.futurecdn.net/ha5p9uw32cCxRPN9L36oWD.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Housemarque / Sony Interactive Entertainment)</span></figcaption></figure><p>Like its predecessor, Saros is a rogue-lite. You set off from your home base into a series of randomised levels that mix-and-match static combat arenas and platforming sections. You might start to recognise certain sections after a run or two, but even a room you’ve visited numerous times can become a new challenge with the addition of fresh traps or enemies.</p><p>On each run, you’ll find different weapons, upgrade items and collectables. Ensuring that each trip into the depths of Carcosa feels unique. You can’t rely on a favorite weapon or an overpowered ability. Instead, you’ll need to make do with the hand you’re dealt. This necessitates strategizing on the fly. In one run, I had to face a tough boss with a shotgun. I was forced to get in my foe's face, rather than hang back, taking pot shots from the shadows, which is my default method.</p><h2 id="come-back-stronger">Come back stronger</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EzGi4zdDhxqPzKhwjDzuAD" name="saros-screenshot-pub-03" alt="Saros screenshot provided by PlayStation" src="https://cdn.mos.cms.futurecdn.net/EzGi4zdDhxqPzKhwjDzuAD.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Housemarque / Sony Interactive Entertainment)</span></figcaption></figure><p>Where Saros differs most from Returnal is that death isn’t failure; it’s an opportunity to get stronger. Heck, death doesn’t even necessarily mean death. Early on, you can unlock an upgrade that gives you one instant revive per run, offering a second chance every time.</p><p>But if you do succumb to Carcosa’s many hostile threats, all hope isn’t lost. Back at your Passage base, you can spend currency collected on your last run to unlock permanent upgrades that range from basics like improving your armor to starting runs with key items. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="aZcdxGmkgPBSpgUXDZeFnd" name="saros-screenshot-pub-05" alt="Saros screenshot provided by PlayStation" src="https://cdn.mos.cms.futurecdn.net/aZcdxGmkgPBSpgUXDZeFnd.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Housemarque / Sony Interactive Entertainment)</span></figcaption></figure><p>Returnal’s comparative stinginess — players were stripped of basically all items/upgrades upon death, and forced to start a fresh run from near scratch — was a major pain point for some players. So, I suspect Saros taking cues from more accessible rogue-lites like Hades and Dead Cells will be some comfort. In Saros, even in defeat, there’s an element of victory, as the next time you head out in Carcosa, the odds are tipped a little more in your favor.</p><p>This isn’t to say Saros is an easy game, quite the opposite. If anything, Housemarque has ramped up the early game difficulty. The developers expect players to die frequently and be given plenty of opportunities to invest in upgrades to augment Arjun. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SPD55LKae3664VSP2jFWsd" name="saros-screenshot-ps5-pro-05" alt="Saros screenshot taken on PS5 Pro" src="https://cdn.mos.cms.futurecdn.net/SPD55LKae3664VSP2jFWsd.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Housemarque / Sony Interactive Entertainment)</span></figcaption></figure><p>However, players craving Returnal’s more punishing nature aren’t neglected either. At the midpoint, you unlock the ability to make runs even harder by enabling a series of quite brutal modifiers (decreased damage, disabling your one-time revive, etc.). Or you can go the other way and switch on modifiers that make things easier, letting you customize your difficulty.</p><p>Another smart tweak is that the average run completion time has been dramatically reduced. In Returnal, a deep run could take north of 90 minutes. In Saros, runs will naturally conclude in around 20-30 minutes (Either through death or teleporting back to your base). This allows Saros to be enjoyed in more bite-sized chunks, and convinced me to keep playing just a little longer for “one more run” several times. Which would then quickly turn into three or four…</p><h2 id="pushing-the-ps5-pro">Pushing the PS5 Pro</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="a8tjU7gyJw6rAgAw3etEfn" name="saros-ps5-pro-screenshot-03.JPG" alt="Screenshot from Saros taken on PS5 Pro" src="https://cdn.mos.cms.futurecdn.net/a8tjU7gyJw6rAgAw3etEfn.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Housemarque / Sony Interactive Entertainment)</span></figcaption></figure><p>Saros is one gorgeous-looking game. Of course, you don’t often get the chance to stop and drink in the impressive visuals, as there’s so much happening around you, but the mixture of neon projectiles, imposing enemy designs, and dark sci-fi locales is immediately striking. </p><p>More impressively, even when the screen explodes into a shower of sparks, multi-colored bullets and luminescent orbs, the 60 fps never drops. Even in the most intense battles, found in optional challenge areas crammed with a silly amount of enemies, I never noticed a hiccup. It’s a good thing, too. Saros is a game where a stable framerate is vital</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="3cW7r2GdWrBYwofCTmj7en" name="saros-ps5-pro-screenshot-02.JPG" alt="Screenshot from Saros taken on PS5 Pro" src="https://cdn.mos.cms.futurecdn.net/3cW7r2GdWrBYwofCTmj7en.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Housemarque / Sony Interactive Entertainment)</span></figcaption></figure><p>Aside from just looking phenomenal, Saros also <em>feels</em> fantastic thanks to its novel use of the PS5 DualSense controller. The pad’s haptic feedback is used to great effect, but it’s the remarkably clever implementation of the adaptive triggers that once again steals the show. </p><p>Every weapon, from pistols to assault rifles, offers an alternative fire mode, and rather than being activated with a button press, you switch fire modes by pressing the left trigger down halfway. Press it down fully, and you’ll activate your Power Weapon. It was a great system in Returnal, and it’s no less exceptional here. You always feel in complete control of your weapons, without even needing to lift your finger off the trigger. I wish more games used it. </p><h2 id="saros-review-verdict">Saros review: Verdict</h2><p>Saros is everything I wanted out of a follow-up to Returnal. It strikes the perfect balance between offering veteran players more of the frenetic bullet-hell gameplay that has become Housemarque’s signature style, while also being more approachable for new players.</p><p>The game is at its very best when you’re dashing across an enemy-filled arena, popping your shield at the perfect moment so you can power up your ultimate weapon and fire back an explosive rocket. And even in the (many) times I wasn’t quite quick enough to outrun the hellstorm of projectiles launched in my direction, my first instinct was always to dive back into the fray as quickly as possible, with a few new upgrades unlocked, to turn the tables.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I just played Starfield on PS5 Pro — and the internet is wrong about this sci-fi RPG ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/i-just-played-starfield-on-ps5-pro-and-the-internet-is-wrong-about-this-sci-fi-rpg</link>
                                                                            <description>
                            <![CDATA[ After years of waiting, Starfield has arrived on PS5, and I'm having a blast playing this sci-fi RPG. Here's why it deserves a second chance. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">UnBzqFhHUeKazuNzo3EyoW</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/q5ZN58NJat9sBjQt4KKzvW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 11 Apr 2026 07:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ rory.mellon@futurenet.com (Rory Mellon) ]]></author>                    <dc:creator><![CDATA[ Rory Mellon ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5Rv6LtQXMj5JB4Eu8Lt4Sn.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/q5ZN58NJat9sBjQt4KKzvW-1280-80.jpg">
                                                            <media:credit><![CDATA[Bethesda Game Studios]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Screenshot taken from Starfield running on PS5 Pro]]></media:description>                                                            <media:text><![CDATA[Screenshot taken from Starfield running on PS5 Pro]]></media:text>
                                <media:title type="plain"><![CDATA[Screenshot taken from Starfield running on PS5 Pro]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/q5ZN58NJat9sBjQt4KKzvW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>More than two and a half years after its September 2023 debut on Xbox and PC, the sprawling galaxy of <a href="https://www.tomsguide.com/reviews/starfield">Starfield</a> is <em>finally </em>explorable on <a href="https://www.tomsguide.com/reviews/ps5">PS5</a>, and I could not be happier. I greatly enjoyed this game when I played on my <a href="https://www.tomsguide.com/reviews/xbox-series-x">Xbox Series X</a> back at launch, and I’m having a blast returning to its world on <a href="https://www.tomsguide.com/gaming/playstation/ps5-pro-review">PS5 Pro</a>. </p><p>It’s fair to say that Starfield, the latest RPG experience from Elder Scrolls and Fallout developer Bethesda, is a <em>divisive</em> title. Even at launch, my (former) colleague David Meikleham wrote that he’d <a href="https://www.tomsguide.com/opinion/ive-never-bounced-harder-off-a-bethesda-game-than-starfield-and-the-steam-data-shows-im-not-alone">“never bounced harder off a Bethesda game,”</a> and you don’t need to search gaming forums far to find gamers expressing their intense disappointment. There’s also no escaping the fact that Starfield has not enjoyed the stickiness of Skyrim or Fallout 4. </p><p>Now that it’s landing on PS5, alongside a new DLC and its largest update yet (Director Todd Howard warns not to call it Starfield 2.0), a wave of new players can traverse the settled systems, bringing Starfield back into the conversation. </p><p>Perhaps, this is a hot take, but I think this is a sci-fi RPG experience not to be missed. The intergalactic setting is absorbing, the “NASA-punk” aesthetic is very pleasing, and the quest writing is strong. There are unavoidable bumps in the road, sure. But I can overlook the flaws in favor of everything Starfield does well. Here’s why I think Starfield has earned a second chance on PS5. </p><div class="product"><a data-dimension112="3bbc1e9d-e9fa-49e2-8ba5-663bc05ae849" data-action="Deal Block" data-label="Premium Edition on PS5 is $69" data-dimension48="Premium Edition on PS5 is $69" data-dimension25="$49" href="https://www.amazon.com/Starfield-Standard-PlayStation-5/dp/B0GQW2BYK9/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1298px;"><p class="vanilla-image-block" style="padding-top:115.56%;"><img id="Zocx2nSKP8ATKNseL5BpeR" name="starfield-ps5-box-na" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Zocx2nSKP8ATKNseL5BpeR.jpg" mos="" align="middle" fullscreen="" width="1298" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Starfield, the latest RPG from the Fallout and Skyrim developer, is now on PS5. You can explore a sprawling universe of more than 1,000 planets as you take on missions, collect valuable loot and resources, and solve humanity's greatest mystery. Starfield on PS5 also comes with the new "Free Lanes" update, further expanding your options. If you want the complete Starfield experience, the <a href="https://www.amazon.com/Starfield-Premium-PlayStation-5/dp/B0GQWC6D28/" target="_blank" rel="nofollow" data-dimension112="3bbc1e9d-e9fa-49e2-8ba5-663bc05ae849" data-action="Deal Block" data-label="Premium Edition on PS5 is $69" data-dimension48="Premium Edition on PS5 is $69" data-dimension25="$49"><strong>Premium Edition on PS5 is $69</strong></a> and includes two DLC packs and some additional digital extras.<a class="view-deal button" href="https://www.amazon.com/Starfield-Standard-PlayStation-5/dp/B0GQW2BYK9/" target="_blank" rel="nofollow" data-dimension112="3bbc1e9d-e9fa-49e2-8ba5-663bc05ae849" data-action="Deal Block" data-label="Premium Edition on PS5 is $69" data-dimension48="Premium Edition on PS5 is $69" data-dimension25="$49">View Deal</a></p></div><h2 id="the-secret-to-enjoying-starfield-on-ps5">The secret to enjoying Starfield on PS5</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/xUS6igFziPc" allowfullscreen></iframe></div></div><p>I think the biggest barrier to entry to enjoying Starfield is the need to cast off the traditional mindset players have when experiencing a new Bethesda game. Take Skyrim, the common advice is often to complete the mandatory introductory quest, and then ignore the main story in favor of exploring the game’s impressively large map and just seeing what you stumble upon. </p><p>To get the most out of Starfield, I strongly advise you to do the exact opposite. Forget exploration. It’s not the game’s strong suit with a star map cluttered with barren planets stuffed with cut-and-paste points of interest and bland filler objectives. Focus almost entirely on questing. When I’m playing Starfield, I <em>always </em>have an active quest that I’m following. It’s here that Starfield shines brightest, and it’s here that you’ll find the lion’s share of worthwhile content.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="zkMuSj28EsqWaMW9dtKenW" name="starfield-ps5-screenshot-04.JPG" alt="Screenshot taken from Starfield running on PS5 Pro" src="https://cdn.mos.cms.futurecdn.net/zkMuSj28EsqWaMW9dtKenW.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bethesda Game Studios)</span></figcaption></figure><p>For clarification, I’m not just talking about beelining the main quest, either. Like most Bethesda RPGs, Starfield offers a suite of faction questlines that contain the game’s most thrilling missions. You can join six factions (seven if you purchase the Shattered Space DLC), which range from the galaxy-defending UC Vanguard to the space-pirate group the Crimson Fleet. You can even work for Ryujin Industries and engage in a little corporate espionage.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBxBAO"></div>                            </div>                            <script src="https://kwizly.com/embed/eBxBAO.js" async></script><p>These faction quests are some of the best Bethesda has ever made, and they can be further supplemented with the many interesting standalone side missions that have you doing everything from discovering a Batman-type vigilante to resolving a dispute between planetary neighbors. With your map marker always pointing you in the direction of a mission, it’s hard to get too hung up on Starfield’s repetitive exploration, because you can just ignore it.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="23TLHpG3Uaf72xAUnp9YxW" name="starfield-ps5-screenshot-02.JPG" alt="Screenshot taken from Starfield running on PS5 Pro" src="https://cdn.mos.cms.futurecdn.net/23TLHpG3Uaf72xAUnp9YxW.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bethesda Game Studios)</span></figcaption></figure><p>Players seeking content, content, and more content will also find an abundance of it here. If you don’t mind completing similar tasks dozens of times and collecting endless resources for crafting, there’s a whole outpost system to wrap your head around. This lets you colonize numerous planets. And you could lose hours in the game’s deep spaceship-building system. </p><p>Quantity over quality is not necessarily a strength, but considering the current darling of the gaming world is <a href="https://www.tomsguide.com/gaming/crimson-desert-review">Crimson Desert</a> (a game so vast that you can spend 50+ hours in the starting zone alone), it’s clear that many RPG players aren’t satisfied unless a game can become such a time sink that it borders on a second job. Starfield totally meets that brief. You could play this for months.</p><h2 id="starfield-on-ps5-isn-t-the-perfect-port">Starfield on PS5 isn’t the perfect port</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="U4MQCQhkm6ZiHDwhfd8R3X" name="starfield-ps5-screenshot-05.JPG" alt="Screenshot taken from Starfield running on PS5 Pro" src="https://cdn.mos.cms.futurecdn.net/U4MQCQhkm6ZiHDwhfd8R3X.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bethesda Game Studios)</span></figcaption></figure><p>While I’m delighted to have an excuse to return to the world of Starfield and re-experience my favorite faction quests for a second time, I have been a little let down by the quality of Starfield’s PS5 port from a technical perspective.</p><p>I’m a framerate-above-all type of player, so I have opted to play in the dedicated “Performance” mode, which the game recommends if you desire a 60 fps target. Even with the trade-off in image resolution, Starfield on PS5 Pro does not maintain a locked 60. The dips aren’t so bad as to spoil the experience, but I’ve definitely endured more than I’d like. Things get particularly bad in larger cities or when quickly moving between zones.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ydqFwawTCDCC7KFnKmCAxW" name="starfield-ps5-screenshot-03.JPG" alt="Screenshot taken from Starfield running on PS5 Pro" src="https://cdn.mos.cms.futurecdn.net/ydqFwawTCDCC7KFnKmCAxW.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bethesda Game Studios)</span></figcaption></figure><p>Furthermore, hard crashes appear to be a problem plaguing many a PS5 playthrough. As noted, Starfield’s PS5 release coincides with the new “Free Lanes” update, which expands your options while flying your ship between planets. Rather inauspiciously, the first time I attempted to use the new “cruise” feature, my game locked up. And it did the same the second time I tried it. This <a href="https://www.reddit.com/r/PS5/comments/1seyhqk/starfield_official_discussion_thread/" target="_blank">Reddit thread</a> suggests that crashes aren’t entirely uncommon.</p><p>Considering the PS5 port comes nearly three years post-launch, with a wealth of patches baked in, it’s certainly frustrating to be grappling with technical hiccups in what should be the definitive console version of the game. Hopefully, there is a PS5 patch or two in the pipeline. But, putting these blemishes aside, I maintain that Starfield is a game worth experiencing by anybody with a fondness for Bethesda’s unique brand of RPG goodness. </p><p>In my eyes, it certainly doesn’t deserve the intense, often vitriolic, backlash that has followed it since launch. There’s a lot of good stuff here, and if you’re craving a game that lets you feel like a hero traveling the stars to complete odd jobs and universe-saving missions alike, there’s little else like Starfield.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/reviews/starfield">Read our original Starfield review from 2023</a></li><li><a href="https://www.tomsguide.com/gaming/playstation/new-ps5-dashboard-leaks-and-it-looks-like-the-ps4-in-the-best-possible-way">New PS5 dashboard leaks, and it looks like the PS4</a></li><li><a href="https://www.tomsguide.com/gaming/playstation/i-just-played-crimson-desert-on-ps5-pro-heres-how-this-massive-rpg-looks-and-runs-on-console">I just played Crimson Desert on PS5 Pro — here’s how it runs</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Sony will allegedly launch three PS6 systems, including two consoles and a handheld, claims leaker ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/sony-will-allegedly-launch-three-ps6-systems-including-two-consoles-and-a-handheld-claims-leaker</link>
                                                                            <description>
                            <![CDATA[ A new leak claims Sony plans to release three PS6 systems: two consoles and a handheld device. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">apYvkQKkyKcBkvZne65tJ6</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/A92fAFp8GUDRCcdSBJbUKd-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 10 Apr 2026 19:49:19 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/A92fAFp8GUDRCcdSBJbUKd-1280-80.jpg">
                                                            <media:credit><![CDATA[Sony Interactive Entertainment]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[PS5 Pro]]></media:description>                                                            <media:text><![CDATA[PS5 Pro]]></media:text>
                                <media:title type="plain"><![CDATA[PS5 Pro]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/A92fAFp8GUDRCcdSBJbUKd-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Sony's next-generation PlayStation consoles could come in a unique lineup featuring three models: a PS6 S (or Lite), a PS6 handheld, and a full <a href="https://www.tomsguide.com/gaming/playstation/ps6-leaks-and-rumors">PlayStation 6</a>. The S and handheld models would feature the AMD-built<a href="https://www.tomsguide.com/gaming/ps6-and-new-playstation-handheld-specs-reportedly-leak-and-suggest-a-huge-upgrade-over-ps5"> Canis chipset,</a> while the full model would have the more powerful Orion CPU.</p><p>The latest leak comes from the YouTube channel <a href="https://www.youtube.com/watch?v=pTy8lNZIRH0" target="_blank">Moore's Law is Dead</a> in a video where the host attempted to lay out pricing for Sony's future consoles. </p><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/pTy8lNZIRH0" allowfullscreen></iframe></div></div><p>The relevant portion starts about 15 minutes in, but here's the cogent bit for our purposes.</p><p>The price range for Sony's new lineup is $350 to $1,000. Again, this is an estimation on MLID's part based on component costs and potential tariffs. The price ranges below are based on estimates that factor in a 30% tariff protection and those that do not. MLID also notes that it's based on current RAM prices, which could change by the time Sony actually starts purchasing RAM.</p><ul><li>'PS6 S' - $349 - $549</li><li>PS6 handheld - $499 - $699</li><li>PS6 full console - $699 - $999</li></ul><p>He goes on to say that the Orion-based console could have two versions, similar to the PS5 at launch, with a disc-based variant and a digital-only one. Though I lean toward Sony finally ditching the discs in favor of a disc-drive add-on similar to what it offers now. </p><p>It'll be interesting to see how Sony prices the next generation since the current global situation has forced companies to raise prices. The b<a href="https://www.tomsguide.com/gaming/playstation/major-sony-ps5-price-hike-just-hit-all-models-heres-what-youll-pay-now">ase PS5 starts at $599 </a>for the digital edition, while the Pro model is $899. Every single PS5 now costs hundreds more than it did at launch, something that rarely happens as a console ages.</p><h2 id="what-s-coming">What's coming?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="D7fkKdWiz2eA8rZcCEWyJR" name="PS5 Slim.jpg" alt="PS5 Slim" src="https://cdn.mos.cms.futurecdn.net/D7fkKdWiz2eA8rZcCEWyJR.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>Based on previous leaks regarding the Canis and Orion chips, the Canis chip should be more powerful than the Xbox Series S and the Nintendo Switch 2 but slightly less capable than the base PS5. </p><p>To date, Sony has been pretty mum on its plans for the next generation. Last fall, Sony's <a href="https://www.tomsguide.com/gaming/playstation/ps6-is-coming-in-a-few-years-sony-and-amd-just-teased-3-breakthrough-graphics-features-for-the-future-of-gaming">Mark Cerny confirmed</a> that the PS6 was a few years away in a discussion with AMD's Jack Huynh. </p><p>They did say that the two companies are refining ray and path tracing to reduce the stress on the GPU. It could also have lower power consumption. The PS5 is a behemoth, and it would be nice if the next-gen could shrink back down a bit.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-O6PpVe"></div>                            </div>                            <script src="https://kwizly.com/embed/O6PpVe.js" async></script><p>Cerny did seem to indicate that the PS6 chips could open things up for a handheld.</p><p>"There's a multitude of benefits for this, including lower power consumption, higher fidelity assets, and perhaps most importantly, the synergies that Universal Compression has with Neural Arrays and Radiance Cores as we work together to deliver the best possible experiences to gamers."</p><p>Current rumors suggest that the PlayStation 6 will debut in 2027, possibly 2028. Some of this may depend on <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">RAMageddon</a>, but 2027 has been the most consistent release window that we've seen.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/headphones/airpods-max-2-vs-sony-wh-1000xm6#section-airpods-max-2-vs-sony-wh-1000xm6-price">I tested the AirPods Max 2 vs Sony WH-1000XM6 — here's the winner</a></li><li><a href="https://www.tomsguide.com/tvs/i-saw-sonys-true-rgb-up-close-and-the-downfall-of-oled-tvs-might-come-sooner-than-expected">I saw Sony's True RGB up close — and the downfall of OLED TVs might come sooner than expected</a></li><li><a href="https://www.tomsguide.com/tvs/tcl-and-sony-are-joining-forces-to-sell-more-tvs-but-is-that-bad-news-for-shoppers">TCL and Sony are joining forces to sell more TVs — but is that bad news for shoppers?</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ New PS5 dashboard leaks and it looks like the PS4 in the best possible way ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/new-ps5-dashboard-leaks-and-it-looks-like-the-ps4-in-the-best-possible-way</link>
                                                                            <description>
                            <![CDATA[ A new leak reveals a potentially massive change to the PS5 dashboard that could be a welcome update. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Dq6Xn3X27R29Qs6fsGZdhh</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/DrYFm9CG6ffJrMdLCxTjQS-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 07 Apr 2026 22:37:49 +0000</pubDate>                                                                                                                                <updated>Tue, 07 Apr 2026 22:42:03 +0000</updated>
                                                                                                                                            <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/DrYFm9CG6ffJrMdLCxTjQS-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images / Girts Ragelis]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Ps5 controller]]></media:description>                                                            <media:text><![CDATA[Ps5 controller]]></media:text>
                                <media:title type="plain"><![CDATA[Ps5 controller]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/DrYFm9CG6ffJrMdLCxTjQS-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Your <a href="https://www.tomsguide.com/reviews/ps5">PlayStation 5</a> could be getting a new home menu layout according to a beta tester. Being honest, it looks pretty good with the system apps and icons shifting from the bottom of the screen to the top in a move that is more reminiscent of the PS4 and PS3 menus.</p><p>An image of the new UI was<a href="https://www.reddit.com/r/playstation/comments/1se03qt/new_playstation_home_screen_ui/?utm_source=embedv2&utm_medium=post_embed&utm_content=post_title&embed_host_url=https%3A%2F%2Fwww.playstationlifestyle.net%2F2026%2F04%2F06%2Fps5-update-april-2026-ui-redesign%2F" target="_blank"> shared on Reddit</a> (spotted by <a href="https://x.com/videotech/status/2041493767924895879" target="_blank">Ben VideoTech on X</a>) where the poster, who said they're enrolled in the PlayStation 5 beta program, discovered a new dashboard. The updated dashboard appears to move the Media, Games, PS Plus, and PSN Store icons to the top of the screen with the submenus</p><p>Nicely, it appears you can swap through the menus by pressing the L1 and R1 buttons on your DualSense.</p><blockquote class="reddit-card"  ><a href="https://www.reddit.com/r/playstation/comments/1se03qt/new_playstation_home_screen_ui">New Playstation Home Screen UI</a> from <a href="https://www.reddit.com/r/playstation">r/playstation</a></blockquote><script async src="//embed.redditmedia.com/widgets/platform.js" charset="UTF-8"></script><p>Under Ben VideoTech's post an X user accused them of faking the image. However, another person shared a different photo of the new UI that looks much like the Reddit post. So, it appears this a real test.</p><div class="see-more see-more--clipped"><blockquote class="twitter-tweet hawk-ignore" data-lang="en"><p lang="en" dir="ltr">yes, it's real pic.twitter.com/h41zWYxDIq<a href="https://twitter.com/cantworkitout/status/2041450878670938328">April 7, 2026</a></p></blockquote><div class="see-more__filter"></div></div><p>Sony hasn't confrimed that this new home layout is in the works. However, based on these images the test looks fairly finished and I'm knocking on wood that it actually releases to the public soon.</p><p>Tom's Guide reached out to PlayStation for comment and will update if the company responds. </p><p>At this point in the PS5's lifecycle I've gotten used to the PS5 menu but if I had my druthers, I would prefer something similar to the PS4 dashboard. I loved the custom themes and wallpapers that you could install to personalize your console.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OdvlQe"></div>                            </div>                            <script src="https://kwizly.com/embed/OdvlQe.js" async></script><p>The PS5 has some themes like the <a href="https://www.tomsguide.com/gaming/playstation/how-to-get-the-classic-playstation-boot-screens-on-ps5-and-ps5-pro">30th anniversary boot screen</a> and the seasonal PlayStation shapes logos theme. Unfortunately, both of those get covered up by the splash screens for games and other menus and as such, the only way to really see them is in the the Welcome submenu.</p><p>If this update comes to fruition it will quickly become one that we'll all wonder why Sony didn't implement years earlier. </p><p>If you're a PS5 Beta member and you've got the new UI let us know and tell us what you think!</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/gaming-peripherals/i-tried-genkis-covert-dock-3-with-the-nintendo-switch-2-and-it-beats-the-official-dock-for-one-key-reason">I tried Genki’s new Covert Dock 3 and it beats the Switch 2's official dock for one big reason</a></li><li><a href="https://www.tomsguide.com/gaming/gaming-peripherals/i-upgraded-my-7-year-old-office-chair-to-a-tx3-solo-360-gaming-chair-and-i-should-have-done-this-sooner">I upgraded my 7-year-old office chair to a TX3 Solo 360 gaming chair — and I should have done this sooner</a></li><li><a href="https://www.tomsguide.com/gaming/nintendo/i-never-understood-the-cozy-game-hype-until-i-played-pokemon-pokopia-and-after-200-hours-i-still-cant-put-it-down">I never understood the cozy game hype until I played Pokémon Pokopia — and after 200 hours, I still can't put it down</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 'I've seen people lose their most precious photos' — 9 products you should buy this World Backup Day, chosen by an ex-Apple Genius ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/ive-seen-people-lose-their-most-precious-photos-9-products-you-should-buy-this-world-backup-day-chosen-by-an-ex-apple-genius</link>
                                                                            <description>
                            <![CDATA[ It's World Backup Day 2026, which is the best excuse you need to buy a new hard drive, SSD, or even treat yourself to a NAS. Trust me, you don't want to lose your data. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">hZ6Xv2uDSwG6hFPxWkDGnW</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/jRQu6ezuqRSBcDRtdK8QXV-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 31 Mar 2026 10:23:29 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ john-anthony.disotto@futurenet.com (John-Anthony Disotto) ]]></author>                    <dc:creator><![CDATA[ John-Anthony Disotto ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/apUjevMoC6MzjfVN7GBCoi.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;John-Anthony Disotto is the Collections Editor at Tom&#039;s Guide, curating advice on the best products to spend your hard-earned cash on. An award-winning journalist and longtime Apple expert, he previously covered AI at TechRadar and served as How To Editor at iMore.&lt;/p&gt;&lt;p&gt;He used to work for Apple as a technician focused on iOS and iPhone repairs at the Genius Bar and has used the Apple ecosystem for over a decade. In his spare time, John-Anthony can be found watching any sport under the sun, from football to darts, taking the term &#039;Lego house&#039; far too literally as he runs out of space to display any more plastic bricks, or chilling on the couch with his French bulldog, Kermit. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/jRQu6ezuqRSBcDRtdK8QXV-1280-80.jpg">
                                                            <media:credit><![CDATA[Lacie / Sandisk / Ugreen / Lexar / Western Digital / Digigera / Phixero / Intel / Edited by Gemini]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Hard drives and solid state drives world backup day]]></media:description>                                                            <media:text><![CDATA[Hard drives and solid state drives world backup day]]></media:text>
                                <media:title type="plain"><![CDATA[Hard drives and solid state drives world backup day]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/jRQu6ezuqRSBcDRtdK8QXV-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>During my four years working at the Apple Genius Bar, I witnessed more heartbreak than you'd expect in a tech store. Parents crying over lost baby photos, students who'd lost their entire thesis, small business owners facing financial ruin because their only copy of critical files had vanished.</p><p>World Backup Day exists for good reason — and if you think "it won't happen to me," you're setting yourself up for disaster. I learned the hard way that hard drives fail, phones get stolen, and ransomware doesn't discriminate. But all hope is not lost; protecting your digital life doesn't have to be complicated or expensive.</p><p>I've selected 9 excellent products on Amazon you should consider on World Backup Day. And remember, not all tech purchases have to be glamorous; Sometimes you need to build the fundamentals so that your more exciting products are set up for success, rather than failure. I've seen people lose their most precious photos; you never want to be that guy.</p>        <div class="featured_product_block featured_block_hero" data-id="4fab8b88-51c2-4439-b5c4-feeddfc3d61d">            <a href="https://www.amazon.com/PHIXERO-P201-External-Sliding-Portable/dp/B0FF4LLMKW/" data-model-name="Phixero USB Drive 256GB External SSD" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/RSHfZEcy3nKvXhW5Wnfg2N.jpg" alt="PHIXERO, Phixero USB Drive 256GB External SSD"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PHIXERO</div>                                        <div class="featured__title">Phixero USB Drive 256GB External SSD</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8abcc6ba-5048-47b4-b66f-fe63d85b961a">            <a href="https://www.amazon.com/LaCie-Rugged-External-Portable-LAC9000298/dp/B00IRV005E/" data-model-name="Lacie 2TB Rugged External Hard Drive" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/qeUR9p57XEBbwKHbxMTtyN.jpg" alt="Seagate, Lacie 2TB Rugged External Hard Drive"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Seagate</div>                                        <div class="featured__title">Lacie 2TB Rugged External Hard Drive</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="560f3306-fe95-4a5d-b1c8-664aaf992d04">            <a href="https://www.amazon.com/DIGIERA-Magnetic-Portable-External-Compatible/dp/B0FJWT5LF2/" data-model-name="Digigera 1TB Magnetic Portable SSD" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/mhAG7Jp395JSjUkBrn8ctW.jpg" alt="DIGIERA, Digiera 1TB Magnetic Portable SSD"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>DIGIGERA</div>                                        <div class="featured__title">Digigera 1TB Magnetic Portable SSD</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="679dfd67-00b9-42c5-8a63-32b8f5e47254">            <a href="https://www.amazon.com/SanDisk-1TB-Extreme-Portable-SDSSDE61-1T00-G25/dp/B08GTYFC37" data-model-name="Sandisk 1TB Extreme Portable SSD" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/aQ43dD2BJfQCRpMqGBdFxY.jpg" alt="Sandisk, Sandisk 1TB Extreme Portable SSD"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Sandisk</div>                                        <div class="featured__title">Sandisk 1TB Extreme Portable SSD</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="f472ba42-8cf2-4e0f-a886-4657cf470462">            <a href="https://www.amazon.com/gp/aw/d/B0DYDHLN81" data-model-name="Lexar Es3 1tb External Ssd, Usb 3.2 Gen2 Portable Ssd, Pssd Up to 1050mb/s Read, 1000mb/s Write, External Solid State Drive Compatible With Iphone 16/15 Series/mac/ps5/xbox/laptop/pc, Silver" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/JpBgbT4GSouWZ6ZZpqHfFa.jpg" alt="Lexar, Lexar Es3 1tb External Ssd, Usb 3.2 Gen2 Portable Ssd, Pssd Up to 1050mb/s Read, 1000mb/s Write, External Solid State Drive Compatible With Iphone 16/15 Series/mac/ps5/xbox/laptop/pc, Silver"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Lexar</div>                                        <div class="featured__title">Lexar Es3 1tb External Ssd, Usb 3.2 Gen2 Portable Ssd, Pssd Up to 1050mb/s Read, 1000mb/s Write, External Solid State Drive Compatible With Iphone 16/15 Series/mac/ps5/xbox/laptop/pc, Silver</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="224c71e1-04df-44e1-882e-ecd380446e36">            <a href="https://www.amazon.com/SAMSUNG-Portable-SSD-1TB-MU-PC1T0T/dp/B0874XN4D8/" data-model-name="Samsung T7 1TB Portable SSD" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/wWr5JeduJ6d3CMETC9fdPb.jpg" alt="Samsung, Samsung T7 1TB Portable SSD"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Samsung</div>                                        <div class="featured__title">Samsung T7 1TB Portable SSD</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="86422941-f87f-400c-a84b-c9aed7edfcd1">            <a href="https://www.amazon.com/Seagate-IronWolf-Internal-Hard-Drive/dp/B084ZV4DXB?th=1" data-model-name="Seagate Ironwolf 8TB NAS Internal Hard Drive" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/D2ePcPvZWhEAMjH84zS3N.jpg" alt="Seagate, Seagate Ironwolf 8TB NAS Internal Hard Drive"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Seagate</div>                                        <div class="featured__title">Seagate Ironwolf 8TB NAS Internal Hard Drive</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="94b8f0c7-a574-4e6d-8f9c-8383f459ba29">            <a href="https://www.amazon.com/gp/aw/d/B07D5V2ZXD/" data-model-name="Western Digital 8TB Elements Desktop External Hard Drive" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/4ifWEbek2Xs3UReU3csAD3.jpg" alt="WD, Western Digital 8TB Elements Desktop External Hard Drive"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>WD</div>                                        <div class="featured__title">Western Digital 8TB Elements Desktop External Hard Drive</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="1dd1b092-b54b-4c9d-b196-b74e78e96e0c">            <a href="https://www.amazon.com/UGREEN-DXP4800-Plus-Attached-Diskless/dp/B0D22JRHZB?th=1" data-model-name="UGreen Dxp4800 Plus 4-Bay Desktop NAS" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/fdmwYVVHkfTgkMBGKTkBv3.jpg" alt="UGREEN, UGreen Dxp4800 Plus 4-Bay Desktop NAS"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>UGREEN</div>                                        <div class="featured__title">UGreen Dxp4800 Plus 4-Bay Desktop NAS</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div><p>World Backup Day only comes once a year, but data loss can happen any day. If there's one thing I learned behind the Genius Bar, it's that the people who back up never think about it — and the people who don't back up think about it every day after they lose everything. Pick at least one product from this list, make that boring, but functional purchase, and give yourself the peace of mind you deserve.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ PS5 prices increase tomorrow — buy one from Sony for under $400 today! ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/last-few-days-to-avoid-ps5-price-hikes-grab-a-pro-games-and-accessories-for-less-than-just-the-console</link>
                                                                            <description>
                            <![CDATA[ The PS5 console range is about to get a huge price increase, but this secret discount can net you one directly from Sony for $399. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">UKrTqkdLjUJmYwZWUvH6uM</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/gXSEaKYb5GTQcmF5VG443W-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 30 Mar 2026 11:00:54 +0000</pubDate>                                                                                                                                <updated>Wed, 01 Apr 2026 14:50:51 +0000</updated>
                                                                                                                                            <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ john-anthony.disotto@futurenet.com (John-Anthony Disotto) ]]></author>                    <dc:creator><![CDATA[ John-Anthony Disotto ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/apUjevMoC6MzjfVN7GBCoi.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;John-Anthony Disotto is the Collections Editor at Tom&#039;s Guide, curating advice on the best products to spend your hard-earned cash on. An award-winning journalist and longtime Apple expert, he previously covered AI at TechRadar and served as How To Editor at iMore.&lt;/p&gt;&lt;p&gt;He used to work for Apple as a technician focused on iOS and iPhone repairs at the Genius Bar and has used the Apple ecosystem for over a decade. In his spare time, John-Anthony can be found watching any sport under the sun, from football to darts, taking the term &#039;Lego house&#039; far too literally as he runs out of space to display any more plastic bricks, or chilling on the couch with his French bulldog, Kermit. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/gXSEaKYb5GTQcmF5VG443W-1280-80.jpg">
                                                            <media:credit><![CDATA[Future / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[PS5 Slim console positioned horizontally on table]]></media:description>                                                            <media:text><![CDATA[PS5 Slim console positioned horizontally on table]]></media:text>
                                <media:title type="plain"><![CDATA[PS5 Slim console positioned horizontally on table]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/gXSEaKYb5GTQcmF5VG443W-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Sony gave gamers around the world some bad news last week by announcing major price increases to PlayStation 5 consoles starting from April 2nd.</p><p>Luckily, if you've been pondering buying a PS5 to play some of the best games on the market, or in anticipation of the biggest video game release of all time: GTA 6, you've still got time to pick one up before more than $100 is added to the console's listing price.</p><p>I've curated my favorite PS5 accessories, games, and some TV and gaming monitor options. And I've also listed the PS5 consoles you can buy right now on Amazon with up to 20% off, based on the price hikes that are about to be introduced.</p><p>Even better, there's an incredible deal at Sony right now, which gets you a <a href="https://direct.playstation.com/en-us/buy-consoles/certified-refurbished-playstation5-console">PS5 with a disk drive for $399</a>. It's refurbished, but it comes with a 12-month warranty from the Japanese gaming giant.</p><p>I love my PS5 Pro and upgraded to the more powerful console as soon as it was released. That said, I don't think I could justify buying one for $899, so I highly advise anyone with a remote interest in playing the best video game console on the market to pick one up at $749 before it's too late.</p><h3 class="article-body__section" id="section-ps5-consoles"><span>PS5 Consoles</span></h3>        <div class="featured_product_block featured_block_hero" data-id="cb1cae1e-41d1-4d4a-9d21-30074a8960de">            <a href="https://direct.playstation.com/en-us/buy-consoles/certified-refurbished-playstation5-console" data-model-name="PS5 Console - 1TB" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/6by5NZnYCEbHZNPLcg6vyj.jpg" alt="PlayStation, PS5 Console - 1TB"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">PS5 Console - 1TB</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="a7e1faaa-83c0-43b6-8033-fcce6bda877f">            <a href="https://www.amazon.com/PlayStation-5-Pro-Console-2TB/dp/B0FTMY4YZ2/" data-model-name="PS5 Pro Console - 2TB" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/QnmdZn3EyvKmgMFEUGAPLi.jpg" alt="SONY, PS5 Pro Console - 2TB"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>SONY</div>                                        <div class="featured__title">PS5 Pro Console - 2TB</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="bad72eb0-04be-4110-8dbd-c7155f2bfc6e">            <a href="https://www.amazon.com/PS5-Playstation-Digital-Wireless-Controller/dp/B0966NLTZS/" data-model-name="PS5 Digital Edition Console - 825GB" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/mstkCC24qyxUFpJGFZ43Fj.jpg" alt="Sony, PS5 Digital Edition Console - 825GB"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Sony</div>                                        <div class="featured__title">PS5 Digital Edition Console - 825GB</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div><h3 class="article-body__section" id="section-ps5-accessories"><span>PS5 Accessories</span></h3><p>There are so many PS5 accessories to choose from, but I've selected a variety of products from Amazon's Big Spring Sale, just to make the most of the excellent discounts. Whether you're looking for a headset, a stand, or an extra controller, you'll find one below.</p>        <div class="featured_product_block featured_block_hero" data-id="6f08d990-02e7-4b46-a86b-88fc81e70a04">            <a href="https://www.amazon.com/UGREEN-Bluetooth-aptX-Adaptive-Transmitter-Headphones/dp/B0D7CKV1J8/" data-model-name="UGreen USB-C Bluetooth Adapter for PS5, Bluetooth 5.3" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/VBCYr9NtMTBiVuLVP97o45.jpg" alt="UGREEN, UGreen USB-C Bluetooth Adapter for PS5, Bluetooth 5.3"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>UGREEN</div>                                        <div class="featured__title">UGreen USB-C Bluetooth Adapter for PS5, Bluetooth 5.3</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b234fcf5-7594-495b-b8c5-bbea53e69a74">            <a href="https://www.amazon.com/OIVO-Controller-Compatible-Playstation-Indicators/dp/B08LZGPPBH/" data-model-name="Oivo Ps5 Controller Charger With Fast Charging" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/VpdQvPauDJJxrYBEemYS56.jpg" alt="OIVO, Oivo Ps5 Controller Charger With Fast Charging"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>OIVO</div>                                        <div class="featured__title">Oivo Ps5 Controller Charger With Fast Charging</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="41b6c551-85a6-49d7-b866-077f986df012">            <a href="https://www.amazon.com/Razer-BlackShark-HyperSpeed-Wireless-Gaming-Headset/dp/B0FDPM6DWH/" data-model-name="Razer Blackshark V3 X Hyperspeed Wireless Gaming Headset" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/MymE97ZUN8qmY7LtJACCo6.jpg" alt="Razer, Razer Blackshark V3 X Hyperspeed Wireless Gaming Headset"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Razer</div>                                        <div class="featured__title">Razer Blackshark V3 X Hyperspeed Wireless Gaming Headset</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="50976bca-ff6c-4a00-a1d9-7527009e04eb">            <a href="https://www.amazon.com/Logitech-G435-Wireless-Gaming-Headset/dp/B08R8DT7X6/" data-model-name="Logitech G435 Lightspeed Wireless Gaming Headset" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/BUpwGVbpTuJekzhJCwKPY7.jpg" alt="Logitech G, Logitech G435 Lightspeed Wireless Gaming Headset"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Logitech G</div>                                        <div class="featured__title">Logitech G435 Lightspeed Wireless Gaming Headset</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="7950e5dd-e1d5-40da-8e8b-73fa11a5f084">            <a href="https://www.amazon.com/Sony-DualSense-Wireless-Controller-PlayStation-5/dp/B097YYGXY5" data-model-name="PlayStation Dualsense Wireless Controller (Renewed)" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/CzdGXujfMCzCNKgN7w92P8.jpg" alt="PlayStation, PlayStation Dualsense Wireless Controller (Renewed)"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">PlayStation Dualsense Wireless Controller (Renewed)</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e620b97-7824-4041-88ec-84a65197e226">            <a href="https://www.amazon.com/Cooling-Controller-Charging-Playstation-Accessories/dp/B09QGK2LW3/" data-model-name="PS5/PS5 Slim/PS5 Pro Stand and Cooling Station With Dual Controller Charging" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/hvgpdMc2zRuT4gYGmFYy99.jpg" alt="CYKOARMOR, PS5/PS5 Slim/PS5 Pro Stand and Cooling Station With Dual Controller Charging"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>CYKOARMOR</div>                                        <div class="featured__title">PS5/PS5 Slim/PS5 Pro Stand and Cooling Station With Dual Controller Charging</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div><h3 class="article-body__section" id="section-ps5-games"><span>PS5 Games</span></h3><p>The PS5 games library is excellent, and as someone who's played all of the major releases since the console's launch in 2020, I've chosen some of my favorites to share with you. Whether you're looking for superhero action in Spider-Man 2 or one of the best JRPGs ever made in Clair Obscur Expedition 33, there's a game on offer below for everyone.</p>        <div class="featured_product_block featured_block_hero" data-id="a969890b-19de-44b2-9796-975e22ebd76a">            <a href="https://www.amazon.com/Ghost-Y%C5%8Dtei-PS5-PlayStation-5/dp/B0F6F41T4H/" data-model-name="Ghost of Yōtei" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/2emyiZq6pfuuvYThmdqbt9.jpg" alt="PlayStation, Ghost of Yōtei"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">Ghost of Yōtei</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="32baa33a-e3be-4477-bc76-d2b530ba624a">            <a href="https://www.amazon.com/God-War-Ragnar%C3%B6k-PC/dp/B0B6CMDSMW/" data-model-name="God of War Ragnarök" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/gp3kXFejEMck2otjKzCqiA.jpg" alt="PlayStation, God of War Ragnarök"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">God of War Ragnarök</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8a69c5d7-16be-49a9-aec8-fc5137fb62c3">            <a href="https://www.amazon.com/MARVELS-SPIDER-MAN-2-Standard-PlayStation-5/dp/B0C7WQRCPB/" data-model-name="Marvel’s Spider-Man 2" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/yNTj7KfGsTMTLqxaBRCuUB.jpg" alt="PlayStation, Marvel’s Spider-Man 2"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">Marvel’s Spider-Man 2</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b0b97c2b-f217-4587-a1a6-23ba46785970">            <a href="https://www.amazon.com/Returnal-PlayStation-5/dp/B08QFPS48J/" data-model-name="Returnal" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/BS2spZv8DFDYDsxhWAgDXC.jpg" alt="PlayStation, Returnal"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">Returnal</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="1128b6d2-5b44-4288-94d3-357332814c19">            <a href="https://www.amazon.com/Last-Us-Part-PlayStation-5/dp/B0B3QWRQL8/" data-model-name="The Last of Us Part I" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/ivhuHihZA3tXDKeaC4SECD.jpg" alt="PlayStation, The Last of Us Part I"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">The Last of Us Part I</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="77271fbb-20df-449e-a4ab-479436314606">            <a href="https://www.amazon.com/Clair-Obscur-Expedition-PS5-PlayStation-5/dp/B0DK6225DY/" data-model-name="Clair Obscur Expedition 33" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/qitVjpTRLMoBcghHfQ8byD.jpg" alt="Maximum Entertainment, Clair Obscur Expedition 33"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Maximum Entertainment</div>                                        <div class="featured__title">Clair Obscur Expedition 33</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div><h3 class="article-body__section" id="section-tv-and-gaming-monitors"><span>TV and Gaming Monitors</span></h3><p>If you're buying a new PS5, you might want to pick up a new TV or gaming monitor too. I've chosen six of the best deals in Amazon's Big Spring Sale, and there's a wide-variety of price ranges depending on your budget.</p>        <div class="featured_product_block featured_block_hero" data-id="69564a09-64ca-4ddb-b4e5-f87a9a087baa">            <a href="https://www.amazon.com/Hisense-Cinema-Hi-QLED-Smart-55E6QF/dp/B0FHLGWJNS/" data-model-name="Hisense 55" E6 Cinema Series Hi-QLED 4K" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/xyuZaDDh2QgsLNX2mNJUkE.jpg" alt="Hisense, Hisense 55" E6 Cinema Series Hi-QLED 4K"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Hisense</div>                                        <div class="featured__title">Hisense 55" E6 Cinema Series Hi-QLED 4K</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="6ee7f131-feab-4d8d-95d7-c627e5894662">            <a href="https://www.amazon.com/Hisense-Class-Mini-LED-Smart-75QD7QF/dp/B0DYVR8NVD/" data-model-name="Hisense 75" MINI-LED 4k Smart Fire TV" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/8uYXuVN9viy4VgsTwKEQWF.jpg" alt="Hisense, Hisense 75" MINI-LED 4k Smart Fire TV"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Hisense</div>                                        <div class="featured__title">Hisense 75" MINI-LED 4k Smart Fire TV</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="87dbe7ab-d9e7-47f1-98d0-4e2322b33868">            <a href="https://www.amazon.com/SAMSUNG-55-Inch-Tracking-Processor-Contour/dp/B0DXN3SDLL/" data-model-name="Samsung 55-Inch Class OLED 4K S85F" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/6zyNSgU62ZKpAApYp98XCG.jpg" alt="Samsung, Samsung 55-Inch Class OLED 4K S85F"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Samsung</div>                                        <div class="featured__title">Samsung 55-Inch Class OLED 4K S85F</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="d7cc105c-6baa-4d96-81ce-268df777c2d4">            <a href="https://www.amazon.com/Samsung-32-Inch-Odyssey-FreeSync-LS32CG550ENXZA/dp/B0CRGJC5ZD/" data-model-name="Samsung 32" Odyssey G55C Series QHD Gaming Monitor" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/RubgtHLpjytp7EQhZeUK3H.jpg" alt="Samsung, Samsung 32" Odyssey G55C Series QHD Gaming Monitor"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Samsung</div>                                        <div class="featured__title">Samsung 32" Odyssey G55C Series QHD Gaming Monitor</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="9c169ca0-1456-48f8-9ff3-7649b0faa989">            <a href="https://www.amazon.com/ASUS-Inch-Curved-Gaming-Monitor/dp/B088MKF848/" data-model-name="Asus TUF 32 Inch Curved Gaming Monitor" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.26%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/t28PHVS3ytuABmLNHbs3jH.jpg" alt="ASUS, Asus TUF 32 Inch Curved Gaming Monitor"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>ASUS</div>                                        <div class="featured__title">Asus TUF 32 Inch Curved Gaming Monitor</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="37137b1a-02a8-4865-b0b4-8fcca7263858">            <a href="https://www.amazon.com/LG-%E2%80%8E27GS93QE-Ultragear-DisplayHDR-DisplayPort/dp/B0DF786923" data-model-name="Lg ‎27GS93QE 27-Inch Ultragear OLED Gaming Monitor" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.37%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/tB8K9BgofnGn9UecEW3uRJ.jpg" alt="LG, Lg ‎27GS93QE 27-Inch Ultragear OLED Gaming Monitor"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>LG</div>                                        <div class="featured__title">Lg ‎27GS93QE 27-Inch Ultragear OLED Gaming Monitor</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Major Sony PS5 price hike just hit all models — here's what you'll pay now ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/major-sony-ps5-price-hike-just-hit-all-models-heres-what-youll-pay-now</link>
                                                                            <description>
                            <![CDATA[ Sony is raising the price of PS5 consoles again. Here's how much each model will now cost globally. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">T4LxB5SvsdPfkBCpKGdTxV</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 27 Mar 2026 14:21:17 +0000</pubDate>                                                                                                                                <updated>Fri, 27 Mar 2026 14:23:05 +0000</updated>
                                                                                                                                            <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ tony.polanco@futurenet.com (Tony Polanco) ]]></author>                    <dc:creator><![CDATA[ Tony Polanco ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/atzRNqFt5wYgEUPBDahWsD.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The PlayStation logo on a PS5 Pro]]></media:description>                                                            <media:text><![CDATA[The PlayStation logo on a PS5 Pro]]></media:text>
                                <media:title type="plain"><![CDATA[The PlayStation logo on a PS5 Pro]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Gaming on PlayStation just got more expensive. Again.</p><p>As detailed on the <a href="https://blog.playstation.com/2026/03/27/new-price-changes-for-ps5-ps5-pro-and-playstation-portal-remote-player/">PlayStation Blog</a>, effective April 2, 2026, all PS5 consoles will cost more in the United States. Sony Interactive Entertainment has “made the decision to increase the prices of PS5, PS5 Pro, and PlayStation Portal remote player globally.” Sony says this was due to “continued pressures in the global economic landscape.”</p><p>Here’s how much each PlayStation console will now cost:</p><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>PlayStation 5 (Disc Drive)</strong></p></td><td  ><p><strong>PS5 Digital Edition</strong></p></td><td  ><p><strong>PlayStation 5 Pro</strong></p></td></tr><tr><td class="firstcol " ><p><strong>United States</strong></p></td><td  ><p>$649.99 (+$100)</p></td><td  ><p>$599.99 (+$100)</p></td><td  ><p>$899.99 (+$150)</p></td></tr><tr><td class="firstcol " ><p><strong>United Kingdom</strong></p></td><td  ><p>£569.99 (+£90)</p></td><td  ><p>£519.99 (+£90)</p></td><td  ><p>£789.99 (+£90)</p></td></tr><tr><td class="firstcol " ><p><strong>Europe</strong></p></td><td  ><p>€649.99 (+€100)</p></td><td  ><p>€599.99 (+€100)</p></td><td  ><p>€899.99 (+€100)</p></td></tr><tr><td class="firstcol " ><p><strong>Japan</strong></p></td><td  ><p>¥97,980 (+¥18,000)</p></td><td  ><p>¥89,980 (+¥17,000)</p></td><td  ><p>¥137,980 (+¥18,000)</p></td></tr></tbody></table></div><p>For those keeping track, <a href="https://www.tomsguide.com/gaming/playstation/every-ps5-model-is-getting-a-price-hike-in-the-u-s-and-todays-the-last-day-to-get-one-cheaper">I wrote a similar story back in August 2025 when Sony first raised PS5 prices in the US</a>. That one stung, but seeing five-year-old consoles now cost more than they did at launch is wild. As you can see above, the PS5 Pro, which was already expensive when it debuted at $699, now costs a staggering $899!</p><p>The US isn't the only region affected, as the United Kingdom, Europe, and Japan are facing similar price hikes.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WwzDAe"></div>                            </div>                            <script src="https://kwizly.com/embed/WwzDAe.js" async></script><h2 id="how-does-this-affect-next-gen-consoles">How does this affect "next-gen" consoles?</h2><p>The "global economic landscape" Sony is referring to is the ongoing tariff situation, <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">RAMageddon</a>, and global conflicts. While that's understandable, it doesn't make the price hikes sting less. Old consoles have historically gone down in price over the years, but now we're seeing the opposite trend, and what's happening around the world is to blame.</p><p>With current consoles now costing so much, it raises the question of how much next-generation systems will retail for. Perhaps this is something we won't have to worry about anytime soon — especially if rumors about next-gen delays are true. If this were a typical console cycle, we would see new systems in 2027. But we're in anything but a typical situation.</p><h2 id="outlook-2">Outlook</h2><p>Given how these price hikes take affect starting on April 2, it would be wise to purchase a PS5 now if you don't already own one. Heck, you can even buy an extra system, since it would effectively be an appreciating asset starting next week.</p><p>We’ll keep an eye on this story as it develops, so stay tuned for more!</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/nintendo/best-thing-i-bought-this-year-was-the-nintendo-switch-2-and-its-not-even-close">Here are 5 Amazon Big Spring Sale gaming laptop deals I’d buy with my own money</a></li><li><a href="https://www.tomsguide.com/computing/macbooks/i-played-5-games-on-the-macbook-neo-heres-my-report-card">I played 5 games on the MacBook Neo — here's my report card</a></li><li><a href="https://www.tomsguide.com/gaming/crimson-desert-review">Crimson Desert is an overwhelming RPG experience — but it’s undeniably ambitious</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Forget Amazon’s Spring Sale — the best PS5 game deals start from just $4 at PlayStation Store ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/forget-amazons-spring-sale-the-best-ps5-game-deals-start-from-just-usd4-at-playstation-store</link>
                                                                            <description>
                            <![CDATA[ PlayStation Store's Mega March sale is taking on Amazon's Big Spring Sale, and you can pick up essential PS5 games starting from just $4. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">nQqtZjoXcQXRqHRBh9Ffz8</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/hNdKb4eswpkxQDceeNkz2V-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 24 Mar 2026 12:25:49 +0000</pubDate>                                                                                                                                <updated>Wed, 25 Mar 2026 17:46:39 +0000</updated>
                                                                                                                                            <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ rory.mellon@futurenet.com (Rory Mellon) ]]></author>                    <dc:creator><![CDATA[ Rory Mellon ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5Rv6LtQXMj5JB4Eu8Lt4Sn.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/hNdKb4eswpkxQDceeNkz2V-1280-80.jpg">
                                                            <media:credit><![CDATA[Koei Tecmo]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Nioh 3 screenshot with a Tom&#039;s Guide Amazon Spring Sale Deals badge]]></media:description>                                                            <media:text><![CDATA[Nioh 3 screenshot with a Tom&#039;s Guide Amazon Spring Sale Deals badge]]></media:text>
                                <media:title type="plain"><![CDATA[Nioh 3 screenshot with a Tom&#039;s Guide Amazon Spring Sale Deals badge]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/hNdKb4eswpkxQDceeNkz2V-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Now is a great time to be shopping for some of the <a href="https://www.tomsguide.com/best-picks/the-best-ps5-games">best PS5 games</a>. Not only is the ongoing <a href="https://www.tomsguide.com/live/news/amazon-big-spring-sale-up-to-40-percent-off-spring-apparel-walking-running-shoes-home-decor-tvs-and-appliances">Amazon Big Spring Sale</a> slashing prices across all things PlayStation, but the PlayStation Store is running its own <a href="https://store.playstation.com/en-us/category/8c195ff8-3a7d-4ea5-82c3-1debf1b6a800/1" target="_blank" rel="nofollow">Mega March sale</a>.</p><p>I've combed through both sales and found a slew of great deals that every PS5 owner should consider. These include the first-ever discounts on new 2026 games like <a href="https://www.tomsguide.com/gaming/nioh-3-review">Nioh 3</a>, and some seriously deep savings on must-play titles. </p><p>Plus, I've also found some great accessory deals with controllers, headsets and hard drives discounted courtesy of Amazon's first seasonal event of the year. These are the top PS5 deals I've spotted, and are worth adding to your cart. For more, see this <a href="https://www.tomsguide.com/gaming/nintendo/dont-wait-this-samsung-nintendo-switch-2-accessory-doubles-your-consoles-storage-and-its-just-usd44-right-now">Nintendo Switch 2 microSD Express storage deal to expand your console's storage</a>.</p><h3 class="article-body__section" id="section-best-playstation-store-deals"><span>Best PlayStation Store deals</span></h3><ul><li><strong>PS5 and PS4 games: </strong><a href="https://store.playstation.com/en-us/category/8c195ff8-3a7d-4ea5-82c3-1debf1b6a800/1" target="_blank" rel="nofollow"><strong>deals from $4 @ PlayStation Store</strong></a></li><li><strong>Iron Lung: </strong><a href="https://store.playstation.com/en-us/product/UB0622-PPSA21755_00-0490391273409007" target="_blank" rel="nofollow"><strong>was $7 now $5</strong></a><strong></strong></li><li><strong>Dead Island 2: </strong><a href="https://store.playstation.com/en-us/product/UP2047-PPSA03098_00-DI2MAINSIEAPS500" target="_blank" rel="nofollow"><strong>was $49 now $12</strong></a><strong></strong></li><li><strong>Fallout 4 - GOTY Edition: </strong><a href="https://store.playstation.com/en-us/product/UP1003-PPSA09016_00-FALLOUT4BUNDLENA" target="_blank" rel="nofollow"><strong>was $39 now $15</strong></a><strong></strong></li><li><strong>Persona 5 Royal: </strong><a href="https://store.playstation.com/en-us/product/UP0177-PPSA05109_00-P5RGAME000000000" target="_blank" rel="nofollow"><strong>was $59 now $17</strong></a><strong></strong></li><li><strong>Uncharted - Legacy of Thieves: </strong><a href="https://store.playstation.com/en-us/product/UP9000-PPSA05389_00-UNCHARTED4R00000" target="_blank" rel="nofollow"><strong>was $49 now $19</strong></a><strong></strong></li><li><strong>Sonic X Shadow Generations: </strong><a href="https://store.playstation.com/en-us/product/UP0177-PPSA17597_00-SONICXSHADOWGENE" target="_blank" rel="nofollow"><strong>was $49 now $19</strong></a><strong></strong></li><li><strong>Doom - The Dark Ages: </strong><a href="https://store.playstation.com/en-us/product/UP1003-PPSA20560_00-DTITAN0000000000" target="_blank" rel="nofollow"><strong>was $69 now $23</strong></a><strong></strong></li><li><strong>God of War Ragnarök: </strong><a href="https://store.playstation.com/en-us/product/UP9000-PPSA08329_00-GOWRAGNAROK00000" target="_blank" rel="nofollow"><strong>was $69 now $29</strong></a><strong></strong></li><li><strong>Kingdom Come Deliverance 2: </strong><a href="https://store.playstation.com/en-us/product/UP2047-PPSA21705_00-KCD2MAINGAMEDSUS" target="_blank" rel="nofollow"><strong>was $69 now $34</strong></a><strong></strong></li><li><strong>Metal Gear Solid Delta - Snake Eater: </strong><a href="https://store.playstation.com/en-us/product/JP0101-PPSA15304_00-MGSDELTAMAINGAME" target="_blank" rel="nofollow"><strong>was $69 now $34</strong></a><strong></strong></li><li><strong>Resident Evil Remake Trilogy: </strong><a href="https://store.playstation.com/en-us/product/UP0102-PPSA07411_00-BHB0000000000003" target="_blank" rel="nofollow"><strong>was $89 now $35</strong></a><strong></strong></li><li><strong>Silent Hill f (Deluxe Edition): </strong><a href="https://store.playstation.com/en-us/product/JP0101-PPSA21159_00-DIGITALDELUXE000" target="_blank" rel="nofollow"><strong>was $79 now $39</strong></a><strong></strong></li><li><strong>Death Stranding 2 - On the Beach: </strong><a href="https://store.playstation.com/en-us/product/JP9000-PPSA02015_00-DS2OTB0000000001" target="_blank" rel="nofollow"><strong>was $69 now $49</strong></a><strong></strong></li><li><strong>Baldur's Gate 3 (Deluxe Edition): </strong><a href="https://store.playstation.com/en-us/product/UP3526-PPSA14001_00-0681576713225017" target="_blank" rel="nofollow"><strong>was $79 now $59</strong></a><strong></strong></li><li><strong>Nioh 3: </strong><a href="https://store.playstation.com/en-us/product/EP4108-PPSA32785_00-NIOH300000000000" target="_blank" rel="nofollow"><strong>was $69 now $62</strong></a><strong></strong></li></ul><h3 class="article-body__section" id="section-best-amazon-spring-sale-deals"><span>Best Amazon Spring Sale deals</span></h3><div class="product"><a data-dimension112="71705323-2e60-4208-a323-9b01c4351246" data-action="Deal Block" data-label="PS5 games: deals from $7 @ Amazon" data-dimension48="PS5 games: deals from $7 @ Amazon" href="https://www.amazon.com/s?k=ps5+games&i=videogames&ref=nb_sb_noss" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1173px;"><p class="vanilla-image-block" style="padding-top:127.88%;"><img id="jQccVoCyWUGPX9CftXTJAQ" name="Marvel's Spider-Man 2 deal.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/jQccVoCyWUGPX9CftXTJAQ.jpg" mos="" align="middle" fullscreen="" width="1173" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>PS5 games: </strong><a href="https://www.amazon.com/s?k=ps5+games&i=videogames&ref=nb_sb_noss" target="_blank" rel="nofollow" data-dimension112="71705323-2e60-4208-a323-9b01c4351246" data-action="Deal Block" data-label="PS5 games: deals from $7 @ Amazon" data-dimension48="PS5 games: deals from $7 @ Amazon" data-dimension25=""><strong>deals from $7 @ Amazon</strong></a><br>The deepest discounts on PS5 games can be found on the PlayStation Store, but if you'd prefer a physical disc over a digital download, Amazon's Spring Sale also offers savings across a range of PlayStation software. This includes major titles like <a href="https://www.amazon.com/MARVELS-SPIDER-MAN-2-Standard-PlayStation-5/dp/B0C7WQRCPB/" target="_blank" rel="nofollow">Marvel's Spider-Man 2</a>, <a href="https://www.amazon.com/Final-Fantasy-VII-Rebirth-PlayStation-5/dp/B0CGXZQ4CD/" target="_blank" rel="nofollow">Final Fantasy VII Rebirth</a>, <a href="https://www.amazon.com/Elden-Ring-PlayStation-5/dp/B09743F8P6/" target="_blank" rel="nofollow">Elden Ring</a> and plenty more. <a class="view-deal button" href="https://www.amazon.com/s?k=ps5+games&i=videogames&ref=nb_sb_noss" target="_blank" rel="nofollow" data-dimension112="71705323-2e60-4208-a323-9b01c4351246" data-action="Deal Block" data-label="PS5 games: deals from $7 @ Amazon" data-dimension48="PS5 games: deals from $7 @ Amazon" data-dimension25="">View Deal</a></p></div><div class="product"><a data-dimension112="41496873-edae-4256-829e-8a1f3be2daba" data-action="Deal Block" data-label="Razer BlackShark V3 Pro" data-dimension48="Razer BlackShark V3 Pro" data-dimension25="$119" href="https://www.amazon.com/Razer-BlackShark-Wireless-Gaming-Headset-PC/dp/B0FC1R9KRL/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="iFdB8fgzyU6X4P2WfMj9QN" name="Razer-BlackShark-V3-Pro-deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/iFdB8fgzyU6X4P2WfMj9QN.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The <a href="https://www.tomsguide.com/gaming/gaming-peripherals/razer-blackshark-v3-pro-review" data-dimension112="41496873-edae-4256-829e-8a1f3be2daba" data-action="Deal Block" data-label="Razer BlackShark V3 Pro" data-dimension48="Razer BlackShark V3 Pro" data-dimension25="$119">Razer BlackShark V3 Pro</a> is designed for professional gamers. It boasts fantastic sound with spatial audio support that gives you a competitive edge. It’s extremely comfortable, features highly effective ANC, and comes with a detachable mic that makes you sound loud and clear. No compromises have been made, and you’re getting your money’s worth with $50 off.<a class="view-deal button" href="https://www.amazon.com/Razer-BlackShark-Wireless-Gaming-Headset-PC/dp/B0FC1R9KRL/" target="_blank" rel="nofollow" data-dimension112="41496873-edae-4256-829e-8a1f3be2daba" data-action="Deal Block" data-label="Razer BlackShark V3 Pro" data-dimension48="Razer BlackShark V3 Pro" data-dimension25="$119">View Deal</a></p></div><div class="product"><a data-dimension112="e1512d10-72ab-448c-ab47-b79fc88103c6" data-action="Deal Block" data-label="This officially licensed Sony controller is a must-have accessory for PlayStation fans. The Nacon Revolution 5 Pro is infinitely customizable, featuring remappable shortcuts, a swappable D-Pad, interchangeable controller weights, customizable thumbstick sizes and heads, and more. Not to mention, with the controller's Hall effect magnetic sensors, you can say so long to stick drift." data-dimension48="This officially licensed Sony controller is a must-have accessory for PlayStation fans. The Nacon Revolution 5 Pro is infinitely customizable, featuring remappable shortcuts, a swappable D-Pad, interchangeable controller weights, customizable thumbstick sizes and heads, and more. Not to mention, with the controller's Hall effect magnetic sensors, you can say so long to stick drift." data-dimension25="$140" href="https://www.amazon.com/Revolution-Officially-Licensed-PlayStation-Controller-5/dp/B0CLBD543P" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:522px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="HjvFL2XjzMMmPVHPVCJJsh" name="51PaJ0tF09L._SX522_.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/HjvFL2XjzMMmPVHPVCJJsh.jpg" mos="" align="middle" fullscreen="" width="522" height="522" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>This officially licensed Sony controller is a must-have accessory for PlayStation fans. The Nacon Revolution 5 Pro is infinitely customizable, featuring remappable shortcuts, a swappable D-Pad, interchangeable controller weights, customizable thumbstick sizes and heads, and more. Not to mention, with the controller's Hall effect magnetic sensors, you can say so long to stick drift.  <a class="view-deal button" href="https://www.amazon.com/Revolution-Officially-Licensed-PlayStation-Controller-5/dp/B0CLBD543P" target="_blank" rel="nofollow" data-dimension112="e1512d10-72ab-448c-ab47-b79fc88103c6" data-action="Deal Block" data-label="This officially licensed Sony controller is a must-have accessory for PlayStation fans. The Nacon Revolution 5 Pro is infinitely customizable, featuring remappable shortcuts, a swappable D-Pad, interchangeable controller weights, customizable thumbstick sizes and heads, and more. Not to mention, with the controller's Hall effect magnetic sensors, you can say so long to stick drift." data-dimension48="This officially licensed Sony controller is a must-have accessory for PlayStation fans. The Nacon Revolution 5 Pro is infinitely customizable, featuring remappable shortcuts, a swappable D-Pad, interchangeable controller weights, customizable thumbstick sizes and heads, and more. Not to mention, with the controller's Hall effect magnetic sensors, you can say so long to stick drift." data-dimension25="$140">View Deal</a></p></div><div class="product"><a data-dimension112="5366e560-963a-4cf5-8b3d-b1f302fe683a" data-action="Deal Block" data-label="Asus ROG Delta II" data-dimension48="Asus ROG Delta II" data-dimension25="$164" href="https://www.amazon.com/ASUS-ROG-II-Wireless-Detachable/dp/B0DGZY13L6/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:99.27%;"><img id="z8Q9kcRwWZKbkuEnB99Vd4" name="Asus ROG Delta II" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/z8Q9kcRwWZKbkuEnB99Vd4.jpg" mos="" align="middle" fullscreen="" width="1500" height="1489" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>With its 50mm titanium-plated diaphragm drivers, the <a href="https://www.tomsguide.com/gaming/gaming-peripherals/asus-rog-delta-ii-gaming-headset-review" data-dimension112="5366e560-963a-4cf5-8b3d-b1f302fe683a" data-action="Deal Block" data-label="Asus ROG Delta II" data-dimension48="Asus ROG Delta II" data-dimension25="$164">Asus ROG Delta II</a> creates immersive soundscapes in nearly every game. The headset is mighty comfortable, and its detachable 10mm boom mic is loud and clear. It also boasts long battery life. It's been on sale for $160 before, but this discount is its lowest price in the last 30 days. <a class="view-deal button" href="https://www.amazon.com/ASUS-ROG-II-Wireless-Detachable/dp/B0DGZY13L6/" target="_blank" rel="nofollow" data-dimension112="5366e560-963a-4cf5-8b3d-b1f302fe683a" data-action="Deal Block" data-label="Asus ROG Delta II" data-dimension48="Asus ROG Delta II" data-dimension25="$164">View Deal</a></p></div><div class="product"><a data-dimension112="16f16ab5-9994-48af-8d87-7824174f784a" data-action="Deal Block" data-label="Razer Raiju V3 Pro" data-dimension48="Razer Raiju V3 Pro" data-dimension25="$179" href="https://www.amazon.com/Razer-Raiju-Pro-Wireless-Controller-5/dp/B0FNDGHM92" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:900px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="4Thj5V3jFdpaqt6CbqoZQf" name="Razer Raiju V3 Pro" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4Thj5V3jFdpaqt6CbqoZQf.jpg" mos="" align="middle" fullscreen="" width="900" height="900" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The <a href="https://www.tomsguide.com/gaming/gaming-peripherals/razer-raiju-v3-pro-review" data-dimension112="16f16ab5-9994-48af-8d87-7824174f784a" data-action="Deal Block" data-label="Razer Raiju V3 Pro" data-dimension48="Razer Raiju V3 Pro" data-dimension25="$179">Razer Raiju V3 Pro</a> is a mighty controller for PS5 and PC. The TMR sticks provide precise control over movement while eliminating the risk of stick drift. It's highly customizable and very comfortable for long gaming sessions. Although it’s missing some proprietary PS5 features, it’s the gamepad to beat for esports.<a class="view-deal button" href="https://www.amazon.com/Razer-Raiju-Pro-Wireless-Controller-5/dp/B0FNDGHM92" target="_blank" rel="nofollow" data-dimension112="16f16ab5-9994-48af-8d87-7824174f784a" data-action="Deal Block" data-label="Razer Raiju V3 Pro" data-dimension48="Razer Raiju V3 Pro" data-dimension25="$179">View Deal</a></p></div><div class="product"><a data-dimension112="6e2631ed-c4ec-44b7-986a-f6ec043f1a5f" data-action="Deal Block" data-label="Looking for the right balance between speeding up your system with fast storage, but also getting plenty of room, too? The Samsung 990 Pro is a great pick, but there's a caveat here. While it's currently on sale in Amazon's Spring Sale, it's dropped significantly lower in the past. This is the best PS5 SSD right now, but if you don't need extra storage this minute, you should wait to see if summer sales or even Black Friday bring better." data-dimension48="Looking for the right balance between speeding up your system with fast storage, but also getting plenty of room, too? The Samsung 990 Pro is a great pick, but there's a caveat here. While it's currently on sale in Amazon's Spring Sale, it's dropped significantly lower in the past. This is the best PS5 SSD right now, but if you don't need extra storage this minute, you should wait to see if summer sales or even Black Friday bring better." data-dimension25="$212" href="https://www.amazon.com/SAMSUNG-Internal-Expansion-MZ-V9P2T0B-AM/dp/B0BHJJ9Y77" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1600px;"><p class="vanilla-image-block" style="padding-top:87.50%;"><img id="5fBHZckCTSEf7KiNq7m2Go" name="Samsung 2TB 990 PRO.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/5fBHZckCTSEf7KiNq7m2Go.jpg" mos="" align="middle" fullscreen="" width="1600" height="1400" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Looking for the right balance between speeding up your system with fast storage, but also getting plenty of room, too? The Samsung 990 Pro is a great pick, but there's a caveat here. While it's currently on sale in Amazon's Spring Sale, it's dropped significantly lower in the past. This is the best PS5 SSD right now, but if you don't need extra storage this minute, you should wait to see if summer sales or even Black Friday bring better.<a class="view-deal button" href="https://www.amazon.com/SAMSUNG-Internal-Expansion-MZ-V9P2T0B-AM/dp/B0BHJJ9Y77" target="_blank" rel="nofollow" data-dimension112="6e2631ed-c4ec-44b7-986a-f6ec043f1a5f" data-action="Deal Block" data-label="Looking for the right balance between speeding up your system with fast storage, but also getting plenty of room, too? The Samsung 990 Pro is a great pick, but there's a caveat here. While it's currently on sale in Amazon's Spring Sale, it's dropped significantly lower in the past. This is the best PS5 SSD right now, but if you don't need extra storage this minute, you should wait to see if summer sales or even Black Friday bring better." data-dimension48="Looking for the right balance between speeding up your system with fast storage, but also getting plenty of room, too? The Samsung 990 Pro is a great pick, but there's a caveat here. While it's currently on sale in Amazon's Spring Sale, it's dropped significantly lower in the past. This is the best PS5 SSD right now, but if you don't need extra storage this minute, you should wait to see if summer sales or even Black Friday bring better." data-dimension25="$212">View Deal</a></p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I just played Crimson Desert on PS5 Pro — here’s how this massive RPG looks and runs on console ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/i-just-played-crimson-desert-on-ps5-pro-heres-how-this-massive-rpg-looks-and-runs-on-console</link>
                                                                            <description>
                            <![CDATA[ Crimson Desert is now available on consoles, and I dived into this huge RPG experience to test out its visuals and performance on PS5 Pro. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">aGqAoqhzMTi7mZnNnkYS6M</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/LYGghjpVqnvyR2wuRhLRaQ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 21 Mar 2026 07:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ rory.mellon@futurenet.com (Rory Mellon) ]]></author>                    <dc:creator><![CDATA[ Rory Mellon ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5Rv6LtQXMj5JB4Eu8Lt4Sn.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/LYGghjpVqnvyR2wuRhLRaQ-1280-80.jpg">
                                                            <media:credit><![CDATA[Pearl Abyss]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Crimson Desert on PS5 Pro screenshot]]></media:description>                                                            <media:text><![CDATA[Crimson Desert on PS5 Pro screenshot]]></media:text>
                                <media:title type="plain"><![CDATA[Crimson Desert on PS5 Pro screenshot]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/LYGghjpVqnvyR2wuRhLRaQ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><a href="https://www.tomsguide.com/gaming/crimson-desert-review">Crimson Desert</a> is <em>finally</em> in our hands. After weeks of online hype and many gamers wondering if the massive RPG was “too good to be true,” Pearl Abyss’ single-player open-world epic, set in the world of MMO Black Desert Online, has arrived. Millions of players are now taking their first steps into the fantasy land of Pywel, including yours truly.</p><p>Pre-release reviews (including <a href="https://www.tomsguide.com/gaming/crimson-desert-review">Tom’s Guide’s verdict</a> from my colleague Tony Polanco) gave us an idea of the scale of Crimson Desert, but one of the biggest questions ahead of its March 19 launch was how the RPG would perform on consoles. Before release, critics only had access to the game on PC, with footage of the game running on <a href="https://www.tomsguide.com/gaming/playstation/ps5-slim">PS5</a> and <a href="https://www.tomsguide.com/reviews/xbox-series-x">Xbox Series X</a> limited.</p><p>Now that Crimson Desert is released to the world, we can finally get our first in-the-wild look at how this gigantic adventure runs on console compared to one of the <a href="https://www.tomsguide.com/us/best-gaming-pc,review-2219.html">best gaming PCs</a>.</p><p>I’ve dived into the grand quest myself, playing via <a href="https://www.tomsguide.com/gaming/playstation/ps5-pro-review">PS5 Pro</a>, and while I’m barely more than 90 minutes into what I’m sure will be a 100+ hour playthrough, here are my very early impressions.</p><div class="product"><a data-dimension112="08057bdb-ac5a-42fc-94d6-680ef1264981" data-action="Deal Block" data-label="Crimson Desert is a vast, open-world action-RPG from the makers of Black Desert Online. You play Kliff as he adventures across the land of the fantasy continent Pywel. Your mission is to reunite the Greymane faction and reclaim your homeland. Crammed full of content, Crimson Desert is a huge game where you can fully immerse yourself in an epic 100+ hour quest." data-dimension48="Crimson Desert is a vast, open-world action-RPG from the makers of Black Desert Online. You play Kliff as he adventures across the land of the fantasy continent Pywel. Your mission is to reunite the Greymane faction and reclaim your homeland. Crammed full of content, Crimson Desert is a huge game where you can fully immerse yourself in an epic 100+ hour quest." data-dimension25="$69" href="https://www.bestbuy.com/product/crimson-desert-playstation-5/J3GWC562R2" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:900px;"><p class="vanilla-image-block" style="padding-top:118.78%;"><img id="uKDrRLjrqK3bGNeFZbzygj" name="crimson-desert-ps5-na-box" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/uKDrRLjrqK3bGNeFZbzygj.jpg" mos="" align="middle" fullscreen="" width="900" height="1069" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Crimson Desert is a vast, open-world action-RPG from the makers of Black Desert Online. You play Kliff as he adventures across the land of the fantasy continent Pywel. Your mission is to reunite the Greymane faction and reclaim your homeland. Crammed full of content, Crimson Desert is a huge game where you can fully immerse yourself in an epic 100+ hour quest.<a class="view-deal button" href="https://www.bestbuy.com/product/crimson-desert-playstation-5/J3GWC562R2" target="_blank" rel="nofollow" data-dimension112="08057bdb-ac5a-42fc-94d6-680ef1264981" data-action="Deal Block" data-label="Crimson Desert is a vast, open-world action-RPG from the makers of Black Desert Online. You play Kliff as he adventures across the land of the fantasy continent Pywel. Your mission is to reunite the Greymane faction and reclaim your homeland. Crammed full of content, Crimson Desert is a huge game where you can fully immerse yourself in an epic 100+ hour quest." data-dimension48="Crimson Desert is a vast, open-world action-RPG from the makers of Black Desert Online. You play Kliff as he adventures across the land of the fantasy continent Pywel. Your mission is to reunite the Greymane faction and reclaim your homeland. Crammed full of content, Crimson Desert is a huge game where you can fully immerse yourself in an epic 100+ hour quest." data-dimension25="$69">View Deal</a></p></div><h2 id="crimson-desert-is-mostly-a-looker-on-ps5-pro">Crimson Desert is (mostly) a looker on PS5 Pro</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kVCk8DW5mUVR6wv5dNPAQQ" name="crimson-desert-ps5-pro-screenshot-02.JPG" alt="Crimson Desert on PS5 Pro screenshot" src="https://cdn.mos.cms.futurecdn.net/kVCk8DW5mUVR6wv5dNPAQQ.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Pearl Abyss)</span></figcaption></figure><p>Booting up Crimson Desert on PS5 Pro, it’s hard not to be pretty darn impressed with its graphical quality. Early on, after a brief (and somewhat confusingly plotted) prologue, protagonist Kliff is traveling into town on horseback with an NPC. Crossing a large wooden bridge, your companion advises, “take it slow and enjoy the view,” and enjoy the view I certainly did.</p><p>Even in this early stage of the game, the vistas are stunning, with white-rock cliffs, rushing rivers, and lush forests stretching beyond the horizon. The first main town is equally impressive, with townsfolk crammed into the streets and towering giants manning guard posts. Texture pop-in is a recurring sight, and green foliage doesn’t look all that great when viewed from up close. But on PS5 Pro, I was quickly marvelling at the visual quality.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kkk4xWTXuhCMZJVfKEEaaQ" name="crimson-desert-ps5-pro-screenshot-01.JPG" alt="Crimson Desert on PS5 Pro screenshot" src="https://cdn.mos.cms.futurecdn.net/kkk4xWTXuhCMZJVfKEEaaQ.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Pearl Abyss)</span></figcaption></figure><p>Crimson Desert also offers plenty of player choice with “Quality,” “Balanced,” and “Performance” modes. I’m a framerate player above all else, so I sacrificed a little bit of image resolution in favor of a smoother 60 fps, and so far have seen barely a hitch. Granted, I’m still very early, so I haven’t encountered many large-scale skirmishes or intense boss battles, maybe these will cause more noticeable drops, but so far, the framerate isn’t dipping much.</p><p>It should be noted that I’m playing on the PS5 Pro. This is a pricey $749 suped-up version of the base PS5 console. I imagine the majority of PlayStation gamers will experience Crimson Desert on a regular PS5. I can’t speak to visuals/performance on base PS5, but according to <a href="https://www.pushsquare.com/news/2026/03/crimson-desert-looks-rough-on-base-ps5-heres-25-minutes-of-direct-capture-footage" target="_blank">PushSquare’s reporting</a>, the experience is quite significantly compromised on the regular console.</p><p>Still, I’m really looking forward to diving further into the world of Crimson Desert, as there’s clearly a lot to see and do, and at least so far, I’ve been plenty impressed with how everything looks, and most importantly, how everything runs. If you’re fortunate enough to have access to a PS5 Pro, then you can cast aside any pre-release skepticism, as Crimson Desert is really quite a looker. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-exzJKO"></div>                            </div>                            <script src="https://kwizly.com/embed/exzJKO.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/crimson-desert-review">Crimson Desert review: overwhelming but ambitious</a></li><li><a href="https://www.tomsguide.com/gaming/playstation/crimson-desert-might-be-the-talk-of-the-town-but-these-11-ps5-open-world-masterpieces-are-available-at-a-fraction-of-the-price">11 open-world PS5 games cheaper than Crimson Desert</a></li><li><a href="https://www.tomsguide.com/best-picks/the-best-ps5-games">The best PS5 games you can play right now</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Crimson Desert might be the talk of the town, but these 11 PS5 open-world masterpieces are available at a fraction of the price ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/crimson-desert-might-be-the-talk-of-the-town-but-these-11-ps5-open-world-masterpieces-are-available-at-a-fraction-of-the-price</link>
                                                                            <description>
                            <![CDATA[ Crimson Desert is nearly here, but I think you should play a different PS5 open-world game instead, and these are my favorites. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">vXucigZie33C9WmHgp9qJC</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/DrYFm9CG6ffJrMdLCxTjQS-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 18 Mar 2026 13:45:04 +0000</pubDate>                                                                                                                                <updated>Thu, 19 Mar 2026 11:45:22 +0000</updated>
                                                                                                                                            <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ john-anthony.disotto@futurenet.com (John-Anthony Disotto) ]]></author>                    <dc:creator><![CDATA[ John-Anthony Disotto ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/apUjevMoC6MzjfVN7GBCoi.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;John-Anthony Disotto is the Collections Editor at Tom&#039;s Guide, curating advice on the best products to spend your hard-earned cash on. An award-winning journalist and longtime Apple expert, he previously covered AI at TechRadar and served as How To Editor at iMore.&lt;/p&gt;&lt;p&gt;He used to work for Apple as a technician focused on iOS and iPhone repairs at the Genius Bar and has used the Apple ecosystem for over a decade. In his spare time, John-Anthony can be found watching any sport under the sun, from football to darts, taking the term &#039;Lego house&#039; far too literally as he runs out of space to display any more plastic bricks, or chilling on the couch with his French bulldog, Kermit. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/DrYFm9CG6ffJrMdLCxTjQS-1280-80.jpg">
                                                            <media:credit><![CDATA[Getty Images / Girts Ragelis]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Ps5 controller]]></media:description>                                                            <media:text><![CDATA[Ps5 controller]]></media:text>
                                <media:title type="plain"><![CDATA[Ps5 controller]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/DrYFm9CG6ffJrMdLCxTjQS-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Crimson Desert is the biggest gaming release of the week, and <a href="https://www.tomsguide.com/gaming/nintendo/over-2-2-million-copies-sold-over-release-weekend-pokemon-pokopia-hysteria-is-off-the-charts-and-these-8-accessories-will-enhance-your-switch-2-cozy-experience">Pokémon Pokopia</a> aside, the biggest launch in March.<br><br>The game from the South Korean developer Pearl Abyss is a massive open-world RPG that's said to be incredibly complex and vast, with claims that the immersive world is twice the size of Rockstar's magnum opus, Red Dead Redemption 2.</p><p>I absolutely love vast open-world video games with endless places to explore, gear to find, and side quests to complete, but truthfully, there are so many of these games that I'm sure many of even the most involved gamers haven't played them all.</p><p>I'm excited to play Crimson Desert, but considering its $70 price tag and the PS5's excellent collection of open-world games, I've decided to select 11 of my favorites (of which I've played them all) that might be worth your time instead of the latest release.</p>        <div class="featured_product_block featured_block_hero" data-id="c4001601-f638-4869-a0e9-6b929ae07cbd">            <a href="https://www.amazon.com/Crimson-Desert-Standard-PlayStation-5/dp/B0FST4FTPQ" data-model-name="Crimson Desert: Standard Edition - Playstation 5" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/qqMEGdgwqtoZQFXGHuRf7f.jpg" alt="Deep Silver, Crimson Desert: Standard Edition - Playstation 5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Pearl Abyss</div>                                        <div class="featured__title">Crimson Desert: Standard Edition - Playstation 5</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="cc74287a-4fd3-489e-9904-44cf669f1d3e">            <a href="https://www.amazon.com/Final-Fantasy-VII-Rebirth-PlayStation-5/dp/B0CGXZQ4CD/" data-model-name="Final Fantasy VII Rebirth - Exclusive Amazon Edition" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/pu5oqVFCUrowYqSEVuksBg.jpg" alt="Square Enix, Final Fantasy VII Rebirth - Exclusive Amazon Edition"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Square Enix</div>                                        <div class="featured__title">Final Fantasy VII Rebirth - Exclusive Amazon Edition</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="8e2ee494-d866-4cbb-bf8f-de7279b1e0e9">            <a href="https://www.amazon.com/Kingdom-Come-Deliverance-II-PlayStation-5/dp/B0D2FGZ3HF/" data-model-name="Kingdom Come: Deliverance II" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/hLYy9sNtfFUcjokZrq7eyg.jpg" alt="Deep Silver, Kingdom Come: Deliverance II"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Deep Silver</div>                                        <div class="featured__title">Kingdom Come: Deliverance II</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="d482012a-f654-4e15-825e-3af4fc536d41">            <a href="https://www.amazon.com/Red-Dead-Redemption-2-PlayStation-4/dp/B01M5DZ525/" data-model-name="Red Dead Redemption 2" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/dVjPVMUDoqYBZ4TUpfM9Hi.jpg" alt="Rockstar Games, Red Dead Redemption 2"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Rockstar Games</div>                                        <div class="featured__title">Red Dead Redemption 2</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="378e4780-051f-40c8-b8d8-dbd646e22abf">            <a href="https://www.amazon.com/Cyberpunk-2077-Ultimate-PlayStation-5/dp/B0CP2Q75HM/" data-model-name="Cyberpunk 2077: Ultimate Edition" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/UtrrJw83jbLSxmwVXCKQVj.jpg" alt="CD Projekt RED, Cyberpunk 2077: Ultimate Edition"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>CD Projekt RED</div>                                        <div class="featured__title">Cyberpunk 2077: Ultimate Edition</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="36ad8773-bc84-473a-a744-ce16d8decdbe">            <a href="https://www.amazon.com/Witcher-Wild-Hunt-Complete-PlayStation-4/dp/B01K6010FM/" data-model-name="Witcher 3: Wild Hunt Complete Edition" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/ovRZ5nkNLqZgDtvTsd79Jm.jpg" alt="CD Projekt RED, Witcher 3: Wild Hunt Complete Edition"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>CD Projekt RED</div>                                        <div class="featured__title">Witcher 3: Wild Hunt Complete Edition</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="79882f50-bf99-4103-9021-5c967d787a3f">            <a href="https://www.amazon.com/Ghost-Y%C5%8Dtei-PS5-PlayStation-5/dp/B0F6F41T4H" data-model-name="Ghost of Yōtei" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/A8EiwVFBcUEaSw2vBWJzTn.jpg" alt="PlayStation, Ghost of Yōtei"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">Ghost of Yōtei</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="5258677f-a84c-4da0-b831-6902da252b7f">            <a href="https://www.amazon.com/Avatar-Frontiers-Pandora-Ashes-PlayStation-5/dp/B0FS963QY8" data-model-name="Avatar: Frontiers of Pandora From the Ashes Edition" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/VCzKLsJLEA8H94933uKR4.jpg" alt="Ubisoft, Avatar: Frontiers of Pandora From the Ashes Edition"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Ubisoft</div>                                        <div class="featured__title">Avatar: Frontiers of Pandora From the Ashes Edition</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="e7bbaefb-c6bc-455d-be01-5ac50dd34295">            <a href="https://www.amazon.com/MARVELS-SPIDER-MAN-2-Standard-PlayStation-5/dp/B0C7WQRCPB" data-model-name="Marvel’s Spider-Man 2" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/WNow6HuQiUYm9DxqUDwW43.jpg" alt="PlayStation, Marvel’s Spider-Man 2"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">Marvel’s Spider-Man 2</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="cd945847-d9a7-4d74-b52a-114de6ec730c">            <a href="https://www.amazon.com/Elden-Ring-PlayStation-5/dp/B09743F8P6/" data-model-name="Elden Ring" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/shuEwbktnRhVYmABv9Lpu3.jpg" alt="Bandai Namco, Elden Ring"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Bandai Namco</div>                                        <div class="featured__title">Elden Ring</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="dd503ca3-cd4a-43dd-9c11-bcdafc43741a">            <a href="https://www.amazon.com/Metaphor-ReFantazio-Launch-PlayStation-5/dp/B0D2FY9H73/" data-model-name="Metaphor: Refantazio Launch Edition" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/T6ps4HpARxb2aC8TDjTuo4.jpg" alt="SEGA, Metaphor: Refantazio Launch Edition"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>SEGA</div>                                        <div class="featured__title">Metaphor: Refantazio Launch Edition</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="70ddd161-d1ac-4981-a5c4-58037a15cc6c">            <a href="https://www.amazon.com/Horizon-Forbidden-West-Complete-PlayStation-5/dp/B0CK4VWNYL/" data-model-name="Horizon Forbidden West Complete Edition" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/uBzfUGMTkr7z6UaUvJ7Lp5.jpg" alt="PlayStation, Horizon Forbidden West Complete Edition"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">Horizon Forbidden West Complete Edition</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W0qkNO"></div>                            </div>                            <script src="https://kwizly.com/embed/W0qkNO.js" async></script><h2 id="what-is-crimson-desert">What is Crimson Desert?</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/VWIw_f8e9Pg" allowfullscreen></iframe></div></div><p>Now and then, a game pops up that really grabs your attention. That was me with Crimson Desert when it was initially revealed at The Game Awards in 2020, and I haven’t really stopped thinking about it since.</p><p>Crimson Desert is the next game from Pearl Abyss, best known for Black Desert Online, but instead of another sprawling MMO, this is a single-player, open-world action RPG set in the war-torn continent of Pywel. You play as Kliff, a mercenary trying to hold things together in a world that very much isn’t.</p><p>What’s grabbed my attention most from the gameplay videos is just the way it looks to offer an immersive 100-hour-plus experience across multiple genres. There’s a grounded, slightly messy realism that reminds me more of The Witcher 3: Wild Hunt, combat looks scrappy and heavy, and the sky islands remind me of one of my favorite games of all time: Tears of the Kingdom.</p><p>It also just looks… ridiculous, in a good way. The in-house engine is doing some serious work, with dynamic weather, dense environments, and the kind of visual detail that is seriously going to pop on high-end hardware like a PS5 Pro or a 50-series Nvidia graphics card.</p><p>I’m trying not to get too carried away, especially considering early impressions have said it's an overwhelming experience from the get-go. But Crimson Desert has that rare thing where it doesn’t just look impressive, it looks interesting. And that’s what’s got me hooked.</p><p>That said, the list above highlights some of the best video games of all time, and while I'm hopeful that Crimson Desert is excellent, it will have to be better than anyone could ever expect for it to come close to some of the titans listed above.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Resident Evil Requiem too short? I'd buy these 12 PS5 games to scratch that horror action itch ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/resident-evil-requiem-too-short-id-buy-these-12-ps5-games-to-scratch-that-horror-action-itch</link>
                                                                            <description>
                            <![CDATA[ Resident Evil Requiem is amazing, but it also only takes around 10 hours to complete. These are the horror and action video games I'd recommend on PS5 to scratch that Resident Evil-filled gap in your life after the credits roll. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">BV4YwSTv6hohp4L6ZXEMZ4</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/aUwQc4gdCgHRAZvYSbTpJZ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 02 Mar 2026 15:18:15 +0000</pubDate>                                                                                                                                <updated>Thu, 05 Mar 2026 09:00:15 +0000</updated>
                                                                                                                                            <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ john-anthony.disotto@futurenet.com (John-Anthony Disotto) ]]></author>                    <dc:creator><![CDATA[ John-Anthony Disotto ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/apUjevMoC6MzjfVN7GBCoi.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;John-Anthony Disotto is the Collections Editor at Tom&#039;s Guide, curating advice on the best products to spend your hard-earned cash on. An award-winning journalist and longtime Apple expert, he previously covered AI at TechRadar and served as How To Editor at iMore.&lt;/p&gt;&lt;p&gt;He used to work for Apple as a technician focused on iOS and iPhone repairs at the Genius Bar and has used the Apple ecosystem for over a decade. In his spare time, John-Anthony can be found watching any sport under the sun, from football to darts, taking the term &#039;Lego house&#039; far too literally as he runs out of space to display any more plastic bricks, or chilling on the couch with his French bulldog, Kermit. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/aUwQc4gdCgHRAZvYSbTpJZ-1280-80.jpg">
                                                            <media:credit><![CDATA[Sony PlayStation / Capcom / Edited by Gemini]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Resident Evil video games in front of a haunted house]]></media:description>                                                            <media:text><![CDATA[Resident Evil video games in front of a haunted house]]></media:text>
                                <media:title type="plain"><![CDATA[Resident Evil video games in front of a haunted house]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/aUwQc4gdCgHRAZvYSbTpJZ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><a href="https://www.amazon.com/Resident-Evil-Requiem-Amazon-Exclusive-PlayStation/dp/B0FY929QN1" target="_blank" rel="nofollow">Resident Evil Requiem ($69, Amazon)</a> might be the best video game I've played all year, but after completing the story, I can't help but want more.</p><p>Luckily, the PlayStation 5's catalog is filled with excellent survival horror video games like Grace's portion of RE 9, but also action to scratch that Leon zombie-killing itch.</p><p>If you're in the same boat as me, fret not, I've selected some of the best video game horror experiences out there, each with its own style and vibe.</p><p>If you're looking for something similar to the survival horror of Resident Evil Requiem and haven't played <a href="https://www.amazon.com/Resident-Evil-biohazard-Gold-PlayStation-5/dp/B0DKW9TJ23" target="_blank" rel="nofollow">Resident Evil: Biohazard ($19, Amazon)</a>, I'd recommend starting there. If Leon S Kennedy's badass action gameplay is more up your alley, check out <a href="https://www.amazon.com/Resident-Evil-4-PS5-PlayStation-5/dp/B0BJTKYLCB" target="_blank" rel="nofollow">Resident Evil 4 ($19, Amazon)</a> instead.</p><p>For those who have already played through Capcom's Resident Evil library on PS5, <a href="https://www.amazon.com/Silent-Hill-PlayStation-Amazon-Exclusive-Day/dp/B0F1C14LY8/" target="_blank" rel="nofollow">Silent Hill F ($69, Amazon)</a> is one of 2025's best horror games.</p><p>If you want a break from horror but still enjoy the gameplay of the latest entry in the Resident Evil Series, I've selected some of my favorite first-person shooter story-driven games, including Deathloop, as well as the <a href="https://www.amazon.com/BioShock-Collection-PlayStation-4/dp/B01HIZF83S/" target="_blank" rel="nofollow">Bioshock Collection ($18, Amazon)</a>, which is one of the best deals in gaming, full stop.</p>        <div class="featured_product_block featured_block_hero" data-id="416ce5a4-3049-4599-94f8-f12dbfe6d35d">            <a href="https://www.amazon.com/Resident-Evil-Requiem-Amazon-Exclusive-PlayStation/dp/B0FY929QN1" data-model-name="Resident Evil Requiem - PS5" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/aDaaYvtvy9zVd9KicyuvQ8.jpg" alt="Capcom, Resident Evil Requiem - PS5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Capcom</div>                                        <div class="featured__title">Resident Evil Requiem - PS5</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="c5fd5e26-234b-48c4-a4d7-d43a8314c358">            <a href="https://www.amazon.com/Resident-Evil-4-PS5-PlayStation-5/dp/B0BJTKYLCB" data-model-name="Resident Evil 4 - PS5" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/j6ckGBfaveRqnAWA8y6Lm9.jpg" alt="Capcom, Resident Evil 4 - PS5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Capcom</div>                                        <div class="featured__title">Resident Evil 4 - PS5</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="b6f93982-8f41-4b2b-87fb-e083327f134f">            <a href="https://www.amazon.com/Resident-Evil-Village-Gold-PlayStation-5/dp/B0B75WMSFP/" data-model-name="Resident Evil Village Gold Edition - PS5" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/6BcUa6roKo74yAUh9WpBuC.jpg" alt="Capcom, Resident Evil Village Gold Edition - PS5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Capcom</div>                                        <div class="featured__title">Resident Evil Village Gold Edition - PS5</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="de6e860a-f917-4034-b50e-e163f7d9c859">            <a href="https://www.amazon.com/Resident-Evil-2-PlayStation-5/dp/B0DKW2H52M/" data-model-name="Resident Evil 2 - PS5" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/XqaiZh3wauspVZu7JQ6C8F.jpg" alt="Capcom, Resident Evil 2 - PS5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Capcom</div>                                        <div class="featured__title">Resident Evil 2 - PS5</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="66100612-3499-492e-8fe3-8f6522baa21a">            <a href="https://www.amazon.com/Resident-Evil-biohazard-Gold-PlayStation-5/dp/B0DKW9TJ23" data-model-name="Resident Evil 7 Biohazard Gold Edition - PS5" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/A7HmLAH3QCcypvuKiGmvfG.jpg" alt="Capcom, Resident Evil 7 Biohazard Gold Edition - PS5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Capcom</div>                                        <div class="featured__title">Resident Evil 7 Biohazard Gold Edition - PS5</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="efcc8992-5d1e-4abd-a968-13baa7c5c676">            <a href="https://www.amazon.com/Silent-Hill-PlayStation-Amazon-Exclusive-Day/dp/B0F1C14LY8/" data-model-name="Silent Hill F - Day One Edition - PS5" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/9a5qWRtnnfAW9sUwGpHAbH.jpg" alt="Konami, Silent Hill F - Day One Edition - PS5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Konami</div>                                        <div class="featured__title">Silent Hill F - Day One Edition - PS5</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="32ad0b07-37e6-4a4d-95bc-94dc11e9f6a4">            <a href="https://www.amazon.com/Silent-Hill-2-PS5-PlayStation-5/dp/B0CMC3C3Z9/" data-model-name="Silent Hill 2 - PS5" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/ab5D7E6JdumUSHEPuUBeVJ.jpg" alt="Konami, Silent Hill 2 - PS5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Konami</div>                                        <div class="featured__title">Silent Hill 2 - PS5</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="50baeb7c-281b-496c-b585-742713cbf50d">            <a href="https://www.amazon.com/Cronos-PlayStation-5/dp/B0FKNMXH4V/" data-model-name="Cronos - PS5" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/HdZNvgPgxaVFHtRvSigyyK.jpg" alt="Skybound Games, Cronos - PS5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Skybound Games</div>                                        <div class="featured__title">Cronos - PS5</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="6daea456-0be6-4c2e-b16f-5fbbb7058f76">            <a href="https://www.amazon.com/Returnal-PlayStation-5/dp/B08QFPS48J" data-model-name="Returnal - PS5" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/ZGwQtjhEZAL9AZ4wJCJKpL.jpg" alt="PlayStation, Returnal - PS5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>PlayStation</div>                                        <div class="featured__title">Returnal - PS5</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="bd99c31c-8211-48ca-aebb-200b085ecd9a">            <a href="https://www.amazon.com/Warhammer-40-000-Space-Marine-PlayStation/dp/B0CVSDJNKS" data-model-name="Warhammer 40,000: Space Marine 2 - PS5" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/cXEN4Zu8FjaHV67vFAGBhM.jpg" alt="Deep Silver, Warhammer 40,000: Space Marine 2 - PS5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Deep Silver</div>                                        <div class="featured__title">Warhammer 40,000: Space Marine 2 - PS5</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="6f9cc932-a39a-4b00-9f93-8e8e1c9d52d6">            <a href="https://www.amazon.com/DEATHLOOP-Standard-PlayStation-5/dp/B08NDYPWK7/" data-model-name="Deathloop - PS5" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.33%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/TdbXjEXaj8X3hziG92KebN.jpg" alt="Bethesda, Deathloop - PS5"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>Bethesda</div>                                        <div class="featured__title">Deathloop - PS5</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>        <div class="featured_product_block featured_block_hero" data-id="ce88af94-d50c-44fc-92d9-c6179386eae6">            <a href="https://www.amazon.com/BioShock-Collection-PlayStation-4/dp/B01HIZF83S/" data-model-name="Bioshock: The Collection - PS4" data-model-brand="" ><div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check style='padding-top:133.93%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/d2jT27GVvp9xZK6Heh3pRP.jpg" alt="2K, Bioshock: The Collection - PS4"></p></div></a>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                        <div class='featured__brand'>2K</div>                                        <div class="featured__title">Bioshock: The Collection - PS4</div>                                    </div>                <div class="subtitle__description">                                                            <p></p>                </div>                            </div>        </div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ GTA 6 pre-orders — PlayStation Store update could hint at new details soon ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/gta-6-pre-orders-playstation-store-update-could-hint-at-new-details-soon</link>
                                                                            <description>
                            <![CDATA[ GTA 6 title IDs have just landed in the PlayStation Store, and that could mean pricing and pre-order details could be on the way. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">8WfHLsUodTutW7QXQijJNN</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/4TUTG7z8sBNcsajGFwkPaN-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 02 Mar 2026 10:54:14 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ tom.pritchard@futurenet.com (Tom Pritchard) ]]></author>                    <dc:creator><![CDATA[ Tom Pritchard ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/biCewUkKfSA6QnT2HxVc3f.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/4TUTG7z8sBNcsajGFwkPaN-1280-80.jpg">
                                                            <media:credit><![CDATA[Rockstar]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[GTA 6 featured poster]]></media:description>                                                            <media:text><![CDATA[GTA 6 featured poster]]></media:text>
                                <media:title type="plain"><![CDATA[GTA 6 featured poster]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/4TUTG7z8sBNcsajGFwkPaN-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It looks like <a href="https://www.tomsguide.com/news/gta-6">Grand Theft Auto 6</a> may have just taken another step closer to actually being released. According to the dataminer <a href="https://x.com/PlaystationSize/status/2027951263602626570" target="_blank">PlayStation Game Size</a>, developers Rockstar have just added the title IDs for GTA 6 to the PlayStation Store. They speculate that this will precede some news about the game, possibly an announcement of pre-orders.</p><p>For those that don't know, title IDs are the different versions of the game that appear in a digital store. Presumably, the base version of the game has been added, suggesting a little more is happening behind the scenes than the placeholder listing that's been on the PS Store for several months.</p><div class="see-more see-more--clipped"><blockquote class="twitter-tweet hawk-ignore" data-lang="en"><p lang="en" dir="ltr">Grand Theft Auto VI title IDs have been added to the PlayStation database. I expect we’ll see something about the game soon, probably the start of pre-orders. pic.twitter.com/PBda1Jvr5p<a href="https://twitter.com/cantworkitout/status/2027951263602626570">March 1, 2026</a></p></blockquote><div class="see-more__filter"></div></div><p>There isn't a whole lot of information to glean beyond this particular fact. PlayStation Game Size even admitted that there's no telling how long it might be between this database update and announcements about pricing. Apparently, it depends on the publisher, which would make predictions difficult, though they don't think there's going to be a long wait.</p><p>Obviously, this is going to offer a glimmer of hope for GTA fans, who are eagerly awaiting the release of the new game. It's been over 12 years since the release of GTA 5, not including the current-gen <a href="https://www.tomsguide.com/news/gta-v-is-coming-to-ps5-and-ps4-owners-get-a-free-upgrade">remaster</a>, which is longer than the time between the release of the original GTA in 1997 and GTA 4 in 2008. Considering <a href="https://www.tomsguide.com/gaming/gta-6-might-be-delayed-again-according-to-a-new-leak-heres-when-the-game-could-launch">GTA 6 has been officially delayed twice already</a>, anything that suggests it'll <a href="https://www.tomsguide.com/gaming/rockstar-announces-grand-theft-auto-iv-delayed-to-november-2026">actually arrive on November 19</a> can only be good news.</p><p>The reveal of pricing information is also especially important because there's been a lot of speculation that Rockstar may increase the price of the base game beyond the current $70 limit. In fact, some sources claim the developer (and publisher TakeTwo) may try to <a href="https://www.tomsguide.com/gaming/gta-6-may-sell-for-an-unprecedented-price-heres-how-much-it-could-cost">charge as much as $100</a> for the standard version of the game. </p><p>Nobody wants that, because games are expensive enough as it is. And while I do not doubt that plenty of people will pay full price for GTA 6, Rockstar would be mindful that higher prices may put some people off buying the game. Fewer people with the game means a smaller potential multiplayer base, and it's been clear for a while that this is where Rockstar makes the big bucks.</p><p>All we can do is speculate right now, and hopefully, this means we don't have much longer to wait before Rockstar reveals pre-order and pricing information. Alongside details of whatever special editions and potential early-ordering bonuses will be available.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XrzmMX"></div>                            </div>                            <script src="https://kwizly.com/embed/XrzmMX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/nintendo/pokemon-at-30-every-pokemon-game-you-can-play-on-the-nintendo-switch-and-switch-2">Every Pokémon game you can play on the Nintendo Switch and Switch 2</a></li><li><a href="https://www.tomsguide.com/gaming/handheld-gaming/steam-deck-is-getting-a-usd100-price-hike-in-japan-is-the-us-next">Steam Deck is getting a $100 price hike in Japan — is the US next?</a></li><li><a href="https://www.tomsguide.com/gaming/ps5-pro-to-get-upgraded-pssr-for-better-graphics-and-performance-heres-the-game-youll-see-it-in-first">PS5 Pro to get upgraded PSSR for better graphics and performance</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Resident Evil Requiem first-person vs. third-person — here’s the best way to enjoy the new horror game ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/resident-evil-requiem-first-person-vs-third-person-heres-the-best-way-to-enjoy-the-new-horror-game</link>
                                                                            <description>
                            <![CDATA[ Resident Evil Requiem is the first game in the series to offer a choice between a first and third-person camera at launch. Here's the best pick. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">2VphuoemFobM32C5qTSphR</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/yhtd9E8hRfDXkxa5zaHShn-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 28 Feb 2026 09:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ rory.mellon@futurenet.com (Rory Mellon) ]]></author>                    <dc:creator><![CDATA[ Rory Mellon ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5Rv6LtQXMj5JB4Eu8Lt4Sn.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/yhtd9E8hRfDXkxa5zaHShn-1280-80.jpg">
                                                            <media:credit><![CDATA[Capcom]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Resident Evil Requiem: Grace aims her gun at a zombie.]]></media:description>                                                            <media:text><![CDATA[Resident Evil Requiem: Grace aims her gun at a zombie.]]></media:text>
                                <media:title type="plain"><![CDATA[Resident Evil Requiem: Grace aims her gun at a zombie.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/yhtd9E8hRfDXkxa5zaHShn-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><a href="https://www.tomsguide.com/gaming/resident-evil-requiem-review">Resident Evil Requiem</a> always ranked as one of my most anticipated games of 2026, and after getting my hands on the game earlier this month, it lives up to the hype, and then some. In fact, it might just be my <em>favorite</em> Resident Evil game to date (excluding remakes). </p><p>But before you can dive into Capcom’s latest slice of slick survival horror-action, you are confronted with an important choice: first-person or third-person. The long-running franchise has been experimenting with perspective in recent years. Resident Evil 7: Biohazard brought the terror closer than ever via first-person, while the modern remakes of classics like Resident Evil 2 and <a href="https://www.tomsguide.com/reviews/resident-evil-4">Resident Evil 4</a> opted for a traditional over-the-shoulder point of view. </p><p>Resident Evil Requiem, which is the ninth mainline entry in the series, offers two playable characters: the returning Leon S. Kennedy and newcomer Grace Ashcroft, and allows you to select between the two play modes. It’s not the first Resident Evil game to do this; 2021’s <a href="https://www.tomsguide.com/reviews/resident-evil-village-review-its-almost-perfect">Resident Evil Village</a> offers a choice, with a third-person mode added via post-launch DLC.</p><p>But the difference in Resident Evil Requiem is that you have even <em>more</em> options. You can play the entire 12-hour campaign in first-person or third-person, or you can opt to switch perspectives depending on which character you’re playing as. I’ve been testing each mode to determine the best way to enjoy Resident Evil 9, and I’ve found there’s a clear winner. </p><div class="product"><a data-dimension112="70d67a8e-3b56-47e8-9d56-0347bd6cd615" data-action="Deal Block" data-label="Resident Evil Requiem is the latest entry in the popular survival horror-action series. You play as dual protagonists, Grace Ashcroft and Leon S. Kenedy, as they unravel a shocking mystery and survive against the hordes of the undead and mutated creatures even more frightening. Combining tense horror and blistering action, Resident Evil Requiem is a must-play title." data-dimension48="Resident Evil Requiem is the latest entry in the popular survival horror-action series. You play as dual protagonists, Grace Ashcroft and Leon S. Kenedy, as they unravel a shocking mystery and survive against the hordes of the undead and mutated creatures even more frightening. Combining tense horror and blistering action, Resident Evil Requiem is a must-play title." data-dimension25="$69" href="https://www.bestbuy.com/product/resident-evil-requiem-playstation-5/J7CXZVK288" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1298px;"><p class="vanilla-image-block" style="padding-top:115.56%;"><img id="t6iarbisuGMy5SzXoHtF9Q" name="resident-evil-requiem-ps5-na-box" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/t6iarbisuGMy5SzXoHtF9Q.jpg" mos="" align="middle" fullscreen="" width="1298" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Resident Evil Requiem is the latest entry in the popular survival horror-action series. You play as dual protagonists, Grace Ashcroft and Leon S. Kenedy, as they unravel a shocking mystery and survive against the hordes of the undead and mutated creatures even more frightening. Combining tense horror and blistering action, Resident Evil Requiem is a must-play title.<a class="view-deal button" href="https://www.bestbuy.com/product/resident-evil-requiem-playstation-5/J7CXZVK288" target="_blank" rel="nofollow" data-dimension112="70d67a8e-3b56-47e8-9d56-0347bd6cd615" data-action="Deal Block" data-label="Resident Evil Requiem is the latest entry in the popular survival horror-action series. You play as dual protagonists, Grace Ashcroft and Leon S. Kenedy, as they unravel a shocking mystery and survive against the hordes of the undead and mutated creatures even more frightening. Combining tense horror and blistering action, Resident Evil Requiem is a must-play title." data-dimension48="Resident Evil Requiem is the latest entry in the popular survival horror-action series. You play as dual protagonists, Grace Ashcroft and Leon S. Kenedy, as they unravel a shocking mystery and survive against the hordes of the undead and mutated creatures even more frightening. Combining tense horror and blistering action, Resident Evil Requiem is a must-play title." data-dimension25="$69">View Deal</a></p></div><h2 id="both-viewpoints-have-their-advantages-and-disadvantages">Both viewpoints have their advantages (and disadvantages)</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/fXVy4mALHLY" allowfullscreen></iframe></div></div><p>I’m traditionally a third-person kind of person. While I certainly enjoy a good first-person shooter (I’m still regularly playing <a href="https://www.tomsguide.com/gaming/i-played-battlefield-6-for-over-20-hours-and-its-multiplayer-rivals-cod-but-skip-the-solo-mode">Battlefield 6</a> on my <a href="https://www.tomsguide.com/gaming/playstation/ps5-pro-review">PS5 Pro</a>), when it comes to single-player experiences, third-person has always been my preferred perspective. </p><p>In the world of Resident Evil, being able to see your entire character does have its advantages. During the most frantic moments, when a mutated zombie or nightmarish creature is bearing down on you, it’s a lot easier to avoid getting munched on by the undead when you can fully take in your surroundings. Not to mention, in the case of Leon, it feels very fitting to play third-person, as the Leon-starring Resident Evil 4 set the standard by which many action games are still measuring up to even now, more than 20 years later.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="pUHninx6CbUHRt8487AJsk" name="Resident Evil Requiem stalking boss" alt="Resident Evil Requiem" src="https://cdn.mos.cms.futurecdn.net/pUHninx6CbUHRt8487AJsk.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Capcom)</span></figcaption></figure><p>However, there’s no denying that third-person blunts the horrific atmosphere that Resident Evil thrives on. Resident Evil 7 is often credited as the most terrifying installment in the series, and I firmly believe the more immersive perspective is a major reason why that game still gets my palms sweating even after three complete playthroughs. Heck, I’ve just started a fourth run on the excellent Nintendo Switch 2 port, and I’m getting creeped out. </p><p>The same is true of Requiem. The fantastic first half takes place in the Rhodes Hill Chronic Care Center, and exploring the shadowy halls of this asylum feels all the more unnerving when you are vulnerable and can’t creatively maneuver your camera around each corner.</p><h2 id="forget-choosing-why-not-both">Forget choosing, why not both?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CVDdqjsDfPZDjVPY7bnDEe" name="Resident_Evil_Requiem_-_RE_Showcase_Screenshot_19" alt="Resident Evil Requiem: Leon aims his gun at a chainsaw-wielding zombie." src="https://cdn.mos.cms.futurecdn.net/CVDdqjsDfPZDjVPY7bnDEe.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Capcom)</span></figcaption></figure><p>Going into Resident Evil Requiem, I really wasn’t sure how I was going to choose between first and third person. I was delighted when I discovered the Capcom developers had found a way to allow players to get the best of both.</p><p>While you are free to play the full game in either mode, the default option is actually a hybrid. Playing Leon’s chapters in third-person, and Grace’s in first-person. After sampling a portion of the game in every variant. Very quickly, it became clear that the default mixed approach was absolutely the way to play. </p><p>Not only does it allow you to enjoy the benefits of both, leaping between slick third-person action and terrifying first-person horror, but it’s also narratively appropriate. Leon is a grizzled veteran who has battled (and beaten) the worst this T-Virus-infected world can throw at him already, while Grace is comparatively fresh-faced and somewhat unprepared for her dark ordeal. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="uVVT4hybTmti5p968Z76Ca" name="Resident Evil Requiem" alt="Resident Evil Requiem" src="https://cdn.mos.cms.futurecdn.net/uVVT4hybTmti5p968Z76Ca.png" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Grace’s portion of the game had me slowly creeping down low-lit corridors, nervous about what disgusting creature would pop up next (there’s plenty of nasties to encounter), while Leon’s section acted as a much-needed palate cleanser. They offered cathartic moments when I turned the tables on my tormentors and unloaded a whole load of lead into the face of any zombie foolish enough to cross my path, with a roundhouse kick for good measure. </p><p>In Resident Evil Requiem, the real answer to the choice between first-person and third-person is not to choose at all. Neither is superior, but situational instead. So, when you first boot up the game and are presented with the option, select the default setting. And if you find yourself greatly preferring one over the other, you can switch things up at any time.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-exzzaO"></div>                            </div>                            <script src="https://kwizly.com/embed/exzzaO.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/resident-evil-requiem-review">Resident Evil Requiem review</a></li><li><a href="https://www.tomsguide.com/gaming/nintendo/pokemon-at-30-every-pokemon-game-you-can-play-on-the-nintendo-switch-and-switch-2">Every Pokémon game you can play on the Nintendo Switch 2</a></li><li><a href="https://www.tomsguide.com/gaming/pc-gaming/resident-evil-requiem-with-path-tracing-is-horrifying-and-i-mean-that-as-a-compliment-to-nvidia-and-dlss-4">Resident Evil Requiem turned me into a path tracing believer</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The RAM crisis is out of control: Here's the most alarming tech products affected (so far) ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/computing/the-ram-crisis-is-so-much-bigger-than-pcs-heres-the-rest-of-the-products-caught-in-the-crossfire</link>
                                                                            <description>
                            <![CDATA[ The RAM crisis affects far more than PCs, with everything from Valve's Steam Deck to Sony's PS6 on the line. Here's the gaming gear that might be impacted the most. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">zhZEiBKJL7rT6ogC3aWxLZ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/EyjJUuKxjXzFDkrxdkQzRW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 22 Feb 2026 06:30:00 +0000</pubDate>                                                                                                                                <updated>Mon, 23 Feb 2026 13:19:00 +0000</updated>
                                                                                                                                            <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Darragh Murphy ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5QiaTSWf9FcVB7STxcdo4M.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Darragh is Tom’s Guide’s Computing Editor and is fascinated by all things bizarre in tech. This usually leads to assorted coverage varying from washing machines designed for earbuds to the wild world of laptops. Whether it&#039;s connecting Scar from The Lion King to two-factor authentication or turning his love for laptops into a fabricated rap battle from 8 Mile, he believes there’s always a quirky spin to be made.&lt;br&gt;&lt;br&gt;Darragh has previously been an Editor for Laptop Mag and a News Editor for Time Out Dubai, where he also headed the gaming and tech section. His work can be seen in Mashable, Android Police, Shortlist Dubai, Proton, theBit.nz, ReviewsFire and more. &lt;br&gt;&lt;br&gt;While laptops are his bread and butter, he’s also reviewed smartphones, monitors, speakers, docking stations and VPNs. He’s covered IFA, MWC Barcelona, the Consumer Electronics Show (&lt;a href=&quot;https://www.tomsguide.com/uk/tag/ces&quot; target=&quot;_blank&quot;&gt;CES&lt;/a&gt;) and more.&lt;br&gt;&lt;br&gt;When he&#039;s not checking out the latest devices and all things computing, he can be found going for dreaded long runs, watching terrible shark movies, and trying to find time to game.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/EyjJUuKxjXzFDkrxdkQzRW-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A single RAM stick]]></media:description>                                                            <media:text><![CDATA[A single RAM stick]]></media:text>
                                <media:title type="plain"><![CDATA[A single RAM stick]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/EyjJUuKxjXzFDkrxdkQzRW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">RAMageddon</a> is in full effect. With memory chip manufacturers prioritizing AI data centers, what we're left with is price hikes, shortages and delays on all the tech that we value the most. </p><p>Just how bad has it got? Well, before the memory shortage officially kicked into gear a few months ago, this <a href="https://www.amazon.com/G-SKILL-2x16GB-CL30-38-38-96-Desktop-Computer/dp/B0C1TKSDKR" target="_blank">32GB DDR5 RAM stick</a> could be picked up for $87. Now, it costs <strong>$484</strong>. That's just over a 450% increase, and that's <em>still </em>not the worst of it — DRAM and NAND storage memory prices have <a href="https://counterpointresearch.com/en/insights/7times-memory-price-surge-threatens-telcos-broadband-router-set-topbox-supply" target="_blank">skyrocketed by over 600%</a>. </p><p>For PC makers and enthusiasts, that's a tough blow. But if you're thinking you're in the clear, just because you don't buy RAM sticks yourself, I've got bad news: nothing is safe.  Phones, laptops, tablets, gaming consoles and yes, even Wi-Fi routers, will all be impacted by the RAM crisis. In fact, it's already taken effect. </p><p><a href="https://www.tomsguide.com/computing/buy-it-as-soon-as-you-can-lenovo-issues-urgent-warning-on-ram-crisis-spiking-prices">Companies are already scrambling</a> to scoop a dwindling supply of memory chips, with prices set to surge even higher going forward. The problem is, there's no end in sight anytime soon, as <a href="https://www.tomsguide.com/computing/someone-asked-me-today-how-long-the-dram-supply-shortage-would-last-i-may-need-to-revise-that-answer-analyst-predicts-bleak-future-for-ram-crisis">analysts</a> and even Micron itself are claiming <a href="https://www.tomsguide.com/computing/theres-just-not-enough-supply-to-go-around-micron-believes-ram-shortage-wont-improve-until-2028-at-least-until-the-ai-demand-starts-to-fade-away">we won't see any improvements until 2028</a>. Yikes. </p><p>We're in for the long haul, and we're already seeing the consequences of the biggest memory companies (SK Hynix, Micron and Samsung) pivoting supplies for an AI future. From shortages on our favorite products today to delays on the most anticipated devices, here are the biggest victims the RAM crisis has claimed (so far). </p><h2 id="valve-s-steam-deck-and-more">Valve's Steam Deck (and more)</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3625px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ePtQiRAw8M9V2QGMEyEFTG" name="Steam Deck OLED-14.jpg" alt="Steam Deck OLED" src="https://cdn.mos.cms.futurecdn.net/ePtQiRAw8M9V2QGMEyEFTG.jpg" mos="" align="middle" fullscreen="" width="3625" height="2039" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Who would have thought that a still-popular gaming handheld that released in 2022 would be so hard to get a hold of today? <a href="https://www.tomsguide.com/computing/hardware/steam-deck-oled-stock-is-drying-up-valve-confirms-and-the-ram-price-crunch-has-me-worried-for-the-steam-machine">Valve's Steam Deck is out of stock</a>,  and it's officially due to (you guessed it) “memory and storage shortages.”</p><p>Head over to <a href="https://store.steampowered.com/steamdeck" target="_blank">Steam</a> in the U.S., and you'll find that the <a href="https://www.tomsguide.com/reviews/steam-deck-oled">Steam Deck OLED</a>, along with the <a href="https://www.tomsguide.com/reviews/steam-deck-review-the-nintendo-switch-for-adults">OG Steam Deck</a>, can't be purchased. As <a href="https://store.steampowered.com/steamdeck" target="_blank">Valve's support page</a> notes, stock will be out "intermittently in some regions," although we've been <a href="https://www.tomsguide.com/gaming/handheld-gaming/steam-deck-oled-restock-im-tracking-all-inventory-so-you-dont-have-to">tracking restocks</a>, and Valve's gaming handheld hasn't shown up yet. </p><p>At the very least, every model is still available in the U.K., but who knows when stock will dry up in other regions, or how long the drought will last in those areas already affected. </p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@tomsguide/video/7607921335993502990" data-video-id="7607921335993502990" style="max-width: 605px; min-width: 325px;">                        <section>                            <a target="_blank" title="@tomsguide" href="https://www.tiktok.com/@tomsguide">@tomsguide</a>                            <p></p><a target="_blank" title="♬ Minimal for news / news suspense(1169746) - Hiraoka Kotaro" href="https://www.tiktok.com/music/Minimal-for-news-news-suspense-1169746-7055051802865862658">♬ Minimal for news / news suspense(1169746) - Hiraoka Kotaro</a></section>                    </blockquote></div>                <p>While the Steam Deck has had its moment to shine before shortages kicked in, this spells doom for everything else Valve has coming — the <a href="https://www.tomsguide.com/gaming/pc-gaming/steam-machine-vs-ps5-vs-xbox-series-x-s-vs-mac-mini-how-does-valves-new-console-compare">Steam Machine</a>, <a href="https://www.tomsguide.com/computing/vr-ar/steam-frame-will-take-over-vr-in-2026-3-key-features-i-cant-wait-for">Steam Frame</a> and Steam Controller. </p><p><a href="https://store.steampowered.com/news/group/45479024/view/625565405086220583" target="_blank">In a blog post</a>, the gaming giant revealed that its console-like PC, VR headset and gaming controller have been delayed to the “first half of the year,” as opposed to Q1 of 2026. And yes, it's due to “memory and storage shortages.” The RAM crisis is already delaying the biggest releases from Valve in years (and <a href="https://www.tomsguide.com/computing/half-life-3-and-steam-machine-could-be-delayed-and-you-can-blame-the-ram-price-crisis-for-that">maybe even the mythical Half-Life 3</a>?), but what's even more concerning is the price. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WLec9wkyEhDpZxRRLJYEqE" name="Valve Steam Machine" alt="Valve Steam Machine" src="https://cdn.mos.cms.futurecdn.net/WLec9wkyEhDpZxRRLJYEqE.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Valve)</span></figcaption></figure><p>The cost of the Steam Machine and the Steam Frame is still up in the air, and while Valve may have already had a fixed price for its upcoming tech, the company will "revisit" the price because of the memory shortage. This can only signal one thing: a price hike. </p><p>Many were already guessing the Steam Machine and Frame would be expensive, more so than the gaming consoles and VR headsets we see today. But now? We may have to add an extra $100 (or more) to what we imagined. As in, $999 for the Steam Machine and $799 for the Steam Frame. These are all just predictions, but considering the Steam Deck has already been affected by the RAM crisis, this only raises concerns about Valve's anticipated hardware. </p><h2 id="nvidia-skips-gaming-gpus">Nvidia skips gaming GPUs</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5712px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xWV7Xvua8aPb7TaLHKQ5Jj" name="Nvidia RTX 50 series GPU" alt="Nvidia RTX 50-series GPU held in hand with Nvidia logo on green background" src="https://cdn.mos.cms.futurecdn.net/xWV7Xvua8aPb7TaLHKQ5Jj.jpg" mos="" align="middle" fullscreen="" width="5712" height="3213" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Tom's Guide)</span></figcaption></figure><p>Even Nvidia, the juggernaut that is all-in on AI, is struggling with the memory shortage. For the first time in three decades, <a href="https://www.tomsguide.com/computing/nvidia-wont-release-new-gaming-gpu-for-first-year-in-three-decades-due-to-ram-shortage-and-its-also-slashing-rtx-50-production">Team Green won't release a new gaming GPU this year</a>. </p><p>There had been a lot of talk about when we'd see <a href="https://www.tomsguide.com/computing/gpus/nvidia-rtx-50-super-gpu-rumors-everything-we-know-so-far">RTX 50 Super GPUs</a>, with rumors even pointing to a release of the RTX 5070 Super, RTX 5070 Ti Super, and RTX 5080 Super in late 2025. That didn't happen, but even at CES 2026, when Nvidia usually makes its big announcements, there were no new GPUs to be seen. </p><p>Instead, we got a first look at <a href="https://www.tomsguide.com/news/live/nvidia-ces-2026-keynote-live">Vera Rubin chips</a>, which are gearing up to power AI data centers and the like. It's expected to use HBM4 (High Bandwidth Memory 4), which is exactly what manufacturers are prioritizing over DRAM. </p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="QCKTTLwmSEEx5S2XAMBXYC" name="RTX 5070 vs RTX 5070 Ti" alt="RTX 5070 vs RTX 5070 Ti" src="https://cdn.mos.cms.futurecdn.net/QCKTTLwmSEEx5S2XAMBXYC.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>So, instead of giving more previous VRAM to its anticipated set of RTX 50 Super graphics cards (which we'd love to see in the <a href="https://www.tomsguide.com/computing/gpus/nvidia-geforce-rtx-5070-review">RTX 5070</a> and <a href="https://www.tomsguide.com/computing/gpus/nvidia-geforce-rtx-5070-ti-review">RTX 5070 Ti</a>), Nvidia shift gears to fuel the AI train. </p><p>As it turns out, Nvidia has indefinitely delayed "Kicker" — the code name for the incremental RTX 50-series refresh, likely the Super cards that we expected to see this year. Even though the designs were reportedly finished, the company decided that it couldn't justify the memory costs.</p><p>So, what does this mean for the inevitable <a href="https://www.tomsguide.com/computing/gpus/nvidia-rtx-60-series-gpus-rumors-leaks-and-everything-we-know-so-far">RTX 60-series GPUs</a>? Well, a leak indicated we could see these <a href="https://www.tomsguide.com/computing/gpus/nvidia-rtx-60-series-in-early-2027-the-leak-sounds-huge-but-the-numbers-dont-add-up">debut in early 2027</a>, but with the ongoing memory crisis already taking its next Super-series off the list this year, there's good reason to believe we won't see these anytime soon. </p><h2 id="ps6-pushed-back">PS6 pushed back?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="y5T6EzpDkzjkm8NbGVewWW" name="PS5 Pro-9" alt="The PlayStation logo on a PS5 Pro" src="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>We've already seen the price of every <a href="https://www.tomsguide.com/reviews/ps5">PS5</a> model <a href="https://www.tomsguide.com/gaming/playstation/every-ps5-model-is-getting-a-price-hike-in-the-u-s-and-todays-the-last-day-to-get-one-cheaper">increase by $50 last year</a>, due to a "backdrop of a challenging economic environment" at the time, but so far, we haven't seen Sony's console be largely affected by the memory and storage shortage. As for its next-gen model? It could be further away than we first thought. </p><p>According to a report from <a href="https://www.bloomberg.com/news/articles/2026-02-15/rampant-ai-demand-for-memory-is-fueling-a-growing-chip-crisis" target="_blank">Bloomberg</a>, Sony is considering <a href="https://www.tomsguide.com/gaming/rameggedon-comes-for-gaming-as-nintendo-and-playstation-mull-price-hikes-and-delays">pushing the launch of its PS6 back to 2028</a> at the earliest, all the way to 2029. And all signs are pointing to the RAM crisis. While rumors have claimed we may see the PS6 in 2028 anyway, some indicate a late 2027 release, which would line up with <a href="https://www.tomsguide.com/gaming/xbox/amd-hinted-the-next-gen-xbox-could-launch-in-2027-heres-why-im-not-convinced">AMD's hint that a next-gen Xbox is landing next year</a>. </p><p>To put this into perspective, the PS4 launched in November 2013, while the latest PS5 arrived in November 2020. The console cycle is generally seven years, and RAMageddon appears to be disrupting the flow already — possibly by two years. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-Xjx5MW"></div>                            </div>                            <script src="https://kwizly.com/embed/Xjx5MW.js" async></script><p>With rumors suggesting the <a href="https://www.tomsguide.com/gaming/ps6-rumored-for-massive-30gb-ram-upgrade-as-next-xbox-will-pivot-to-pc-hybrid-what-we-know-so-far">PS6 is expected to come equipped with 32GB of DDR7 RAM</a> to power the next generation of gaming, which is double what the PS5 has (16GB GDDR6), we can start to piece together why Sony would delay the launch of its new console. </p><p>During the <a href="https://www.tomsguide.com/news/ps6-release-date-tipped-in-activision-blizzard-trial-what-we-know">Activision Blizzard trial back in 2023</a>, documents revealed that the next Xbox and PS6 were set for 2028. But times have changed, and the scarcity of RAM to power these consoles is making it harder for companies to know when the right time is to release their fresh products. </p><p>Remember how hard it was to get a PS5 when it launched? Now imagine Sony releasing its PS6 with a limited supply of RAM; the wait for restocks would be never-ending. </p><h2 id="nintendo-switch-2-price-hikes">Nintendo Switch 2 price hikes?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="H5XCv25fUwCBV3jkkWsiDZ" name="Nintendo_switch_2_ 13.JPG" alt="A Nintendo Switch 2 handheld console" src="https://cdn.mos.cms.futurecdn.net/H5XCv25fUwCBV3jkkWsiDZ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>The <a href="https://www.tomsguide.com/gaming/nintendo/nintendo-switch-2-console-review">Nintendo Switch 2</a> already had to deal with <a href="https://www.tomsguide.com/computing/buying-cheap-tech-could-take-a-hit-in-2025-trumps-tariffs-explained">U.S. tariffs</a>, and many weren't happy with its price tag. Unfortunately, the RAM crisis may make matters worse. </p><p>Despite a successful launch, becoming the fastest-selling console of all time, <a href="https://www.tomsguide.com/gaming/rameggedon-comes-for-gaming-as-nintendo-and-playstation-mull-price-hikes-and-delays">Nintendo is considering raising prices this year</a>. Many had already expected this to happen, following in the footsteps of PlayStation and Xbox raising the cost of their consoles last year, but the memory shortage (and tariffs) appears to be accelerating this. </p><p>Analysts believe the <a href="https://www.tomsguide.com/gaming/nintendo/the-switch-2-is-set-to-follow-in-sony-and-microsofts-footsteps-with-its-own-price-hike-possible-bad-news-for-nintendos-red-hot-console-but-theres-a-silver-lining">Switch 2 will receive a $50 price bump</a>, taking it from $449 to $499 (the price for the Mario Kart World bundle). And this year, during an earnings call, Nintendo President Shuntaro Furukawa raised concerns about the <a href="https://www.tomsguide.com/gaming/nintendo/the-market-environment-is-indeed-challenging-nintendo-president-sounds-the-alarm-on-pressure-caused-by-surging-memory-prices-as-switch-2-forecast-stays-at-19-million">"pressure" caused by surging memory prices</a>. </p><p>"The market environment is indeed challenging. But we are engaging in long-term discussions with our suppliers to ensure we maintain a stable intake of chips,” Furukawa noted. That's a promising outlook, but many companies are vying for memory these days, so it only seems inevitable that Nintendo will eventually bump up the price of its Switch 2. </p><p>My advice? If there's a particular product you're interested in (in this case, the Switch 2), buy it now. With the RAM crisis already affecting the biggest products on the market, prices are only going to soar, and it will be a while before we see next-gen products come to shelves. Even if they do arrive, don't expect a huge supply. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/lenovo-is-planning-another-pc-price-hike-in-march-and-im-all-out-of-patience-with-this-ai-bubble">Lenovo is planning another PC price hike in March — and I’m all out of patience with this AI bubble</a></li><li><a href="https://www.tomsguide.com/computing/someone-asked-me-today-how-long-the-dram-supply-shortage-would-last-i-may-need-to-revise-that-answer-analyst-predicts-bleak-future-for-ram-crisis">'Someone asked me today how long the DRAM supply shortage would last...I may need to revise that answer': analyst predicts bleak future for RAM crisis</a></li><li><a href="https://www.tomsguide.com/gaming/xbox/amd-hinted-the-next-gen-xbox-could-launch-in-2027-heres-why-im-not-convinced">AMD just hinted the next-gen Xbox could ‘launch in 2027’ — here’s why I’m not convinced</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ RAMeggedon comes for gaming as Nintendo and PlayStation mull price hikes and delays ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/rameggedon-comes-for-gaming-as-nintendo-and-playstation-mull-price-hikes-and-delays</link>
                                                                            <description>
                            <![CDATA[ Memory shortages are starting to impact gaming, with Nintendo and PlayStation potentially making major decisions regarding their consoles. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ruaq42iJFxCpsg7wbbNXoQ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/2uQ4GsqLJHm3CW4dwURXeb-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 17 Feb 2026 20:02:15 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/2uQ4GsqLJHm3CW4dwURXeb-1280-80.jpg">
                                                            <media:credit><![CDATA[Stephen Lambrechts / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Nintendo Switch 2 propped up on a kitchen table]]></media:description>                                                            <media:text><![CDATA[The Nintendo Switch 2 propped up on a kitchen table]]></media:text>
                                <media:title type="plain"><![CDATA[The Nintendo Switch 2 propped up on a kitchen table]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/2uQ4GsqLJHm3CW4dwURXeb-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The greed of AI is <a href="https://www.tomsguide.com/computing/hardware/ddr5-ram-kit-deals-that-beat-the-price-crisis">impacting prices and release dates</a> across the tech world, from phones and laptops to gaming devices. This week, Valve <a href="https://www.tomsguide.com/computing/hardware/steam-deck-oled-stock-is-drying-up-valve-confirms-and-the-ram-price-crunch-has-me-worried-for-the-steam-machine">confirmed that Steam Deck</a> handheld consoles will be available intermittently due to a memory shortage.</p><p>Now, a new <a href="https://www.bloomberg.com/news/articles/2026-02-15/rampant-ai-demand-for-memory-is-fueling-a-growing-chip-crisis" target="_blank">report from Bloomberg</a> claims that the <a href="https://www.tomsguide.com/gaming/nintendo/ive-spent-24-hours-with-the-nintendo-switch-2-for-review-heres-5-things-i-love-and-2-things-i-dont">Nintendo Switch 2 </a>could see increased prices, and that Sony is considering delaying the next-generation <a href="https://www.tomsguide.com/gaming/playstation/ps6-leaks-and-rumors">PlayStation 6</a>. The overall report is worth a read for a look at how companies are responding to the shortage from memory makers to their customers.</p><p>The relevant portion comes toward the end, where Bloomberg reports that Nintendo is considering raising prices this year.  </p><h2 id="switch-2-hike-is-likely-coming">Switch 2 hike is likely coming</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3191px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nx3ypiZuGqcV3petw9MnG" name="switch-2-nyc-shoot-02" alt="Nintendo Switch 2 displaying Mario Kart World" src="https://cdn.mos.cms.futurecdn.net/nx3ypiZuGqcV3petw9MnG.jpg" mos="" align="middle" fullscreen="" width="3191" height="1795" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future / Tom's Guide)</span></figcaption></figure><p>This isn't the first time we've heard rumors or speculation that Nintendo will increase the prices of its latest console. In January, a<a href="https://www.tomsguide.com/gaming/nintendo/the-switch-2-is-set-to-follow-in-sony-and-microsofts-footsteps-with-its-own-price-hike-possible-bad-news-for-nintendos-red-hot-console-but-theres-a-silver-lining"> reputable research firm predicted</a> a hike was coming this year.</p><p>Nintendo President Shintaro Furukawa didn't rule out raising prices in a separate January<a href="https://www.tomsguide.com/gaming/nintendo/our-basic-policy-is-to-recognize-tariffs-as-cost-and-pass-them-on-to-prices-nintendo-president-shares-worrying-comments-about-switch-2-price-hike"> interview with Kyoto Shimbun</a>. But he noted that the company is trying to get people into the ecosystem.</p><p><a href="https://www.tomsguide.com/gaming/nintendo/the-market-environment-is-indeed-challenging-nintendo-president-sounds-the-alarm-on-pressure-caused-by-surging-memory-prices-as-switch-2-forecast-stays-at-19-million">Nintendo execs sounded the alarm</a> in early February during its earnings calls. President Shuntaro Furukawa highlighted U.S. tariffs as an issue affecting Nintendo while also raising concerns about rising memory costs.</p><p>"The market environment is indeed challenging. But we are engaging in long-term discussions with our suppliers to ensure we maintain a stable intake of chips,” Furukawa said at the time.</p><p>Furukawa has repeatedly asserted that Nintendo has some cushion in memory, at least for 2026. After this year, that situation is more than likely to change.</p><h2 id="delayed-ps6">Delayed PS6</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FoDuvVWKYx8aq4aJJJG4CL" name="PlayStation Network passkey.jpg" alt="PlayStation passkey for PS5" src="https://cdn.mos.cms.futurecdn.net/FoDuvVWKYx8aq4aJJJG4CL.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Bloomberg also claimed that Sony is considering pushing the launch of the PS6 to 2028 or 2029. <a href="https://www.tomsguide.com/gaming/playstation/ps6-leaks-and-rumors">Most rumors currently</a> have the PS6 debuting in 2028, at the earliest in late 2027.</p><p>How memory shortages impact Sony will be interesting to track, as the company was recently rumored to <a href="https://www.tomsguide.com/gaming/ps6-rumored-for-massive-30gb-ram-upgrade-as-next-xbox-will-pivot-to-pc-hybrid-what-we-know-so-far">include up to 32GB of RAM</a> in the PS6. The initial worry was that a leap in memory would make the PS6 more expensive, but now it's not clear when the console will even launch.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-O95opO"></div>                            </div>                            <script src="https://kwizly.com/embed/O95opO.js" async></script><p>Rumors have linked the PS6 closely to the next Xbox, which has been <a href="https://www.tomsguide.com/gaming/xbox/amd-hinted-the-next-gen-xbox-could-launch-in-2027-heres-why-im-not-convinced">tipped to launch next year</a>. The difference, though, is that Sony is expected to stick to a moretraditional console launch with a main living room box alongside a decently powerful handheld console.</p><p>Xbox is rumored to have a standard console but is also allegedly leaning into its "everything is an Xbox" marketing. That means a new console, a potential handheld device, and <a href="https://www.tomsguide.com/gaming/ps6-rumored-for-massive-30gb-ram-upgrade-as-next-xbox-will-pivot-to-pc-hybrid-what-we-know-so-far">reportedly Xboxes made by third-party</a> OEMs like Asus and Lenovo. That could give Microsoft more leeway to launch earlier than the PlayStation, but even Microsoft could still be constrained by memory constraints.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/nintendo/best-nintendo-switch-2-games">Best Nintendo Switch 2 games</a></li><li><a href="https://www.tomsguide.com/gaming/gaming-peripherals/turtle-beach-made-an-all-in-one-budget-racing-wheel-that-feels-like-a-cheat-code-and-it-helped-me-beat-peak-max-verstappen">Turtle Beach made an all-in-one budget racing wheel that 'feels like a cheat code' — and it helped me beat peak Max Verstappen</a></li><li><a href="https://www.tomsguide.com/gaming/gaming-peripherals/i-tested-the-razer-raiju-v3-pro-for-a-week-heres-why-its-the-best-ps5-pro-controller">I tested the Razer Raiju V3 Pro for a week — here’s why it’s the best PS5 'pro' controller</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 9 best PS5 President’s Day deals we’ve found so far: from discounted consoles to 50% off must-play games ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/9-best-ps5-presidents-day-deals-weve-found-so-far-from-discounted-consoles-to-50-percent-off-must-play-games</link>
                                                                            <description>
                            <![CDATA[ Shopping for the best PS5 President's Day deals? Here are the best discounts remaining on PS5 games, consoles, and more  this holiday weekend. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">4AKdCxxamWNqryeDNiBLgL</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/XTer9DwF4rd9ZzdWEqnjQP-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 14 Feb 2026 19:55:57 +0000</pubDate>                                                                                                                                <updated>Sat, 14 Feb 2026 19:56:53 +0000</updated>
                                                                                                                                            <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                                    <dc:creator><![CDATA[ Alyse Stanley ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/BxNnQuBWRHqkv5xWZsjrjc.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Alyse Stanley is a news editor at Tom’s Guide, overseeing weekend coverage and writing about the latest in tech, gaming, and entertainment. Before Tom’s Guide, Alyse worked as an editor for the Washington Post’s sunsetted video game section, Launcher, where she also wrote about indie games you shouldn’t miss, how to tackle your gaming backlog, and all things Nintendo. She previously led Gizmodo’s weekend news desk covering breaking tech news and has written game reviews and features for outlets like Polygon, Unwinnable, and Rock, Paper, Shotgun. A recent Chicago-area transplant born and raised in Virginia, Alyse is a big fan of horror movies, cartoons, and roller skating. She&#039;s also a puzzle fan and can often be found contributing to the NYT Connections coverage on Tom&#039;s Guide &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/XTer9DwF4rd9ZzdWEqnjQP-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[PS5 Slim]]></media:description>                                                            <media:text><![CDATA[PS5 Slim]]></media:text>
                                <media:title type="plain"><![CDATA[PS5 Slim]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/XTer9DwF4rd9ZzdWEqnjQP-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Given all the big announcements at last week's <a href="https://www.tomsguide.com/news/live/ps5-state-of-play-february-2026-live-updates">State of Play February 2026</a>, I've been excited to fire up my PlayStation 5 again after ditching it for the Switch 2 these past few months. President's Day weekend isn't usually as big a retail holiday as Black Friday or Cyber Monday, so I was surprised to see plenty of great gaming deals going on right now. </p><p>If you haven't been able to get your hands on a PS5 yet — or if you're aiming to snag a second console for yourself — now is your chance to finally score one at a discount. Our favorite deal today is the $100 discount up for grabs on the PS5 Slim at <a href="https://www.bestbuy.com/product/playstation-5-digital-edition-825gb-fortnite-flowering-chaos-bundle-playstation-5/JXHQ37TP84/sku/6647077" target="_blank" rel="nofollow">Best Buy</a> and <a href="https://www.walmart.com/ip/PS5-Standard-AE-Bundle-nbsp-Limited-Edition-Bundle/17849866691" target="_blank" rel="nofollow">Walmart</a>.  Plus, you can find some of the very best PS5 games at bargain prices right now, including <a href="https://www.amazon.com/Warhammer-40-000-Space-Marine-PlayStation/dp/B0CVSDJNKS/" target="_blank" rel="nofollow">Warhammer 40,000 Space Marine 2 for $29</a>, it's lowest price yet, or <a href="https://www.amazon.com/MARVELS-SPIDER-MAN-2-Standard-PlayStation-5/dp/B0C7WQRCPB" target="_blank" rel="nofollow">Marvel's Spider-Man 2 for just $47.</a></p><p>For even more ways to save, we've rounded up <a href="https://www.tomsguide.com/gaming/nintendo/nintendo-switch-2-games-are-too-expensive-and-im-tired-of-it-snag-these-presidents-day-switch-deals-while-you-can">the best Switch 2 deals this President's Day</a>. Also check out our <a href="https://www.tomsguide.com/live/news/i-was-going-to-skip-presidents-day-sales-this-year-but-these-deals-are-worth-it">Presidents' Day sale live blog</a> for all best deals this holiday weekend.</p><h3 class="article-body__section" id="section-president-s-day-ps5-deals-quick-links"><span>President's Day PS5 Deals - Quick links</span></h3><ul><li><strong>PS5 Slim bundle (Digital Edition): </strong><a href="https://www.bestbuy.com/product/playstation-5-digital-edition-825gb-fortnite-flowering-chaos-bundle-playstation-5/JXHQ37TP84/sku/6647077" target="_blank" rel="nofollow"><strong>was $499 now $399</strong></a></li><li><strong>Sonic X Shadow Generations: </strong><a href="https://www.amazon.com/Sonic-X-Shadow-Generations-PlayStation-5/dp/B0D6JYR4M7/" target="_blank" rel="nofollow"><strong>was $49 now $13</strong></a></li><li><strong>Warhammer 40,000 Space Marine 2: </strong><a href="https://www.amazon.com/Warhammer-40-000-Space-Marine-PlayStation/dp/B0CVSDJNKS/" target="_blank" rel="nofollow"><strong>was $69 now $29</strong></a></li><li><strong>Elden Ring: </strong><a href="https://www.amazon.com/Elden-Ring-PlayStation-5/dp/B09743F8P6?th=1" target="_blank" rel="nofollow"><strong>was $49 now $33</strong></a></li><li><strong>Assassin's Creed Shadows: </strong><a href="https://www.amazon.com/Assassins-Creed-Shadows-Limited-Exclusive-PlayStation/dp/B0D47WTKPM"><strong>was $69 now $34</strong></a></li></ul><h3 class="article-body__section" id="section-ps5-console-deals"><span>PS5 console deals</span></h3><div class="product"><a data-dimension112="dc54f1e2-19f2-44f7-a520-436d3d1f0f7f" data-action="Deal Block" data-label="The PS5 (Digital Edition) is the same great console, just minus the Blu-ray disc drive. While this model cannot play physical games, it is $50 cheaper, and the lack of a chunky drive improves the console's overall aesthetic. Just be warned, this deal is on the new model of the PS5 Slim, which drops the SSD down to 825GB. This bundle includes 8 PlayStation exclusive cosmetics for Fortnite and 1,000 V-Bucks." data-dimension48="The PS5 (Digital Edition) is the same great console, just minus the Blu-ray disc drive. While this model cannot play physical games, it is $50 cheaper, and the lack of a chunky drive improves the console's overall aesthetic. Just be warned, this deal is on the new model of the PS5 Slim, which drops the SSD down to 825GB. This bundle includes 8 PlayStation exclusive cosmetics for Fortnite and 1,000 V-Bucks." data-dimension25="$399" href="https://www.bestbuy.com/product/playstation-5-digital-edition-825gb-fortnite-flowering-chaos-bundle-playstation-5/JXHQ37TP84/sku/6647077" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1126px;"><p class="vanilla-image-block" style="padding-top:47.51%;"><img id="4NKiFvYXPJcxga39Dbpkx3" name="ps5 bundle" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/4NKiFvYXPJcxga39Dbpkx3.png" mos="" align="middle" fullscreen="" width="1126" height="535" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The PS5 (Digital Edition) is the same great console, just minus the Blu-ray disc drive. While this model cannot play physical games, it is $50 cheaper, and the lack of a chunky drive improves the console's overall aesthetic. Just be warned, this deal is on the <em>new </em>model of the PS5 Slim, which drops the SSD down to 825GB. This bundle includes 8 PlayStation exclusive cosmetics for Fortnite and 1,000 V-Bucks.<a class="view-deal button" href="https://www.bestbuy.com/product/playstation-5-digital-edition-825gb-fortnite-flowering-chaos-bundle-playstation-5/JXHQ37TP84/sku/6647077" target="_blank" rel="nofollow" data-dimension112="dc54f1e2-19f2-44f7-a520-436d3d1f0f7f" data-action="Deal Block" data-label="The PS5 (Digital Edition) is the same great console, just minus the Blu-ray disc drive. While this model cannot play physical games, it is $50 cheaper, and the lack of a chunky drive improves the console's overall aesthetic. Just be warned, this deal is on the new model of the PS5 Slim, which drops the SSD down to 825GB. This bundle includes 8 PlayStation exclusive cosmetics for Fortnite and 1,000 V-Bucks." data-dimension48="The PS5 (Digital Edition) is the same great console, just minus the Blu-ray disc drive. While this model cannot play physical games, it is $50 cheaper, and the lack of a chunky drive improves the console's overall aesthetic. Just be warned, this deal is on the new model of the PS5 Slim, which drops the SSD down to 825GB. This bundle includes 8 PlayStation exclusive cosmetics for Fortnite and 1,000 V-Bucks." data-dimension25="$399">View Deal</a></p></div><div class="product"><a data-dimension112="92d64ec4-3af6-4aaa-9a6a-44806fd50ab3" data-action="Deal Block" data-label="If you've gotta have a disc drive, you can also save $100 off this version of the same PS5 bundle. It's the same great PlayStation console in a slimmer form factor and packs a larger 1TB SSD. The PS5 represents the pinnacle of Sony's gaming platform to date and offers a near-unbeatable library of must-play games." data-dimension48="If you've gotta have a disc drive, you can also save $100 off this version of the same PS5 bundle. It's the same great PlayStation console in a slimmer form factor and packs a larger 1TB SSD. The PS5 represents the pinnacle of Sony's gaming platform to date and offers a near-unbeatable library of must-play games." data-dimension25="$459" href="https://www.walmart.com/ip/PS5-Standard-AE-Bundle-nbsp-Limited-Edition-Bundle/17849866691" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:906px;"><p class="vanilla-image-block" style="padding-top:65.34%;"><img id="A4HHgCPVY79Zi7F9CQvCUc" name="ps5 disc" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/A4HHgCPVY79Zi7F9CQvCUc.png" mos="" align="middle" fullscreen="" width="906" height="592" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>If you've gotta have a disc drive, you can also save $100 off this version of the same PS5 bundle. It's the same great PlayStation console in a slimmer form factor and packs a larger 1TB SSD. The PS5 represents the pinnacle of Sony's gaming platform to date and offers a near-unbeatable library of must-play games.<a class="view-deal button" href="https://www.walmart.com/ip/PS5-Standard-AE-Bundle-nbsp-Limited-Edition-Bundle/17849866691" target="_blank" rel="nofollow" data-dimension112="92d64ec4-3af6-4aaa-9a6a-44806fd50ab3" data-action="Deal Block" data-label="If you've gotta have a disc drive, you can also save $100 off this version of the same PS5 bundle. It's the same great PlayStation console in a slimmer form factor and packs a larger 1TB SSD. The PS5 represents the pinnacle of Sony's gaming platform to date and offers a near-unbeatable library of must-play games." data-dimension48="If you've gotta have a disc drive, you can also save $100 off this version of the same PS5 bundle. It's the same great PlayStation console in a slimmer form factor and packs a larger 1TB SSD. The PS5 represents the pinnacle of Sony's gaming platform to date and offers a near-unbeatable library of must-play games." data-dimension25="$459">View Deal</a></p></div><h3 class="article-body__section" id="section-ps5-game-deals"><span>PS5 game deals</span></h3><div class="product"><a data-dimension112="0718f79b-ef7b-41b4-a22f-c6e696fb3ab9" data-action="Deal Block" data-label="Nintendo Switch" data-dimension48="Nintendo Switch" data-dimension25="$13" href="https://www.amazon.com/Sonic-X-Shadow-Generations-PlayStation-5/dp/B0D6JYR4M7/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1199px;"><p class="vanilla-image-block" style="padding-top:125.10%;"><img id="xfKBdRYGCqDAfcCBeTnbr3" name="81iEU3zUKcL._AC_SL1500_.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xfKBdRYGCqDAfcCBeTnbr3.jpg" mos="" align="middle" fullscreen="" width="1199" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Right now, you can get a high-speed Sonic the Hedgehog adventure for less, as Sonic X Shadow Generations is $13 this holiday weekend. This remasters 2011's Sonic Generations and puts the titular anti-hero in the limelight in a brand new adventure of his own, giving you plenty of levels and challenges to blaze through as either the blue blur or his edgier foe. It's also worth noting that the PS5 version is still cheaper than either the <a href="https://www.amazon.com/Sonic-X-Shadow-Generations-Xbox/dp/B0D6JKTRHP/?th=1" target="_blank" rel="nofollow" data-dimension112="0718f79b-ef7b-41b4-a22f-c6e696fb3ab9" data-action="Deal Block" data-label="Nintendo Switch" data-dimension48="Nintendo Switch" data-dimension25="$13">Nintendo Switch</a> or <a href="https://www.amazon.com/Sonic-X-Shadow-Generations-Xbox/dp/B0F663CWT8/?th=1" target="_blank" rel="nofollow">Switch 2 edition</a>.<a class="view-deal button" href="https://www.amazon.com/Sonic-X-Shadow-Generations-PlayStation-5/dp/B0D6JYR4M7/" target="_blank" rel="nofollow" data-dimension112="0718f79b-ef7b-41b4-a22f-c6e696fb3ab9" data-action="Deal Block" data-label="Nintendo Switch" data-dimension48="Nintendo Switch" data-dimension25="$13">View Deal</a></p></div><div class="product"><a data-dimension112="086b38c3-1faf-46f2-914a-beee6c1b70f3" data-action="Deal Block" data-label="Elden Ring" data-dimension48="Elden Ring" data-dimension25="$33" href="https://www.amazon.com/Elden-Ring-PlayStation-5/dp/B09743F8P6?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:174px;"><p class="vanilla-image-block" style="padding-top:125.29%;"><img id="zd567pTzz5zVHzRH4YjqqQ" name="81h2WhI4dtL._AC_UY218_.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/zd567pTzz5zVHzRH4YjqqQ.jpg" mos="" align="middle" fullscreen="" width="174" height="218" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>If you're yet to venture into the Lands Between and experience From Software's vast and challenging open-world action-RPG, now's the perfect chance: <a href="https://www.tomsguide.com/reviews/elden-ring" data-dimension112="086b38c3-1faf-46f2-914a-beee6c1b70f3" data-action="Deal Block" data-label="Elden Ring" data-dimension48="Elden Ring" data-dimension25="$33">Elden Ring</a> is over 30% off for President's Day. Play as a Tarnished, choose your preferred combat build, and roam around Limgrave and beyond, exploring this huge dark fantasy world and facing down a ton of tough combat encounters and even tougher bosses as you set out to become the Elden Lord.<a class="view-deal button" href="https://www.amazon.com/Elden-Ring-PlayStation-5/dp/B09743F8P6?th=1" target="_blank" rel="nofollow" data-dimension112="086b38c3-1faf-46f2-914a-beee6c1b70f3" data-action="Deal Block" data-label="Elden Ring" data-dimension48="Elden Ring" data-dimension25="$33">View Deal</a></p></div><div class="product"><a data-dimension112="1c246717-c09e-4ccb-8b0b-9af51089b18d" data-action="Deal Block" data-label="Assassin's Creed Shadows" data-dimension48="Assassin's Creed Shadows" data-dimension25="$34" href="https://www.amazon.com/Assassins-Creed-Shadows-Limited-Exclusive-PlayStation/dp/B0D47WTKPM" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1158px;"><p class="vanilla-image-block" style="padding-top:129.53%;"><img id="tEFopvifi8tQ9BfBHB9rUF" name="81yVcGESG9L._SL1500_" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/tEFopvifi8tQ9BfBHB9rUF.jpg" mos="" align="middle" fullscreen="" width="1158" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Step into the shoes of shinobi assassin, Naoe, and legendary samurai, Yasuke, for less in <a href="https://www.tomsguide.com/gaming/assassins-creed-shadows-review" target="_blank" data-dimension112="1c246717-c09e-4ccb-8b0b-9af51089b18d" data-action="Deal Block" data-label="Assassin's Creed Shadows" data-dimension48="Assassin's Creed Shadows" data-dimension25="$34">Assassin's Creed Shadows</a>, the 2025 installment of Ubisoft's historical action-adventure series. Explore the open world of feudal Japan and hop between these two characters to explore and experience that world using two radically different playstyles: stealth or strength, shadows or steel. This Only At Amazon edition also includes the Sekiryu Character Pack, alongside the full game.<a class="view-deal button" href="https://www.amazon.com/Assassins-Creed-Shadows-Limited-Exclusive-PlayStation/dp/B0D47WTKPM" target="_blank" rel="nofollow" data-dimension112="1c246717-c09e-4ccb-8b0b-9af51089b18d" data-action="Deal Block" data-label="Assassin's Creed Shadows" data-dimension48="Assassin's Creed Shadows" data-dimension25="$34">View Deal</a></p></div><div class="product"><a data-dimension112="4baf3d55-f56e-4fd9-be83-2e90b7816573" data-action="Deal Block" data-label="Horizon Forbidden West" data-dimension48="Horizon Forbidden West" data-dimension25="$29" href="https://www.gamestop.com/video-games/products/horizon-forbidden-west-launch-edition---playstation-5/309470.html" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1298px;"><p class="vanilla-image-block" style="padding-top:115.56%;"><img id="6annQb7WsWazXeQxkxyuTF" name="horizon-forbidden-west-ps5-box-art.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/6annQb7WsWazXeQxkxyuTF.jpg" mos="" align="middle" fullscreen="" width="1298" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The sequel to Horizon Zero Dawn on the PS4, <a href="https://www.tomsguide.com/reviews/horizon-forbidden-west" data-dimension112="4baf3d55-f56e-4fd9-be83-2e90b7816573" data-action="Deal Block" data-label="Horizon Forbidden West" data-dimension48="Horizon Forbidden West" data-dimension25="$29">Horizon Forbidden West</a> takes everything that was great about its predecessor and expands upon it. In this open-world action/adventure game, you take control of Aloy: a warrior in the post-apocalyptic United States that has been reclaimed by nature. There, she must contend with animal-like machines, as well as cunning human foes, as she ventures from her homeland towards the coast of the Pacific.<a class="view-deal button" href="https://www.gamestop.com/video-games/products/horizon-forbidden-west-launch-edition---playstation-5/309470.html" target="_blank" rel="nofollow" data-dimension112="4baf3d55-f56e-4fd9-be83-2e90b7816573" data-action="Deal Block" data-label="Horizon Forbidden West" data-dimension48="Horizon Forbidden West" data-dimension25="$29">View Deal</a></p></div><div class="product"><a data-dimension112="722e7652-cd4b-4fd3-b620-02f53e2ecc8a" data-action="Deal Block" data-label="Marvel's Spider-Man 2" data-dimension48="Marvel's Spider-Man 2" data-dimension25="$47" href="https://www.amazon.com/MARVELS-SPIDER-MAN-2-Standard-PlayStation-5/dp/B0C7WQRCPB" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:170px;"><p class="vanilla-image-block" style="padding-top:128.24%;"><img id="vEvUQJEzcdskdAMvPf2Qzj" name="81WUPcfQ9OL._AC_UY218_.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/vEvUQJEzcdskdAMvPf2Qzj.jpg" mos="" align="middle" fullscreen="" width="170" height="218" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.tomsguide.com/reviews/spider-man-2" data-dimension112="722e7652-cd4b-4fd3-b620-02f53e2ecc8a" data-action="Deal Block" data-label="Marvel's Spider-Man 2" data-dimension48="Marvel's Spider-Man 2" data-dimension25="$47">Marvel's Spider-Man 2</a> on PS5 sees Peter Parker and Miles Morales web-swinging into action for another stellar superhero romp that plays across Marvel's New York. Swap between the Spider-Men and deploy their new powers as you take on new villains from Spidey's rogues' gallery in this excellent action game that looks truly stunning on PS5. <a class="view-deal button" href="https://www.amazon.com/MARVELS-SPIDER-MAN-2-Standard-PlayStation-5/dp/B0C7WQRCPB" target="_blank" rel="nofollow" data-dimension112="722e7652-cd4b-4fd3-b620-02f53e2ecc8a" data-action="Deal Block" data-label="Marvel's Spider-Man 2" data-dimension48="Marvel's Spider-Man 2" data-dimension25="$47">View Deal</a></p></div><div class="product"><a data-dimension112="6763c47a-2204-4e78-b0b5-64bd68f4b212" data-action="Deal Block" data-label="God of War Ragnarök" data-dimension48="God of War Ragnarök" data-dimension25="$36" href="https://www.amazon.com/God-War-Ragnar%C3%B6k-PlayStation-5/dp/B0B61YDF5V" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:342px;"><p class="vanilla-image-block" style="padding-top:121.05%;"><img id="pLfkNWvA5iHK5Lz8sXQqaa" name="god-of-war-ragnarok-box-art.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/pLfkNWvA5iHK5Lz8sXQqaa.jpg" mos="" align="middle" fullscreen="" width="342" height="414" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The sequel to one of the most acclaimed PlayStation games of all time, <a href="https://www.tomsguide.com/reviews/god-of-war-ragnarok" data-dimension112="6763c47a-2204-4e78-b0b5-64bd68f4b212" data-action="Deal Block" data-label="God of War Ragnarök" data-dimension48="God of War Ragnarök" data-dimension25="$36">God of War Ragnarök</a> sees father and son duo Kratos and Atreus embark on another epic journey as they travel across all Nine Realms of Norse mythology. Enjoy visceral combat against a multitude of foes, as well as rewarding exploration and a highly cinematic story that culminates in a stunning finale that you won't soon forget.<a class="view-deal button" href="https://www.amazon.com/God-War-Ragnar%C3%B6k-PlayStation-5/dp/B0B61YDF5V" target="_blank" rel="nofollow" data-dimension112="6763c47a-2204-4e78-b0b5-64bd68f4b212" data-action="Deal Block" data-label="God of War Ragnarök" data-dimension48="God of War Ragnarök" data-dimension25="$36">View Deal</a></p></div><div class="product"><a data-dimension112="119219e6-cb1b-4113-99b3-7ec0c044f4d6" data-action="Deal Block" data-label="Embrace the skills and sheer brutality of a Space Marine in Warhammer 40,000: Space Marine 2, Saber Interactive's celebrated third-person action game. Playing solo or with friends, you'll deploy deadly weapons and unleash that arsenal on swarms of Tyranids, either in the campaign as Ultramarine Lieutenant Titus, or as your own Space Marine in PvE and PvP modes. Snag it for the lowest price yet at 42% off." data-dimension48="Embrace the skills and sheer brutality of a Space Marine in Warhammer 40,000: Space Marine 2, Saber Interactive's celebrated third-person action game. Playing solo or with friends, you'll deploy deadly weapons and unleash that arsenal on swarms of Tyranids, either in the campaign as Ultramarine Lieutenant Titus, or as your own Space Marine in PvE and PvP modes. Snag it for the lowest price yet at 42% off." data-dimension25="$29" href="https://www.amazon.com/Warhammer-40-000-Space-Marine-PlayStation/dp/B0CVSDJNKS/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:509px;"><p class="vanilla-image-block" style="padding-top:125.74%;"><img id="TnJ4VYZXKLfRvLsemCh483" name="6576886_sd.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/TnJ4VYZXKLfRvLsemCh483.jpg" mos="" align="middle" fullscreen="" width="509" height="640" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Embrace the skills and sheer brutality of a Space Marine in Warhammer 40,000: Space Marine 2, Saber Interactive's celebrated third-person action game. Playing solo or with friends, you'll deploy deadly weapons and unleash that arsenal on swarms of Tyranids, either in the campaign as Ultramarine Lieutenant Titus, or as your own Space Marine in PvE and PvP modes. Snag it for the lowest price yet at 42% off. <a class="view-deal button" href="https://www.amazon.com/Warhammer-40-000-Space-Marine-PlayStation/dp/B0CVSDJNKS/" target="_blank" rel="nofollow" data-dimension112="119219e6-cb1b-4113-99b3-7ec0c044f4d6" data-action="Deal Block" data-label="Embrace the skills and sheer brutality of a Space Marine in Warhammer 40,000: Space Marine 2, Saber Interactive's celebrated third-person action game. Playing solo or with friends, you'll deploy deadly weapons and unleash that arsenal on swarms of Tyranids, either in the campaign as Ultramarine Lieutenant Titus, or as your own Space Marine in PvE and PvP modes. Snag it for the lowest price yet at 42% off." data-dimension48="Embrace the skills and sheer brutality of a Space Marine in Warhammer 40,000: Space Marine 2, Saber Interactive's celebrated third-person action game. Playing solo or with friends, you'll deploy deadly weapons and unleash that arsenal on swarms of Tyranids, either in the campaign as Ultramarine Lieutenant Titus, or as your own Space Marine in PvE and PvP modes. Snag it for the lowest price yet at 42% off." data-dimension25="$29">View Deal</a></p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The best PS5 game you (probably) haven't played just got a prequel announced at State of Play — and you can get the original right now for just $9 ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/the-best-ps5-game-you-probably-havent-played-just-got-a-prequel-announced-at-state-of-play-and-you-can-get-the-original-right-now-for-just-usd9</link>
                                                                            <description>
                            <![CDATA[ Neva tells a heartbreaking story about parenthood in a world ravished by darkness, and it's the best indie game you can play right now. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">keJb7BcW3oNEUF5tpBkZeP</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/HQdmuqXVDQfwFsJH9FyfHQ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 14 Feb 2026 08:01:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ nikita.achanta@futurenet.com (Nikita Achanta) ]]></author>                    <dc:creator><![CDATA[ Nikita Achanta ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oXuvixDz99SbZp9z8Uoor3.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nikita is a Senior Writer on the Reviews team at Tom&#039;s Guide. She is a lifelong gaming and photography enthusiast, especially interested in wildlife photography. Having worked as a Sub Editor and Writer for Canon EMEA, she’s a bit of a grammar nerd (and a supporter of the Oxford comma), and has also interviewed photographers from all over the world and working in different genres. A holder of two master’s degrees, the most recent one being in Magazine Journalism from Cardiff University, Nikita’s work has appeared in several publications such as Motor Sport Magazine, NME, Marriott Bonvoy, The Independent, and Metro. Her favorite tech includes the PS5, the DJI Air 3S, and the Fujifilm X-T50. She&#039;s also a licensed drone pilot and cameras expert so you&#039;ll find her testing those nearly every week.&lt;/p&gt;&lt;p&gt;In her downtime, Nikita can usually be found sinking hours into RPGs on her PS5, flying a drone, out on a walk with a camera in hand, at a concert, watching F1, or planning her next tattoo. You can follow her photography account on Instagram&lt;a href=&quot;https://www.instagram.com/photos.bynikita/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt; here&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/HQdmuqXVDQfwFsJH9FyfHQ-1280-80.jpg">
                                                            <media:credit><![CDATA[Nomada Studio]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Screenshot from Neva, a 2D side-scrolling game by Nomada Studio]]></media:description>                                                            <media:text><![CDATA[Screenshot from Neva, a 2D side-scrolling game by Nomada Studio]]></media:text>
                                <media:title type="plain"><![CDATA[Screenshot from Neva, a 2D side-scrolling game by Nomada Studio]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/HQdmuqXVDQfwFsJH9FyfHQ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>When it comes to video games, I'm quite picky. I love story-driven RPGs and that's the genre I'm most attracted to. But sometimes, these RPGs with their 100+ hour playtime can feel like a lot, and I need a break from them. Recently, when I completed my ninth playthrough of <a href="https://www.tomsguide.com/opinion/baldurs-gate-3-is-a-love-letter-to-dungeons-and-dragons-and-its-all-i-want-to-play-right-now">Baldur's Gate 3</a> and was on the character creation screen once again to start another one, I stopped myself. It was time for a change.</p><p>So I did what most of us do when we don't know what to play next: I browsed the deals section of the PlayStation Store on my <a href="https://www.tomsguide.com/gaming/playstation/ps5-slim">PS5 Slim</a>. That's when I came across a 2D side-scrolling game called <a href="https://store.playstation.com/en-us/concept/10008521" target="_blank" rel="nofollow">Neva, which is currently down to just $9 / £7 from $19 / £16 on the PS Store</a>, and I pulled the trigger and bought it. It's one of the best decisions I've ever made. And at <a href="https://www.tomsguide.com/news/live/ps5-state-of-play-february-2026-live-updates">this week's State of Play</a>, its prequel was announced (dropping on February 19), so now is the perfect time to play it!</p><div class="product"><a data-dimension112="53b9869d-af7a-405d-917b-37024ac85bff" data-action="Deal Block" data-label="Released in 2024, Neva is a 2D puzzle-platformer. You play as a young woman named Alba, and you travel with your wolf companion called Neva, across four seasons in a world corrupted by darkness and strange entities who try to harm you." data-dimension48="Released in 2024, Neva is a 2D puzzle-platformer. You play as a young woman named Alba, and you travel with your wolf companion called Neva, across four seasons in a world corrupted by darkness and strange entities who try to harm you." data-dimension25="$9" href="https://store.playstation.com/en-us/concept/10008521" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1023px;"><p class="vanilla-image-block" style="padding-top:146.63%;"><img id="ZZY9a2SN3x44f6r3kFtg3U" name="Neva-deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ZZY9a2SN3x44f6r3kFtg3U.jpg" mos="" align="middle" fullscreen="" width="1023" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Released in 2024, Neva is a 2D puzzle-platformer. You play as a young woman named Alba, and you travel with your wolf companion called Neva, across four seasons in a world corrupted by darkness and strange entities who try to harm you.<a class="view-deal button" href="https://store.playstation.com/en-us/concept/10008521" target="_blank" rel="nofollow" data-dimension112="53b9869d-af7a-405d-917b-37024ac85bff" data-action="Deal Block" data-label="Released in 2024, Neva is a 2D puzzle-platformer. You play as a young woman named Alba, and you travel with your wolf companion called Neva, across four seasons in a world corrupted by darkness and strange entities who try to harm you." data-dimension48="Released in 2024, Neva is a 2D puzzle-platformer. You play as a young woman named Alba, and you travel with your wolf companion called Neva, across four seasons in a world corrupted by darkness and strange entities who try to harm you." data-dimension25="$9">View Deal</a></p></div><p>Neva is a puzzle-platformer with barely any dialog, where the beautiful art design and stunning music do the talking for the game. It conveys a lovely story which you only understand when you reach the end, and it may drive you to tears — I sobbed like a baby. Should you play Neva? Yes, and then play it again, and again. Let me tell you why (minor spoilers alert!).</p><h2 id="an-existential-game-that-keeps-you-guessing">An existential game that keeps you guessing</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="q7UCcuhPjZPB4sSSY52mUS" name="Neva-op-ed-3" alt="Screenshot from Neva, a 2D side-scrolling game by Nomada Studio" src="https://cdn.mos.cms.futurecdn.net/q7UCcuhPjZPB4sSSY52mUS.png" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nomada Studio)</span></figcaption></figure><p>Neva is a beautiful story told through no words. The only time your character, called Alba, speaks is when she's calling out for her wolf, Neva, and even then, all she says is the wolf's name. Alba and Neva venture through perspective-shifting and occasionally trippy landscapes that are nothing short of stunning. The music is just as gorgeous, ramping up into semi-rock ballads when enemies are upon you.</p><p>The world is plagued by darkness and formless masked creatures but you never find out how or why they came about to be — but your goal is to rid the world of them with your sword and your wolf by your side. You watch the world succumb to the darkness as you go through the four seasons, with each "act" named Summer, Fall, Winter and Spring. Birds fall from the sky, flowers bloom black, animals die and their bodies are taken over by the masked demons.</p><div class="product"><a data-dimension112="eafc5483-8858-4620-a916-20fc64c96fdb" data-action="Deal Block" data-label="If you like owning physical copies of games or are just a collector, the physical edition of Neva is currently 15% off at Amazon, bringing the price down from $34 to $29." data-dimension48="If you like owning physical copies of games or are just a collector, the physical edition of Neva is currently 15% off at Amazon, bringing the price down from $34 to $29." data-dimension25="$29" href="https://www.amazon.com/Neva-PlayStation-5/dp/B0DK62PVH1/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1023px;"><p class="vanilla-image-block" style="padding-top:146.63%;"><img id="ZZY9a2SN3x44f6r3kFtg3U" name="Neva-deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ZZY9a2SN3x44f6r3kFtg3U.jpg" mos="" align="middle" fullscreen="" width="1023" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>If you like owning physical copies of games or are just a collector, the physical edition of Neva is currently 15% off at Amazon, bringing the price down from $34 to $29.<a class="view-deal button" href="https://www.amazon.com/Neva-PlayStation-5/dp/B0DK62PVH1/" target="_blank" rel="nofollow" data-dimension112="eafc5483-8858-4620-a916-20fc64c96fdb" data-action="Deal Block" data-label="If you like owning physical copies of games or are just a collector, the physical edition of Neva is currently 15% off at Amazon, bringing the price down from $34 to $29." data-dimension48="If you like owning physical copies of games or are just a collector, the physical edition of Neva is currently 15% off at Amazon, bringing the price down from $34 to $29." data-dimension25="$29">View Deal</a></p></div><p>Neva revolves around parenthood and the emotional bond you can develop with animals. It's similar to existential games like <a href="https://www.tomsguide.com/gaming/endling-extinction-is-forever">Endling</a>, another fantastic, soul-crushing game where the world has been destroyed by humankind's greed and capitalism. Through no words, Neva conveys a heart-wrenching story of loss, as the opening sequence features a very sad scene (that I won't disclose lest I spoil it for you) — and yes, I was crying within the first 10 minutes of playing the game.</p><h2 id="all-about-looking-after-one-another">All about looking after one another</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kBpEKHouGawbxZDSniN63R" name="Neva-op-ed-5" alt="Screenshot from Neva, a 2D side-scrolling game by Nomada Studio" src="https://cdn.mos.cms.futurecdn.net/kBpEKHouGawbxZDSniN63R.png" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nomada Studio)</span></figcaption></figure><p>Alongside being about parenthood, Neva is all about looking after one another. Your wolf, Neva, starts out as a cub, and is clumsy and easily distracted, like a little puppy. She'll grab on to leaves and follow butterflies, and you must take her to feeding spots to ensure she's getting sufficient nourishment.</p><p>When you jump a big gap and she follows you, she nearly falls off the ledge so you must grab her and soothe her. Yes, you can pet Neva — you can even have a little cuddle with her once you've progressed through the first level! While the first few levels revolve around you looking after Neva, she eventually grows up and gets attacks of her own, and she starts having your back. She can tackle enemies and objects by teleporting (she's magical), and aid you in battle by sneaking up on the demons.</p><p>Utilizing Neva and spending time with her contributes towards earning trophies on the PS5. For instance, one of them requires you to soothe her in a certain level, and another sees you calling out her name a few times. You're dependant on Neva and her survival is semi-dependant on you. I grew quite attached to Neva and I wanted to pet her as much as I could — the game does an excellent job of giving you a sense of responsibility.</p><h2 id="buttery-smooth-platforming">Buttery smooth platforming</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Cv3WBTtRmbAWAFM572AwRQ" name="Neva-op-ed-2" alt="Screenshot from Neva, a 2D side-scrolling game by Nomada Studio" src="https://cdn.mos.cms.futurecdn.net/Cv3WBTtRmbAWAFM572AwRQ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nomada Studio)</span></figcaption></figure><p>To traverse the ever-changing landscape where trees become blackened and break off, you must jump, double jump and dash over obstacles and to ensure you don't fall to your death. Alongside platforming, there are plenty of puzzles you must solve, and these are all well-thought out and designed. They never feel repetitive — and they can't, really, given that Neva has a completion time of just over three hours.</p><p>If you're squeamish about blood or gore, you don't have to worry about that with this game. Death scenes in Neva aren't like those in most other games. There's no blood when your character dies. Instead, you and any other creature who falls gets covered in black flowers. I also like that you can choose the Story Mode difficulty which makes it impossible for Alba to die, resulting in a more relaxed experience focussing on the narrative.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="QhuruZcjdDrYz4zznjfGAS" name="Neva-op-ed-4" alt="Screenshot from Neva, a 2D side-scrolling game by Nomada Studio" src="https://cdn.mos.cms.futurecdn.net/QhuruZcjdDrYz4zznjfGAS.png" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nomada Studio)</span></figcaption></figure><p>The storytelling, combined with the music, artsy graphics, and the narrative revolving around parenthood, may have you guessing the ending. I did too, and I thought I had it figured out, but as the last cutscene played, nothing could have prepared me for it. All I could do was sob into my hands.... and then revisit the chapters to Platinum it (and Platinum it, I did).</p><p>Neva: The Prologue drops on February 19, and you'd best believe that I will be getting it day one. If you want to play Neva now, and I highly recommend that you do, you can grab it for <a href="https://store.playstation.com/en-us/concept/10008521" target="_blank" rel="nofollow">just $9 / £7 at the PlayStation Store</a>. Neva is also available on PC, macOS, Nintendo Switch, PS4 and Xbox Series X|S.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eBGPoW"></div>                            </div>                            <script src="https://kwizly.com/embed/eBGPoW.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/endling-extinction-is-forever">Don’t let looks fool you, this survival game on PS5 featuring foxes will make you cry your eyes out</a></li><li><a href="https://www.tomsguide.com/gaming/nintendo/valentines-day-2026-best-couch-co-op-games">Staying in with your partner on Valentine’s Day? These are the 9 best couch co-op and two-player games to play on a cozy night-in</a></li><li><a href="https://www.tomsguide.com/gaming/playstation/5-games-to-play-first-on-your-new-ps5">Just got a PS5? Here's the 5 best games to play first</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ PS5 State of Play February 2026 live updates — God of War Remake, MGS Collection Vol. 2 and every game announced ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/news/live/ps5-state-of-play-february-2026-live-updates</link>
                                                                            <description>
                            <![CDATA[ State of Play for February 2026 was packed with exciting new PS5 announcements, reveals and trailers. Here's a full recap of the show. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">8cZwheQjMFivW66QLurVdK</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/zLn7zbmxckzSDWPobTx7ud-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 12 Feb 2026 13:12:47 +0000</pubDate>                                                                                                                                <updated>Fri, 13 Feb 2026 13:46:16 +0000</updated>
                                                                                                                                            <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ rory.mellon@futurenet.com (Rory Mellon) ]]></author>                    <dc:creator><![CDATA[ Rory Mellon ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5Rv6LtQXMj5JB4Eu8Lt4Sn.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/zLn7zbmxckzSDWPobTx7ud-1280-80.jpg">
                                                            <media:credit><![CDATA[Sony]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[State of Play Feb 2026 - Marathon/Saros]]></media:description>                                                            <media:text><![CDATA[State of Play Feb 2026 - Marathon/Saros]]></media:text>
                                <media:title type="plain"><![CDATA[State of Play Feb 2026 - Marathon/Saros]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/zLn7zbmxckzSDWPobTx7ud-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>State of Play February 2026 is over, and after a packed 85 minutes of gaming goodness, there's <em>so much </em>to talk about. From the reveal of the God of War Trilogy Remake to the MGS Master Collection Vol. 2 and more.</p><p>Sony promised it would deliver a lengthy showcase of PS5 games arriving on the console in 2026, and beyond, and it certainly delivered. There was at least one announcement for every type of player. And I'm pretty sure the "Chicken Man" from Project Windless is about to take over the internet.</p><p>Don't worry if you missed Today's State of Play, you can watch it back below, and we've got a full roundup of all the PS5 announcements in this live blog.</p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@tomsguide/video/7606156214195571998" data-video-id="7606156214195571998" style="max-width: 605px; min-width: 325px;">                        <section>                            <a target="_blank" title="@tomsguide" href="https://www.tiktok.com/@tomsguide">@tomsguide</a>                            <p></p><a target="_blank" title="♬ original sound - Tom’s Guide" href="https://www.tiktok.com/music/original-sound-7606156198488476446">♬ original sound - Tom’s Guide</a></section>                    </blockquote></div>                <h2 id="how-to-re-watch-state-of-play-for-february-2026">How to (re)watch State of Play for February 2026</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/P0e5YEXtZu0" allowfullscreen></iframe></div></div><p>If you missed State of Play February 2026, or just want to rewatch the showcase, you can watch it back via the VOD link above. Of course, if you don't have a spare 85 minutes, you can read on to see all the new trailers.</p><h2 id="welcome-2">Welcome!</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="A92fAFp8GUDRCcdSBJbUKd" name="PS5 Pro.jpg" alt="PS5 Pro" src="https://cdn.mos.cms.futurecdn.net/A92fAFp8GUDRCcdSBJbUKd.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony Interactive Entertainment)</span></figcaption></figure><p>Hello, welcome to Tom's Guide's live coverage of the PS5 State of Play for February 2026. I'm Rory, a Senior Entertainment Editor, and I'll be guiding you through today's PlayStation showcase (with some help from a few colleagues). The event doesn't start for a few hours, but there's still plenty to cover, so let's get talking PlayStation...</p><h2 id="today-s-state-of-play-is-going-to-be-a-big-one">Today's State of Play is going to be a BIG one</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:920px;"><p class="vanilla-image-block" style="padding-top:56.30%;"><img id="YjQgFQT9J6kopyr5nu4evh" name="Playstation store.jpg" alt="PlayStation Store Holiday Sale" src="https://cdn.mos.cms.futurecdn.net/YjQgFQT9J6kopyr5nu4evh.jpg" mos="" align="middle" fullscreen="" width="920" height="518" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>One of the key details about today's State of Play is that it will run for "60+ minutes" per the <a href="https://blog.playstation.com/2026/02/09/state-of-play-returns-this-thursday-february-12/" target="_blank">PlayStation Blog</a>. That would be welcome news in any context, but it's even more of a big deal here because that will make it the longest State of Play broadcast to date. It's clear that Sony has a lot it wants to share with players!</p><h2 id="there-s-one-huge-reason-i-m-feeling-the-hype">There's one huge reason I'm feeling the HYPE!</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="NPBExEtUSpawN8ZNGGdWUi" name="ps_studios.jpg" alt="playstation studios" src="https://cdn.mos.cms.futurecdn.net/NPBExEtUSpawN8ZNGGdWUi.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>I'm always excited for any State of Play, but there's a particular reason that today's broadcast has got me really hyped: PlayStation Studios will have a presence. </p><p>If you're out of the loop, PlayStation Studios is the umbrella group used to mark Sony-owned developers like Naughty Dog, Sucker Punch, Insomniac, Housemarque and more. Often PlayStation Studios teams don't feature during State of Play, but this time, at least some of the developers will be showcased. </p><p>To set expectations, Sony isn't promising <em>every </em>PlayStation Studios team will be present, but hopefully we hear more from the likes of Naughty Dog and Bluepoint Games who have been quiet on their current projects for quite a while now.</p><h2 id="marathon-is-the-first-game-confirmed-for-state-of-play">Marathon is the first game confirmed for State of Play</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Df7TS5tqVo8uZm4VDZi9Cg" name="marathon-ps5-game-2026" alt="Screen from Marathon on PS5" src="https://cdn.mos.cms.futurecdn.net/Df7TS5tqVo8uZm4VDZi9Cg.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony / Bungie)</span></figcaption></figure><p>It's by no means a surprise, but Marathon is one game we know we be featured during State of Play. </p><p>Sony-owned developer Bungie confirmed the sci-fi shooter would be included in the broadcast via a post on the game's official discord server, noting that "we're excited to share we'll be part of the PlayStation State of Play."</p><p>Marathon is a big bet for developer Bungie, who need a win after the most recent Destiny 2 expansions haven't quite met player demand. The game is set to launch on March 5, so it always seems likely that Sony would use this State of Play to give it another big push ahead of the release date in just a few weeks. </p><p>This first-person extraction shooter looks like it might be landing at just the right time following the uber-success of ARC Raiders, there's plenty of demand for more games in the genre, and Marathon looks different enough to carve out its own spot. </p><h2 id="here-s-another-ps5-game-we-can-confidently-predict-will-feature">Here's another PS5 game we can confidently predict will feature</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="RwmuWfPnXm7yb6nmJNNUZA" name="State of Play _ February 12, 2025 [English] 53-34 screenshot" alt="Saros" src="https://cdn.mos.cms.futurecdn.net/RwmuWfPnXm7yb6nmJNNUZA.png" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>There were always two PlayStation Studios games that I felt highly confident would appear at State of Play. One was Marathon, which is now confirmed, the other is Saros from developer Housemarque. </p><p>Saros was announced at last year's February showcase, and is currently slated for release on April 30. It's a spiritual successor to 2021's GOTY-worthy Returnal. Based on the brief gameplay snippets we've seen, it's going to offer the same blockbuster bullet-hell gameplay in an intriguing, and sinister, sci-fi world. It also appears that the story might be a little less mysterious this time, which some players will prefer.</p><p>As noted, it's due to launch in the spring, so it seems very likely Saros will get a new trailer in this State of Play as Sony looks to ramp up the marketing ahead of April.</p><h2 id="insomniac-s-wolverine-might-not-show-it-s-claws-today">Insomniac's Wolverine might not show it's claws today</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="brkRET2rLiiqB38ggQjQsW" name="wolverine-2025-state-of-play-ps5-game" alt="Marvel's Wolverine image showing Logan" src="https://cdn.mos.cms.futurecdn.net/brkRET2rLiiqB38ggQjQsW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>With Marathon, Saros and Marvel's Wolverine making up the tentpole trio of PlayStation Studios games confirmed for 2026 (as of writing, at least), it stands to reason that all three will feature in today's State of Play. But there's reason to think that Logan might give this showcase a miss and keep his claws hidden away. </p><p>In response to a question on X, asking when gamers would get to learn more about Wolverine, Insomniac Games' official account offered up the vague, "Spring 2026" in reply. At least in my calendar, February isn't quite spring, so don't bet on Wolverine being included in this PlayStation event.</p><p>Of course, this could be intentional misdirection from the folks at Insomniac, but we'll just have to wait until the State of Play February later today to find out.   </p><h2 id="just-joining-us-here-s-the-key-state-of-play-details">Just joining us? Here's the key State of Play details</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="G6iHnUaHZfLvU9ubZcuPHP" name="TG_shutterstock_PS5-controller_LIST.jpg" alt="Playstation 5 controller" src="https://cdn.mos.cms.futurecdn.net/G6iHnUaHZfLvU9ubZcuPHP.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>It's the start of the working day in the U.S. (on the east coast, at least), so if you're just joining me, the key details you need to know are that today (Feb. 12) will see the first PS5 State of Play in 2026, it'll begin at <strong>12 pm PT / 5 pm ET / 10 pm GMT.</strong></p><p>The live broadcast is set to last for at last an hour (Sony is saying "60+ minutes"), and will include games from PlayStation Studios. Today could be a very big day in the world of PlayStation, and I'm bringing you all the details in this live blog!</p><h2 id="gimme-more-from-marvel-tokon">Gimme more from Marvel Tokon!</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="GuvJmhTi3uYUhdeh8LA55V" name="Marvel Tokon beta 4" alt="Marvel Tokon: Fighting Souls" src="https://cdn.mos.cms.futurecdn.net/GuvJmhTi3uYUhdeh8LA55V.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony Interactive Entertainment)</span></figcaption></figure><p>I'm not typically a fighting game player (that's in part because I usually suck at them), but one fighter I'm keeping an eye on is Marvel Tokon: Fighting Souls. </p><p>This fighter from acclaimed developer Arc System Works combines Marvel's stable of superheroes with an anime-style art style, which is immediately striking. It also features my boy, Spider-Man, in the playable roster, which always gets my attention. </p><p>It set to launch sometime in 2026, and so seems a good candidate to feature at State of Play. Maybe we'll get a firm release date in just a matter of hours.</p><h2 id="is-it-finally-time-to-see-more-of-intergalactic">Is it finally time to see more of Intergalactic? </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gGHYy9kM2a4pZMfY2DzSSQ" name="intergalactic-the-heretic-prophet-screenshot" alt="Intergalactic: The Heretic Prophet screenshot" src="https://cdn.mos.cms.futurecdn.net/gGHYy9kM2a4pZMfY2DzSSQ.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony / Naughty Dog)</span></figcaption></figure><p>For the last 12 months, during every PlayStation State of Play, and events like Summer Game Fest and The Game Awards, I've been keeping my fingers crossed that we get a new trailer for Nuaghty Dog's Intergalactic: The Heretic Prophet.</p><p>So far, I've been let down every time, but there's no question about, I'm ready to get hurt again. Intergalactic represents Naughty Dog's first new IP since The Last of Us way back in 2013, and I just cannot wait to learn more about this sci-fi experience. </p><p>The first trailer we got back in December 2024 instantly grabbed me, and Naughty Dog are a developer that has yet to disappoint me (yes, I even rank The Last of Us Part 2 as a masterpiece). I'm not totally convinced we will see Intergalactic today in the State of Play, as it's rumored for a 2027 release, but I'm keep hoping until then.</p><h2 id="is-kratos-about-to-go-2d">Is Kratos about to go 2D? </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AXNNW7PLmYmCxqswRjhu8R" name="God of War Ragnarok - Kratos vs creature.jpg" alt="God of War Ragnarok" src="https://cdn.mos.cms.futurecdn.net/AXNNW7PLmYmCxqswRjhu8R.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony Interactive Entertainment)</span></figcaption></figure><p>One of the big rumors circulating in the gaming world right now is that PlayStation is quietly working on a God of War spin-off title. That seems a pretty boilerplate rumor on the surface (a popular franchise gets a spin-off title, which is hardly unexpected), but more surprisingly, it's claimed this game will be a 2D side-scroller. </p><p>Remember, <strong>this is a rumor</strong>, but over on the <a href="https://www.reddit.com/r/GamingLeaksAndRumours/comments/1r1vcyo/natethehate_on_rumored_2d_god_of_war_whispers_of/" target="_blank">GamingLeaksAndRumours subreddit</a>, a new post linking back to NateTheHate (a well-known leaker) claims that God of War 2D is in development, and that Sony is considering a multi-platform launch. </p><p>Perhaps today's State of Play 2026 will see God of War 2D revealed to the world, or maybe all the online rumors are false and Kratos is sticking to three dimensions.</p><h2 id="will-ac-black-flag-remake-set-sail-at-state-of-play">Will AC: Black Flag Remake set sail at State of Play?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="czF4dBP5bRVSqBpZAshs4k" name="Assassins-Creed-IV--Black-Flag.jpg" alt="assassin's creed iv: black flag" src="https://cdn.mos.cms.futurecdn.net/czF4dBP5bRVSqBpZAshs4k.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Ubisoft)</span></figcaption></figure><p>Another long-standing internet rumor is that Assassin's Creed IV: Black Friday is getting a shiny new remake, bringing back the pirate-themed adventure for a new generation of consoles. Heck, this one might even be more than a rumor, as an Ubisoft social media account made a cheeky reference to its existence in January. </p><p>Further adding to the fire, Amazon UK added a listing for an <a href="https://www.amazon.co.uk/Assassins-Creed-Black-Flag-Remaster/dp/1835417701#detailBullets_feature_div" target="_blank" rel="nofollow">"Assassin's Creed Black Flag Remastered Art Book"</a> this week with a scheduled release date of March 24. This could be a listing error, and/or a placeholder release date. But if Black Flag is coming back in just a matter of weeks, you'd expect it to be showcased soon. </p><p>This State of Play could be the ideal place for Ubisoft to announce that one of the most beloved Assassin's Creed games in the franchise's history is returning.</p><h2 id="time-for-one-last-look-at-resident-evil-requiem">Time for one last look at Resident Evil Requiem? </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CVDdqjsDfPZDjVPY7bnDEe" name="Resident_Evil_Requiem_-_RE_Showcase_Screenshot_19" alt="Resident Evil Requiem: Leon aims his gun at a chainsaw-wielding zombie." src="https://cdn.mos.cms.futurecdn.net/CVDdqjsDfPZDjVPY7bnDEe.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Capcom)</span></figcaption></figure><p>Resident Evil Requiem is entering the final stages of it's marketing push, with the survival horror game set to launch on February 27. Soon it'll be in our hands, and I can't wait to see the twisted horrors the team over at Capcom have created for us.</p><p>It seems likely that Resident Evil Requiem might feature in one final gaming showcase before release, and that would be State of Play. Personally, I was sold on this game from its first trailer, and I actually don't want to see anymore for fear of having a surprise moment spoiled. So if Resi 9 does pop up, I might look away!  </p><h2 id="more-than-6-hours-to-go-until-state-of-play">More than 6 hours to go until State of Play!</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="y5T6EzpDkzjkm8NbGVewWW" name="PS5 Pro-9" alt="The PlayStation logo on a PS5 Pro" src="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>You know, in my head, it felt like we were a little closer, but we've still got more than six hours until State of Play February 2026 goes live. As noted, I'm usually one to advice keeping expectations in check, but I'm really feeling the hype for this one. Here's hoping that PlayStation can deliver a showcase packed with great reveals. </p><h2 id="spidey-might-be-swinging-onto-ps-this-month">Spidey might be swinging onto PS+ this month</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="jJMkNusyEQMGTpNJ9UAKwa" name="spider-man-2-screenshot-ps5-08.jpg" alt="Spider-Man 2 screenshot" src="https://cdn.mos.cms.futurecdn.net/jJMkNusyEQMGTpNJ9UAKwa.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>Earlier this month, <a href="https://www.dealabs.com/magazine/ps-plus-extra-une-grosse-exclusivite-ps5-debarque-ce-mois-de-fevrier-61029" target="_blank">Deadlabs,</a> a site with a strong record of leaking PlayStation Plus games, reported that February's headline for Extra/Premium members would be Marvel's Spider-Man 2. It'll be added to the PS+ Game Collection alongside Test Drive Unlimited Solar Crown and Neva. </p><p>This would be a big deal, Spider-Man 2 is one of the PS5's most high-profile console exclusives, and I'm sure any PS+ subscriber who hasn't played it yet would be delighted. Assuming this report from Deadlabs is accurate (and as noted, the track record is strong), I expect the Spidey sequel heading to PS+ will be confirmed during the State of Play event.</p><h2 id="icymi-horizon-hunters-gathering-was-just-announced">ICYMI: Horizon Hunters Gathering was just announced </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YhffejPLEhTLJYVz8sAmMn" name="horizon-hunters-gathering-ps5" alt="Horizon Hunters Gathering screenshot" src="https://cdn.mos.cms.futurecdn.net/YhffejPLEhTLJYVz8sAmMn.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>Last week, Guerrilla Games confirmed the next game set in the world of Horizon, it's not the full Horizon 3 many fans wanted, instead it's called Horizon Hunters Gathering and it's a three-player co-op experience with a more cartoony art style. </p><p>The reception online has been a little mixed, but I'm interested to see more, and don't mean the switch in overall aesthetic and tone. Horizon's post-apocalyptic future full of metallic creatures to hunt seems like a great candidate for a co-op game, and the roster of "hero" characters each offers their own set of unique skills. </p><p>While I'm not fully sold on Horizon Hunters Gathering just yet, as we've seen so little of the game so far, but the announcement <a href="https://blog.playstation.com/2026/02/05/announcing-horizon-hunters-gathering-guerrillas-new-co-op-action-game/" target="_blank">PlayStation Blog post</a> promised more details to come in the months ahead, and maybe that'll mean at State of Play. </p><h2 id="the-witcher-3-is-getting-dlc-in-2026-really">The Witcher 3 is getting DLC in 2026? Really?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="4kreJNsk4ppWNoTG8a9KyJ" name="witcher-3-on-ps5-image (3).JPG" alt="Witcher 3 next-gen update screenshot" src="https://cdn.mos.cms.futurecdn.net/4kreJNsk4ppWNoTG8a9KyJ.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: CD Projekt Red)</span></figcaption></figure><p>One of the strangest rumors that just refuses to die, is that The Witcher 3: Wild Hunt is getting a new DLC expansion in 2026. Yes, The Witcher 3, the GOTY-winning RPG released in 2015. I'm certainly not mad if this rumor proves to be accurate, but I would be very surprised. Single-player games don't usually get DLC a decade later. </p><p>The reports suggest the DLC will lead into The Witcher 4, which is currently in development over at Polish studio CD Projekt Red. The game's last major update came in 2022, when it was ported over to PS5/Xbox Series X, and got a small selection of new content that tied into Netflix's "The Witcher" TV show.</p><p>However, that was a single quest, and some new armor options, the rumors here claim this will be a more meaty expansion, in line with it's previous, 2015's Hearts of Stone and 2016's Blood and Wine. Consider me skeptical of this rumor being accurate, but if I'm incorrect, and it's at State of Play, I'd very happy to be wrong.</p><h2 id="007-first-light-might-break-cover-again-at-state-of-play">007: First Light might break cover (again) at State of Play!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/pwRpK8eoLLE" allowfullscreen></iframe></div></div><p>Last September, PlayStation held an <em>entire </em>State of Play dedicated to 007: First Light. Single-game State of Play's aren't super uncommon, but they're typically reserved for PlayStation Studio titles. The fact that this new 007 adventure from IO Interactive got one all to itself was certainly a great boon for Bond fanatics. </p><p>A few performance hiccups in the gameplay footage aside, I was very impressed with the 30-minute presentation, and I'm eagerly anticipating the game's launch in May 2026. So, all of this is to say, don't be surprised if 007: First Light appears today. </p><h2 id="will-starfield-s-long-rumored-ps5-port-ever-actually-happen">Will Starfield's long rumored PS5 port ever actually happen?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="scmjkwqjDFxJxrT3TXnNwg" name="Starfield Grav Jump.jpg" alt="Starfield gravity jump" src="https://cdn.mos.cms.futurecdn.net/scmjkwqjDFxJxrT3TXnNwg.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Bethesda)</span></figcaption></figure><p>We live in strange times. Xbox games now release on PS5, but one title that remains Xbox console exclusive is Starfield. This sci-fi RPG from Skyrim maker Bethesda launched on Xbox (and PC) in 2023, and more than two years later, PS5 players still haven't been able to explore its intergalactic world for themselves. </p><p>Look, I know Starfield didn't enjoy the <em>best </em>reception from some RPG players, but personally, I mostly enjoyed my time with this one, and if it ever does come to PS5, I would happily give it a second play-through. There have been rumors of a PS5 port circulating pretty much since 2023, but they've heated up further in early 2026. </p><p>Perhaps, today's State of Play is when Bethesda will reveal that Starfield is the latest Xbox title to play nice with PlayStation. However, don't bet on it, leaker Shinobi62 claims (via <a href="https://www.reddit.com/r/GamingLeaksAndRumours/comments/1r0ay09/shinobi602_says_that_more_starfield_news/" target="_blank">Reddit</a>) that news on Starfield's PS5 version won't come till March. </p><h2 id="ps-portal-could-get-a-big-upgrade">PS Portal could get a BIG upgrade</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="F49tf3bTbzrfLHzdrKG6rW" name="PS Portal-1.jpg" alt="Marvel's Spider-Man 2 on PlayStation Portal" src="https://cdn.mos.cms.futurecdn.net/F49tf3bTbzrfLHzdrKG6rW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>Moving away from PlayStation games, let's talk accessories, specifically the PlayStation Portal remote player. Per <a href="https://x.com/Zuby_Tech/status/2010031067554865444" target="_blank">Zuby Tech</a>, this nifty PS5 handheld could get a major upgrade in the form of a new OLED model. The current PS Portal uses an LCD screen, but fans have wanted one with an OLED display since launch. For now, this is just a rumor, so take it with a large grain of salt, but maybe this State of Play won't just include new game reveals, but also a look at some PS5 accessories!</p><h2 id="let-s-talk-grand-theft-auto-vi">Let's talk Grand Theft Auto VI</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hyce8Ftu8N8gj3Dx5Dqg6b" name="gta-6-Jason_Duval_01" alt="Grand Theft Auto VI screenshot" src="https://cdn.mos.cms.futurecdn.net/hyce8Ftu8N8gj3Dx5Dqg6b.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Rockstar)</span></figcaption></figure><p>I've been scrolling social media to see what other gamers want to see at State of Play February 2026, and a recurring title is, unsurprisingly, Grand Theft Auto VI. </p><p>Never say never, but I would be <em>stunned</em> if GTA 6 had any sort of presence. For starters, Take-Two's Strauss Zelnick (CEO of Rockstar Games' parent company) recently said in an earnings call that GTA 6 marketing would begin in the summer, and secondly, GTA 6 is such a big deal that it would overshadow everything else. </p><p>So, while I can't 100% rule it out, I would suggest not getting your hopes up that today will be the day that we get to see a little more of GTA 6.</p><h2 id="only-4-hours-left-until-state-of-play-february-2026">Only 4 hours left until State of Play February 2026! </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Juzeg3dZVDBEbhgw9Kaqbb" name="TG_PS5_hard-drive_SSD-5.jpg" alt="PS5 Internal Storage replacement photos." src="https://cdn.mos.cms.futurecdn.net/Juzeg3dZVDBEbhgw9Kaqbb.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>We're getting there, slowly we're getting there. State of Play 2026 is just four hours away now. Won't be too much longer before we can see exactly what PlayStation Studios, and some of Sony's third-party partners, have in store for us. Remember, even if you can't watch along live, we'll have all the updates for you in this live blog! </p><h2 id="pssr-update-coming">PSSR update coming?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FLq8rLXNv9UZJuFXKBT7WH" name="PS5_Pro_PSSR.jpg" alt="PSSR on PS5 Pro in Ratchet & Clank: Rift Apart" src="https://cdn.mos.cms.futurecdn.net/FLq8rLXNv9UZJuFXKBT7WH.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>Hey, all! Tony Polanco here, and I'm taking over this blog for the next few hours. Like many of you, I'm excited to see what Sony is cooking for this 60-minute-long State of Play!</p><p>The main thing I'm looking forward to is anything regarding PSSR updates. According to Japanese insider <a href="https://x.com/Gust_FAN/status/2010888697357721845" target="_blank">Gust_FAN</a> (via <a href="https://www.dlcompare.com/gaming-news/ps5-pro-performance-upgrade-with-pssr-2-0-expected-before-the-end-of-march-70263" target="_blank">DL Compare</a>), PSSR will receive a major update soon that will incorporate similar features to FSR 4 on the PS5 Pro. This should improve image quality and overall performance.</p><p>One of the more intriguing aspects of this rumor is that older, lower-resolution games from PlayStation's back catalog will be playable at higher resolutions. We've heard discussions about this in the past, but it might actually happen now.</p><p>"PSSR 2" is very much in the rumor territory right now, but given how this State of Play is an hour long, perhaps Sony will unveil this update and detail what to expect.</p><h2 id="wolverine-might-be-a-no-show">Wolverine might be a no-show</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="brkRET2rLiiqB38ggQjQsW" name="wolverine-2025-state-of-play-ps5-game" alt="Marvel's Wolverine image showing Logan" src="https://cdn.mos.cms.futurecdn.net/brkRET2rLiiqB38ggQjQsW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>Insomniac's Wolverine is one of the most anticipated PS5 games. While this State of Play seems like a natural place to show more gameplay, it seems it might be a no-show.</p><p>As <a href="https://www.ign.com/articles/spider-man-developer-suggests-wolverine-will-skip-tomorrows-big-state-of-play" target="_blank">IGN</a> reports, Insomniac Games went on social media and said we'd get more Wolverine info  in "spring 2026." Given how it's currently February, that seems to rule out seeing the game during State of Play.</p><p>While this will surely disappoint many, I agree with IGN in that Sony is likely planning a dedicated PlayStation Showcase for Wolverine. Instead of cramming in some footage during today's State of Play, we could instead get a whole show that goes into more detail. If that's the case, I'm willing to wait longer!</p><h2 id="rumored-ps-portal-oled-could-surface">Rumored PS Portal OLED could surface</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HwADRGb76aT8btrLpT6XPh" name="PlayStation Portal-2.jpg" alt="A PlayStation Portal showing Marvel's Spider-Man 2" src="https://cdn.mos.cms.futurecdn.net/HwADRGb76aT8btrLpT6XPh.jpg" mos="" align="middle" fullscreen="" width="4032" height="2268" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>One of the other major rumors floating around is that we'll see an updated PlayStation Portal with an OLED display (according to <a href="https://x.com/Zuby_Tech/status/2010031067554865444" target="_blank">Zuby Tech</a>). Considering how successful the current model has been, I can see Sony releasing a follow-up device to keep the momentum going.</p><p>I have mixed feelings on this. While the PS Portal is much better now than it was at launch, I personally don't travel enough to really need an on-the-go PS5. That said, if the OLED panel is nice enough, it could change my mind.</p><p>As with PSSR 2, this is a rumor, so take it with an appropriate level of skepticism. That said, I won't blame you if you decide to hold out hope for an official announcement. Given how I cover gaming hardware news, you can bet on me covering this story if it happens.</p><h2 id="a-ghost-of-sparta-sequel">A Ghost of Sparta sequel???</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1500px;"><p class="vanilla-image-block" style="padding-top:62.53%;"><img id="NSis8UEFLbzHdcGmfZD5bZ" name="God-of-War-Ghost-of-Sparta.jpg" alt="God of War: Ghost of Sparta" src="https://cdn.mos.cms.futurecdn.net/NSis8UEFLbzHdcGmfZD5bZ.jpg" mos="" align="middle" fullscreen="" width="1500" height="938" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony Interactive Entertainment)</span></figcaption></figure><p>Speaking of rumors, one of the wildest I've heard is that we could get a 2D Metroidvania-like God of War game starring Kratos' brother, Deimos. That's already bonkers enough, but rumors also suggest that this title might be multi-platform... as in it might also arrive on rival systems like Switch 2 and Xbox Series X.</p><p>While this rumor seems extremely far-fetched, it comes to us via <a href="https://www.reddit.com/r/GamingLeaksAndRumours/comments/1r1vcyo/natethehate_on_rumored_2d_god_of_war_whispers_of/" target="_blank">NateTheHate</a>, who has a pretty good track record when it comes to PlayStation leaks. Because of that, we can't completely discount it, even though it is very much a rumor.</p><p>I love the God of War series, and especially love Ghost of Sparta on PSP. If this 2D game serves as a semi-sequel or spin-off where we get to play as Deimos, I'm all for it. Let's see how this rumor pans out.</p><h2 id="marvel-tokon-s-roster-reveal-could-happen">Marvel Tokon's roster reveal could happen</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JL98xjoMxh3mjUnftsEwtF" name="Marvel Tokon lede" alt="Marvel Tokon: Fighting Souls" src="https://cdn.mos.cms.futurecdn.net/JL98xjoMxh3mjUnftsEwtF.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony Interactive Entertainment)</span></figcaption></figure><p>Unlike my colleague Rory Mellon, I absolutely love fighting games, and Marvel Tokon is one of the titles I'm anticipating most. We haven't gotten much info on this game (check out my <a href="https://www.tomsguide.com/gaming/i-played-marvel-tokon-fighting-souls-and-it-could-be-my-next-big-fighting-game-heres-why">Marvel Tokon preview</a> for my thoughts), but signs point to some news happening at State of Play.</p><p>Earlier this week, the game's Steam page received an unexpected update to its listing. The most significant morsel is that it will launch with 20 playable characters. While this has caused some ire in the FGC (fighting game community), I think that's a nice-sized roster to start with, as this game will get more characters via season passes, just like all modern fighting games do.</p><p>I won't speculate on which characters will be in the roster, but I will say I hope we finally get the Fantastic Four in a Marvel fighting game, as Marvel's First Family has never appeared in any of the Capcom Marvel games (at least not as fully playable characters). And if you'll allow me to nerd out, I'd love for Hulk and Wolverine to be in the game so I can form a team with them, Spider-Man, and Ghost Rider, who were the "new" Fantastic Four in the early '90s.</p><p>Nerding out aside, I expect a big showing for Marvel Tokon today.</p><h2 id="resident-evil-requiem-update">Resident Evil Requiem update?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="R9o4mkFHBy2DV5WD63Xf7W" name="Resident_Evil_Requiem_-_Screenshot_3" alt="Resident Evil Requiem" src="https://cdn.mos.cms.futurecdn.net/R9o4mkFHBy2DV5WD63Xf7W.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Capcom)</span></figcaption></figure><p>While this is a PlayStation show, we're sure to see some third-party games tossed into the mix. To that end, one game I'm sure will pop up is Resident Evil Requiem, as it's slated to drop on February 27.</p><p>I've played two demos of Resident Evil Requiem: <a href="https://www.tomsguide.com/gaming/i-played-resident-evil-requiem-and-its-already-my-most-anticipated-game-of-2026">one focusing on Grace Ashcroft</a> and <a href="https://www.tomsguide.com/gaming/i-just-played-resident-evil-requiem-and-its-mix-of-action-and-horror-is-exactly-what-i-want">another featuring both her and Leon</a>. I'm a huge fan of the franchise, so it shouldn't surprise you that even after playing those demos, I still want more. I'm curious to see what we could see today, but I can't wait regardless!</p><h2 id="potential-xbox-announcements">Potential Xbox announcements</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="t5tafvrJgwzkG5s7YFb8kT" name="Halo Campaign Evolved" alt="Halo: Campaign Evolved" src="https://cdn.mos.cms.futurecdn.net/t5tafvrJgwzkG5s7YFb8kT.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Microsoft)</span></figcaption></figure><p>With Xbox games now arriving on PS5, it's not unreasonable to wonder which Microsoft-developed games might have a showing during State of Play.</p><p>As we posted before, rumors are circulating that Starfield might finally get a PS5 release date. That could happen, but I think it's a safe bet that we might get something (even if it's in a sizzle reel) for Halo: Campaign Evolved, as that has been confirmed for PS5. Gears of War: E-Day or even Forza Horizon 6 could also get a showing.</p><p>With the console war effectively over, it would be smart for Xbox to fully embrace advertising its games on rival showcases like State of Play. We'll see if the company decides to show anything today.</p><h2 id="a-heretical-appearance">A Heretical appearance?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="udfPYBrYKhnyGNKiK3jivG" name="Intergalactic - The Heretic Prophecy" alt="Intergalactic: The Heretic Prophecy" src="https://cdn.mos.cms.futurecdn.net/udfPYBrYKhnyGNKiK3jivG.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony Interactive Entertainment)</span></figcaption></figure><p>I just looked it up, and I can't believe it's been over a year since we saw our first glimpse of Intergalactic: The Heretic Prophecy. While some say the game will release at the end of 2026, I'm with Jason Schreier, who says Naughty Dog's upcoming space-based title is actually coming out in 2027.</p><p>Given that, it's unclear if the game will show up during State of Play. If it does, I'm sure it'll break the internet... in both good and bad ways. I wasn't exactly enamored with The Last of Us Part II, so I can't say I'm hyped for Intergalactic, as the trailer left me feeling ambivalent. But I haven't completely discounted it, so hopefully I'll see something to spark my interest.</p><h2 id="are-you-excited-for-marathon">Are you excited for Marathon?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Df7TS5tqVo8uZm4VDZi9Cg" name="marathon-ps5-game-2026" alt="Screen from Marathon on PS5" src="https://cdn.mos.cms.futurecdn.net/Df7TS5tqVo8uZm4VDZi9Cg.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony / Bungie)</span></figcaption></figure><p>Scott, stepping in for Tony. </p><p>I'm curious, I am a Destiny apologist, even the current messy model that is Destiny 2. It's one of the best feeling shooters available even if the surrounding story has gotten insane. Though perhaps we've just gotten back to the "that wizard came from the moon" era.</p><p>Anyway, I am willing to give Bungie a try despite the mess. And I am excited for Marathon. </p><p>What about you?</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OK6ZmW"></div>                            </div>                            <script src="https://kwizly.com/embed/OK6ZmW.js" async></script><h2 id="40-minute-countdown">40 minute countdown</h2><div class="see-more see-more--clipped"><blockquote class="twitter-tweet hawk-ignore" data-lang="en"><p lang="en" dir="ltr">A new State of Play airs February 12.Tune in for 60+ minutes of news, gameplay updates, and announcements from game studios across the globe: https://t.co/wz6dklBvoa pic.twitter.com/VRStSNZ6RM<a href="https://twitter.com/cantworkitout/status/2020845405362163855">February 9, 2026</a></p></blockquote><div class="see-more__filter"></div></div><p>Hey, hey, look at that. We're 30 minutes away from the State of Play starting. </p><p>As a reminder, it starts at 2 pm PT, 5 pm ET, and 11 pm CET. </p><p>You can watch on <a href="https://www.twitch.tv/playstation" target="_blank">Twitch</a> and <a href="https://www.youtube.com/user/PlayStation" target="_blank">YouTube</a>.</p><h2 id="miracles-can-happen-but-probably-not">Miracles can happen (but probably not)</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2aK3fuwuTsytM4utGN22Uj" name="21416815651_d3d0e62fc3_o.png" alt="A fight scene in Bloodborne" src="https://cdn.mos.cms.futurecdn.net/2aK3fuwuTsytM4utGN22Uj.png" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: PlayStation)</span></figcaption></figure><p>There's a running joke that Sony will continually disappoint fans by not announcing Bloodborne 2. </p><p>With that in mind, here are some other sequel games that won't get announced that I'm actually interested in potentially seeing:</p><ul><li>The Order sequel</li><li>Resist4nce</li><li>Sly Cooper 5</li><li>J4k & D4xter</li><li>Kingdom Hearts 4</li><li>Killzone 4</li><li>A true Final Fantasy Tactics 2</li></ul><p>It's a surprising number of fourquels, but that's how the cookie crumbles sometimes.</p><h2 id="just-15-minutes-until-state-of-play-is-live">Just 15 minutes until State of Play is live! </h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/P0e5YEXtZu0" allowfullscreen></iframe></div></div><p>Hey, it's Rory here. I'm back from break and ready to guide you through the State of Play February 2026 from start to finish. The official countdown has begun, and the YouTube chat is already moving faster than I can read it. There's only 15 minutes until the biggest State of Play broadcast ever is live, so get ready, it's almost time!  </p><h2 id="one-final-wish-from-me-before-the-show-begins">One final wish from me before the show begins!</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BD5pSALUFi5xo6UFS4MhMg" name="🔴 THE GAME AWARDS 2025_ Official 4K60FPS Livestream (Today - 7_30p ET _ 4_30p PT _ 12_30a GMT) 2-15-59 screenshot" alt="THE GAME AWARDS 2025" src="https://cdn.mos.cms.futurecdn.net/BD5pSALUFi5xo6UFS4MhMg.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>State of Play is just 10 minutes away, so I'm making my final prediction, or maybe my final wish, I'd love to see more from Control: Resonant. This first control was one of my favorite games of 2019, and rare title I've earned the Platinum trophy in twice (on both PS4 and PS5). So here's hoping that Remedy have our next look at the game primed for today, and if we're super lucky we could even get a release date!</p><h2 id="this-is-your-5-minute-warning">This is your 5 minute warning! </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="y5T6EzpDkzjkm8NbGVewWW" name="PS5 Pro-9" alt="The PlayStation logo on a PS5 Pro" src="https://cdn.mos.cms.futurecdn.net/y5T6EzpDkzjkm8NbGVewWW.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide)</span></figcaption></figure><p>If you're not already sitting comfortable, with your stream (or this live blog) ready, now is the time to get in position. State of Play February 206 begins in less than five minutes. And I'm predicting that Saros or Marathon will kick off the showcase!</p><h2 id="state-of-play-feb-2026-is-live">State of Play Feb. 2026 is LIVE!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/P0e5YEXtZu0" allowfullscreen></iframe></div></div><p>The waiting is over, and the speculating is done. State of Play February 2026 starts now. Stand by for live updates, even if you can't watch along at home (or at work!), I'll have all the announcements for you in this live blog... </p><h2 id="kena-bridge-of-spirits-sequel-opens-the-show">Kena: Bridge of Spirits sequel opens the show!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/12EQpTwn4lY" allowfullscreen></iframe></div></div><p>Here's an opener I didn't have on my bingo card, a sequel to 2021's charming action-platform, Kena: Bridge of Spirits! </p><h2 id="kena-scars-of-kosmora-is-coming-2026">Kena: Scars of Kosmora is coming 2026</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:854px;"><p class="vanilla-image-block" style="padding-top:56.21%;"><img id="ssVv4EPEeDbtNVSycrw9ye" name="State of Play _ February 12, 2026 [English] 32-14 screenshot" alt="State of Play Feb 2026 Kena: Scars of Kosmora" src="https://cdn.mos.cms.futurecdn.net/ssVv4EPEeDbtNVSycrw9ye.png" mos="" align="middle" fullscreen="" width="854" height="480" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>The sequel is called Kena: Scars of Kosmora, and it'll be launching on PS5 and PC in 2026. It stars an older, more experienced, Kena and is set in a new land, the titular Kosmora. It looks once again to combine a charming art style with surprisingly demanding combat. Consider me sold!  </p><h2 id="ghost-of-yotei-legends">Ghost of Yotei Legends? </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:854px;"><p class="vanilla-image-block" style="padding-top:56.21%;"><img id="NLsXLFgTCbb5qQ7d2Ye4J8" name="State of Play _ February 12, 2026 [English] 34-21 screenshot" alt="State of Play Feb 2026 Ghost of yotei mp" src="https://cdn.mos.cms.futurecdn.net/NLsXLFgTCbb5qQ7d2Ye4J8.png" mos="" align="middle" fullscreen="" width="854" height="480" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: SOny)</span></figcaption></figure><p>Next up, it's an announcement from Sucker Punch. Will this be the Ghost of Yotei Legends multiplayer mode? </p><h2 id="yup-ghost-of-yotei-legends-launches-on-march-10">Yup, Ghost of Yotei Legends launches on March 10!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/5VYyhow-EU8" allowfullscreen></iframe></div></div><p>Fans of co-op samurai action rejoice, Ghost of Yotei is getting a Legends mode update next month. </p><h2 id="death-stranding-2-on-the-beach-comes-to-pc-on-march-19">Death Stranding 2: On the Beach comes to PC on March 19</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/4b6hcN5vZsw" allowfullscreen></iframe></div></div><p>Fantastic sequel Death Stranding 2: On the Beach won't be PS5-locked for much longer as it's making it's way over to PC on March 19. This was a contender for GOTY at The Game Awards, and will no doubt look truly incredible on a beefy gaming PC.</p><h2 id="4-loop-gameplay-is-up-next">4:Loop gameplay is up next!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/hoXXNPgqYkw" allowfullscreen></iframe></div></div><p>Next, it's time for an update on sci-fi co-op game 4:Loop. I'm still not totally sure what the hook of this title is, but it appears to have a bit of ARC Raiders about it, so maybe it'll also suck up a whole bunch of my free time when it launches on PS5.</p><h2 id="4-loop-wants-your-help">4:Loop wants your help!</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:854px;"><p class="vanilla-image-block" style="padding-top:56.21%;"><img id="6wzGSqySDKWaeS8jMFJrcX" name="State of Play _ February 12, 2026 [English] 38-16 screenshot" alt="State of Play Feb 2026 Four loop" src="https://cdn.mos.cms.futurecdn.net/6wzGSqySDKWaeS8jMFJrcX.png" mos="" align="middle" fullscreen="" width="854" height="480" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>4:Loop will have upcoming play tests as the developers "want your help" to craft the game, but no details have been given yet about when these will be. Without even a vague release date, I think we can assume 4:Loop still has a way to go until launch.</p><h2 id="pragmata-looks-better-ever-time-i-see-it-and-get-s-a-demo">Pragmata looks better ever time I see it (and get's a demo)! </h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/6lbf5ZPUtx0" allowfullscreen></iframe></div></div><p>A quick trailer for Capcom's Pragmata next. Every time I see this game, my interest levels increase. It's out on April 24, but even better, there's a playable demo which is available to download from the PlayStation Store right now! </p><h2 id="resident-evil-time">Resident Evil time!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/u2jrHzua0jA" allowfullscreen></iframe></div></div><p>Well, I called this one earlier, but it's Capcom's turn in the spotlight as Resident Evil Requiem takes the State of Play (virtual) stage. It's out February 27, and I really don't need to see more of this game. I'm completely sold, so I'm looking away till it's over!</p><h2 id="legacy-of-kain-defiance-remastered-and-brigandine-abyss">Legacy of Kain Defiance Remastered and Brigandine Abyss!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/Jocj5kRYcFE" allowfullscreen></iframe></div></div><p>Legacy of Kain: Defiance launched in 2003, and the final game in the series is getting a remastered edition. It'll be out next month, and includes a bunch of upgrades. And we also got a look at strategy game Brigandine Abyss, out in 2026.</p><h2 id="dead-or-alive-6-last-round-and-a-new-installment-in-the-series">Dead or Alive 6: Last Round and a NEW installment in the series!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/5z0L0ba4r8k" allowfullscreen></iframe></div></div><p>Dead or Alive 6 is getting brought to PS5 in a Last Round package, and we also got confirmation that Dead or Alive 30th Anniversary is in development as well. Lots for fans of the fighting game franchise to look for to! </p><h2 id="control-resonant-gameplay-premieres-at-state-of-play">Control Resonant gameplay premieres at State of Play! </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2hznXMYqmLi5V2WpWSmc48" name="State of Play _ February 12, 2026 [English] 48-42 screenshot" alt="Control Resonant" src="https://cdn.mos.cms.futurecdn.net/2hznXMYqmLi5V2WpWSmc48.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>One of my wishes came true, next it's uncut gameplay of Control: Resonant, and it looks pretty darn impressive. There's a lot to take in, including a new Manhattan-set level, new powers and new enemies. It looks a lot more open than the first Control. </p><h2 id="crimson-moon-announced">Crimson Moon announced! </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6nUmCZxGPhumiUMWgCGaaa" name="State of Play _ February 12, 2026 [English] 51-50 screenshot" alt="Crimson Moon" src="https://cdn.mos.cms.futurecdn.net/6nUmCZxGPhumiUMWgCGaaa.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>Well, it's always nice to see something new at these events, Crimson Moon appears to be a fantasy action game. Looks a little Soulslike, but I got HUGE Darksiders vibes from it, I was thinking it was a new Darksiders game for most of the trailer!</p><h2 id="beast-of-reincarnation-gets-a-new-trailer-and-release-date">Beast of Reincarnation gets a new trailer and release date!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/zqxdVtJ24ms" allowfullscreen></iframe></div></div><p>Did you think Game Freak could only make Pokemon games? Well take a look at Beast of Reincarnation, which is heading to PS5 on August 4. I've scanned the trailer but I cannot see a Charizard anywhere! </p><h2 id="mina-the-hollower-gets-a-new-look">Mina The Hollower gets a new look!</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wNukqkuzDwJocuWNgt2nwC" name="State of Play _ February 12, 2026 [English] 56-9 screenshot" alt="Mina the Hollower" src="https://cdn.mos.cms.futurecdn.net/wNukqkuzDwJocuWNgt2nwC.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>Shovel Knight fans, you'll want to check out this new look at Mina The Hollower, the next game from Yacht Club Games. It's out later this year and an exclsuive demo drops on PS5 tomorrow (Feb. 13)</p><h2 id="charming-indie-neva-is-getting-a-prequel">Charming indie Neva is getting a prequel!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/ik25sbAG94s" allowfullscreen></iframe></div></div><p>I know one colleague who is very happy because charming indie Neva is getting a prequel called... Neva: Prologue. It's out February 19. </p><h2 id="yakoh-shinobi-ops-is-next-up">Yakoh Shinobi Ops is next up!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/lHMwFxOa-_A" allowfullscreen></iframe></div></div><p>The next announcement is Yakoh Shinobi Ops, which is an isometric stealth-action game based on the gameplay footage. It also includes a very vicious monkey! </p><h2 id="project-windless-casts-you-as-a-chicken">Project Windless casts you as a... chicken?</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/HD0dMr3kAQs" allowfullscreen></iframe></div></div><p>Are you playing as an oversized chicken with a huge sword?! One of the more original games we've seen today, this cinematic action game has you playing as a humanoid chicken in a bloody fantasy world. It's called Project Windless! </p><h2 id="star-wars-alert">Star Wars alert!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/XDBc-kbL-Ic" allowfullscreen></iframe></div></div><p>We've flown over to a galaxy far, far away for Star Wars: Galactic Racer, a new racing game (duh!) set in the beloved sci-fi universe. It's out in 2026, and looks ridiculously cinematic! </p><h2 id="new-trailer-for-007-first-light">New trailer for 007: First Light!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/trvIyyFt_MM" allowfullscreen></iframe></div></div><p>Another correct prediction for me (Though this was a bit of a freebie), 007: First Light gets a new trailer. It looks great, and probably the closest to a new Uncharted game we'll be seeing for a while. It's out on May 27, and if you pre-order now you get the Deluxe Edition at no extra cost, which is a new perk for early adopters. </p><h2 id="konami-is-taking-over-the-state-of-play">Konami is taking over the State of Play!</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="QfaoQZCJfnqCxDWoT6e7iP" name="State of Play _ February 12, 2026 [English] 1-5-34 screenshot" alt="Konami" src="https://cdn.mos.cms.futurecdn.net/QfaoQZCJfnqCxDWoT6e7iP.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>Sony's trying something new here, by giving the stage over to Konami, it's like a second showcase within a showcase! </p><h2 id="mgs-master-collection-vol-2-is-real">MGS Master Collection Vol. 2 is real!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/a3AujdsJvjI" allowfullscreen></iframe></div></div><p>Good news for MGS fans (I can hear TG's Tony Polanco screaming from here), Metal Gear Solid Master Collection Vol. 2 is here, and will include MGS 4 and MGS Peace Walker. It's out on August 27. This is great news in general, as MGS 4 was previously locked to the PS3, but from the summer, it'll be playable on modern hardware. </p><p>The MGS Master Collection Vol. 1 is also getting a free update with a new sharper resolution setting. It's rolling out today, and MGS 3 Delta: Snake Eater is on sale!</p><h2 id="mgs-x-darwin-s-paradox">MGS x Darwin's Paradox! </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EQokgbZNc6ftBjfF63afuF" name="State of Play _ February 12, 2026 [English] 1-11-20 screenshot" alt="Darwin's Playbook" src="https://cdn.mos.cms.futurecdn.net/EQokgbZNc6ftBjfF63afuF.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>The upcoming octopus game, Darwin's Paradox, is getting a crossover with Metal Gear Solid. That's not something I ever expected to type, but I'm here for it, and the comical-looking game is getting a demo that's out before its full launch on April 2. </p><h2 id="castlevania-lives">Castlevania lives! </h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/X3-SJLWzjmE" allowfullscreen></iframe></div></div><p>It's a good day for Castlevania fans, as the series is back after 15 years in the shadows. It's a new side-scrolling adventure, called Castlevania: Belmont's Curse. It's out in 2026. You play Trevor Belmont, and it looks like a modern spin on the series.</p><h2 id="i-think-i-hear-silent-hill-music">I think I hear Silent Hill music!</h2><p>Silent Hill is enjoying a franchise revival after the fantastic Silent Hill 2 Remake and Silent Hill f, and I'm pretty sure this our first look at what's next for the horror series...</p><h2 id="silent-hill-townfall-is-coming-2026">Silent Hill Townfall is coming 2026</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/CvN3dP92wxU" allowfullscreen></iframe></div></div><p>The previously announced Silent Hill Townfall gets a new look with some quick shots of gameplay. There's a fullSilent Hill Transmission following this State of Play where we're going to hear more about the game, so be sure to stick around for that! </p><h2 id="konami-s-next-and-final-game-is-rev-noir">Konami's next (and final) game is Rev.Noir!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/SGRT0_YrOZs" allowfullscreen></iframe></div></div><p>One for the anime as we get a trailer for Rev.Noir, which is in development for PS5, and is described as a new JRPG title. It looks a bit generic for my tastes, but I'm sure genre fans are going to be very intrigued about this one.</p><h2 id="john-wick-the-video-game-right">John Wick: The Video Game, right? </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SqXZSku7P6NmXmSzYBonNY" name="State of Play _ February 12, 2026 [English] 1-21-3 screenshot" alt="John Wick" src="https://cdn.mos.cms.futurecdn.net/SqXZSku7P6NmXmSzYBonNY.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>I'm pretty sure this next trailer is for a John Wick game....</p><h2 id="yup-john-wick-from-saber-is-confirmed">Yup, John Wick from Saber is confirmed!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/OhHvHrDBru8" allowfullscreen></iframe></div></div><p>Guess we'll soon be living out our John Wick fantasies as the Baba Yaga himself, as Saber is making a John Wick game. The trailer was very slick, but we only got a very brief look at what appears to be gameplay, and no date, so don't expect to be playing anytime soon! </p><h2 id="finally-marathon-time">Finally Marathon time!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/lygqlbSi9TE" allowfullscreen></iframe></div></div><p>This one was confirmed prior to the show, so it's no sunrise to see a new trailer for Bungie's Marathon. It's out on March 5, and there will be a preview weekend Feb. 26 to March 2, so you can give the sci-fi extraction shooter a shot before launch. Bungie are calling it the "Server Slam," which is a fantastic name for a beta!</p><h2 id="the-leaks-were-true-spider-man-2-comes-to-ps">The leaks were true, Spider-Man 2 comes to PS+</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DRnXCh84ut7xc3pJQgudq4" name="Marvel's Spider-Man 2.jpg" alt="Marvel's Spider-Man 2" src="https://cdn.mos.cms.futurecdn.net/DRnXCh84ut7xc3pJQgudq4.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony Interactive Entertainment)</span></figcaption></figure><p>If you somehow haven't played Marvel's Spider-Man 2 on PS5 yet, soon you'll have no excuse as the game is heading over to PS+ (at the Extra/Premium tier) later this month. New games are being added to the Classic Library as well, Time Crisis and Tekken Dark Resurrection. </p><h2 id="saros-gets-the-spotlight">Saros gets the spotlight</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ENXufMEGDGpyGzjrZKtmFE" name="State of Play _ February 12, 2025 [English] 53-23 screenshot" alt="Saros" src="https://cdn.mos.cms.futurecdn.net/ENXufMEGDGpyGzjrZKtmFE.png" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>Saros, the spiritual follow-up to Returnal, is up next. This is another game I was extremely confident would feature at State of Play, the only surprise is that it's taken this long to appear. </p><h2 id="the-show-s-not-over-yet">The show's not over yet...</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JL98xjoMxh3mjUnftsEwtF" name="Marvel Tokon lede" alt="Marvel Tokon: Fighting Souls" src="https://cdn.mos.cms.futurecdn.net/JL98xjoMxh3mjUnftsEwtF.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony Interactive Entertainment)</span></figcaption></figure><p>Saros' gameplay presentation is over, and we've ticked over the hour mark, but we're not done yet, the next trailer is for Marvel Tokon! </p><h2 id="marvel-tokon-looks-excellent-again-and-is-out-august-6">Marvel Tokon looks excellent (again), and is out August 6!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/X4C_0Yf43fM" allowfullscreen></iframe></div></div><p>We got a release date for Marvel Tokon at the end of that very polished trailer; it's out on August 6. I'm already going to be a Spider-Man main, but we've also got confirmation that X-Men will be included. The game revolves around building a four-character team, so there will be a spot for Wolverine in my roster!</p><h2 id="i-think-this-is-the-last-reveal">I think this is the last reveal!</h2><p>Santa Monica Studios logo pops up, and God of War music starts playing, this is probably the big closing game!</p><h2 id="god-of-war-trilogy-remake-is-confirmed">God of War Trilogy Remake is confirmed!</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/G_tq12WisX8" allowfullscreen></iframe></div></div><p>It looks like the requests for the original God of War games to return have been heard. God of War Trilogy Remake has just been announced at State of Play! </p><p>It's still "in the early stages," so don't expect any further updates on this project for a while, but still, it's sure to have PlayStation fans very hyped in months to come!</p><h2 id="but-there-s-more-god-of-war-2d-revealed">But there's more... God of War 2D revealed! </h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/eFhOo6NTt70" allowfullscreen></iframe></div></div><p>The rumors about a 2D God of War game were accurate; you play Kratos before he was a God, when he was a Spartan warrior. It's a very different spin on the franchise! </p><p>It's called God of War: Sons of Sparta, and it's out<strong> TODAY! </strong></p><h2 id="and-that-s-a-wrap-on-state-of-play-february-2026">And that's a wrap on State of Play February 2026</h2><p>After a jam packed 85 minutes of game reveals and new trailers, State of Play February 2026 draws to a close. The one-two punch of a God of War Trilogy Remake and a new 2D game (Sons of Sparta) that you can play today capped the showcase. </p><h2 id="that-was-a-very-solid-but-not-spectacular-state-of-play">That was a very solid (but not spectacular) State of Play! </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9TgxHLqSZdRtBa7kriUhTP" name="State of Play _ February 12, 2026 [English] 1-41-13 screenshot" alt="That's a wrap on State of Play Feb 2026" src="https://cdn.mos.cms.futurecdn.net/9TgxHLqSZdRtBa7kriUhTP.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>Whelp, the first State of Play for 2026 is in the can, and I was pretty pleased overall. While it lacked major surprises, we got updates on games I'm super excited to play (Saros, Control Resonant and more), and a few new reveals caught my eye, too. It wasn't quite the State of Play of dreams some predicted but it was a solid event.</p><h2 id="so-what-games-intrigued-you">So, what games intrigued you?</h2><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eAREqW"></div>                            </div>                            <script src="https://kwizly.com/embed/eAREqW.js" async></script><p>That was supersized State of Play with a surprising number of games. </p><p>So, what games caught your eye.</p><p>Me? The Chicken man of Project Windless looked interesting and I'm a sucker for God of War.</p><p>I'm also curious about Yakoh and if it will scratch the Tenchu itch, but the isometric view isn't quite what Tenchu was, still. </p><h2 id="read-a-book">Read a book?</h2><div class="youtube-video" data-nosnippet ><div class="video-aspect-box"><iframe data-lazy-priority="low" data-lazy-src="https://www.youtube-nocookie.com/embed/HD0dMr3kAQs" allowfullscreen></iframe></div></div><p>Project Windless is one of the games that I'm most intrigued by. As the trailer notes it's based on a Korean fantasy series called The Bird That Drinks Tears. </p><p>From what I can tell the book is finally being <a href="https://www.amazon.com/Heart-Nhaga-Novel-Drinks-Tears/dp/0063349892/ref=tmm_hrd_swatch_0" target="_blank">translated into English and will come out this June</a>.</p><p>I plan on checking out the book when it finally releases.</p><p>What about you? Did you find this interesting?</p><h2 id="that-s-a-wrap">That's a wrap</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="9TgxHLqSZdRtBa7kriUhTP" name="State of Play _ February 12, 2026 [English] 1-41-13 screenshot" alt="That's a wrap on State of Play Feb 2026" src="https://cdn.mos.cms.futurecdn.net/9TgxHLqSZdRtBa7kriUhTP.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>As these games finally come out, Tom's Guide will have reviews and hands-ons on a good chunk of these titles as we can. </p><p>What's next, we're hoping for more hardware announcements from PlayStation including the rumored OLED Portal and news about PSSR advancements.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The Sony PlayStation Portal could get a Pro edition with a major display upgrade ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/the-sony-playstation-portal-could-get-a-pro-edition-with-a-major-display-upgrade</link>
                                                                            <description>
                            <![CDATA[ A new leak claims Sony is planning on putting an OLED display on the next version of the PlayStation Portal. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">jShvhffD8eaoBF6h3Jvcva</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/BQugizGHkFVy4HFkCroVLm-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 16 Jan 2026 22:50:55 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/BQugizGHkFVy4HFkCroVLm-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The PlayStation Portal on a counter with the start screen for Horizon Forbidden West]]></media:description>                                                            <media:text><![CDATA[The PlayStation Portal on a counter with the start screen for Horizon Forbidden West]]></media:text>
                                <media:title type="plain"><![CDATA[The PlayStation Portal on a counter with the start screen for Horizon Forbidden West]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/BQugizGHkFVy4HFkCroVLm-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Since launching in 2023, the PlayStation Portal has slowly been becoming more of a handheld console and not just a remote streaming device. Now, a new rumor indicates Sony is working on an upgraded version that would make it even better.</p><p>In a post on X, leaker <a href="https://x.com/Zuby_Tech/status/2010031067554865444" target="_blank">Zuby_Tech</a> (spotted by <a href="https://www.notebookcheck.net/The-PlayStation-Portal-could-get-an-OLED-upgrade-with-its-next-model-refresh.1201763.0.html" target="_blank">Notebook Check</a>) claimed that Sony will release a new version that could feature an OLED display with a 120Hz refresh rate. They also said it could potentially be dubbed the PlayStation Portal Pro. </p><p>Sony has not announced any refreshes for the Portal. </p><p>The current Portal features a 1080p LCD screen with a 60Hz refresh rate. An OLED display would be a major upgrade that delivers deeper blacks, better contrast, and colors. Honestly, that alone might make the PS Portal an attractive option. </p><p>Zuby_Tech did not provide a timeline or potential price for the Portal Pro.</p><h2 id="playstation-6-and-the-next-playstation-handheld">PlayStation 6 and the next PlayStation handheld</h2><p>Presumably, the updated PlayStation Portal would need to launch in the next year. We are taking this with a grain of salt because the next generation of Sony consoles isn't far off.</p><p>Sony has <a href="https://www.tomsguide.com/gaming/playstation/ps6-is-coming-in-a-few-years-sony-and-amd-just-teased-3-breakthrough-graphics-features-for-the-future-of-gaming">already confirmed that it's partnering with AMD</a> on the PS6, which should come out in "a few years." And last year, a <a href="https://www.tomsguide.com/gaming/ps6-and-new-playstation-handheld-specs-reportedly-leak-and-suggest-a-huge-upgrade-over-ps5">slew of rumors </a>suggested that Sony would release some kind of <a href="https://www.tomsguide.com/gaming/playstation/rumored-playstation-handheld-seemingly-confirmed-heres-what-we-know">PlayStation 6 handheld</a> alongside the <a href="https://www.tomsguide.com/gaming/playstation/im-skeptical-about-the-ps6-heres-3-upgrades-that-could-change-my-mind">PS6</a>. </p><p>The PS6 handheld is supposed to be capable of <a href="https://www.tomsguide.com/gaming/playstation/rumored-playstation-handheld-seemingly-confirmed-heres-what-we-know">playing PS5 games natively, </a>based on a Bloomberg report from November last year.</p><p>At the earliest, it's expected that we'll see Sony announce the next generation in the fall of 2027, possibly 2028, which would mark the traditional seven-year cycle Sony has followed with previous console generations.</p><h2 id="nintendo-too">Nintendo too?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Juxvb6aK7PUJQmtiEwnCeb" name="Nintendo-Switch-2-SFII" alt="The Nintendo Switch 2 propped up on a kitchen table" src="https://cdn.mos.cms.futurecdn.net/Juxvb6aK7PUJQmtiEwnCeb.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Stephen Lambrechts / Tom's Guide)</span></figcaption></figure><p>Speaking of OLED displays, Nintendo fans may have been disappointed that the <a href="https://www.tomsguide.com/gaming/nintendo/nintendo-switch-2-console-review">Nintendo Switch 2</a> launched with an LCD display rather than an OLED one, despite the <a href="https://www.tomsguide.com/reviews/nintendo-switch-oled">OLED Switch</a> existing. </p><p>However, an OLED version may be coming. A separate report from <a href="https://www.notebookcheck.net/New-Switch-2-Pro-OLED-or-Lite-console-model-possible-after-discovery-on-Nintendo-Account-site.1205283.0.html">Notebook Check</a> reveals that a mysterious code appeared on the Nintendo Account portal site, hinting at future versions of the Switch 2.</p><p>The strange "OSM" code attached to an image of the Switch 2 hints that Nintendo could ship an OLED model. Other speculation includes the release of a Pro model with higher memory, though with the current <a href="https://www.tomsguide.com/computing/ram-prices-are-exploding-heres-why-and-everything-you-need-to-know-about-surviving-ramageddon">RAM crisis</a> that seems less likely.</p><p>Instead, it's posited that Nintendo could launch a Lite model similar to the original <a href="https://www.tomsguide.com/reviews/nintendo-switch-lite">Nintendo Switch Lite</a> version that ditched the dock and kept the controllers locked to the body. <br><br>Or it could be nothing. We'll just have to wait and see!</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/playstation/ive-used-the-ps5-pro-every-day-for-a-year-heres-what-i-like-and-dislike">I’ve used the PS5 Pro every day for a year — here’s what I like (and don't) after 1,000+ hours of play</a></li><li><a href="https://www.tomsguide.com/gaming/playstation/ive-been-playing-my-16-year-old-psp-go-for-a-month-and-now-i-cant-wait-for-ps6s-rumored-next-gen-handheld">I’ve been playing my 16-year-old PSP Go for a month, and now I can’t wait for PS6’s rumored next-gen handheld</a></li><li><a href="https://www.tomsguide.com/gaming/playstation/intels-panther-lake-might-be-a-great-ballpark-estimate-for-how-ps6-handhelds-perform-leaker-claims">Leaker compares Intel's Panther Lake with rumored AMD 'Canis' chips that could power the PS6 Handheld</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Leaker compares Intel's Panther Lake with rumored AMD 'Canis' chips that could power the PS6 Handheld ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/intels-panther-lake-might-be-a-great-ballpark-estimate-for-how-ps6-handhelds-perform-leaker-claims</link>
                                                                            <description>
                            <![CDATA[ Regular leaker reveals some Panther Lake and AMD 'Canis' specs. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">hEGVypBAp9WqMs6QPDEfD9</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/HBmtEFz4fFrk2SG92TRoF9-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 13 Jan 2026 00:34:33 +0000</pubDate>                                                                                                                                <updated>Tue, 13 Jan 2026 17:36:14 +0000</updated>
                                                                                                                                            <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ scott.younker@futurenet.com (Scott Younker) ]]></author>                    <dc:creator><![CDATA[ Scott Younker ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/RZsUpqcJ6Uj2q83oCUwNhQ.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Scott Younker is the West Coast Reporter at Tom’s Guide. He covers all the latest tech news, including phones, computing and more. He’s been involved in tech since 2011 covering everything from cameras and swimming pool equipment to the latest gaming consoles and smart TVs. He is on a seemingly never ending hunt to build the easiest to use home media system. &lt;/p&gt;&lt;p&gt;Before Tom’s Guide, Scott worked for publications like &lt;em&gt;Digital Trends, Outdoor Photographer, Dead Beats Panel&lt;/em&gt;, and in a brief detour, &lt;em&gt;America’s Funniest Home Videos&lt;/em&gt;. Yes, he has seen more pratfalls, silly pets and ridiculous home movie fails than is reasonably healthy. &lt;/p&gt;&lt;p&gt;When not writing about the latest devices or advances in chipsets, be sure to ask about Scott about disc golf and sustainability, or just if you’re being cheeky, ask about his noodle arm. If you truly want to get nerdy, bring up board games and his ongoing losing streak. &lt;/p&gt;&lt;p&gt;Scott joined Tom&#039;s Guide in 2024 as the West Coast Reporter. He graduated from the School of Journalism at the University of Oregon with a degree in magazine journalism and a minor in communications. While there he blogged or wrote for several magazines including the Fluxx, Ethos and the Oregon Commentator. He briefly wrote and managed a moderately successful blog focused on web comics. &lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/HBmtEFz4fFrk2SG92TRoF9-1280-80.jpg">
                                                            <media:credit><![CDATA[Intel]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Intel Panther Lake]]></media:description>                                                            <media:text><![CDATA[Intel Panther Lake]]></media:text>
                                <media:title type="plain"><![CDATA[Intel Panther Lake]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/HBmtEFz4fFrk2SG92TRoF9-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Intel's <a href="https://www.tomsguide.com/computing/cpus/intel-panther-lake-cpus-promise-insane-gains-50-percent-faster-with-a-breakthrough-gpu">Panther Lake</a> chipsets are expected to be a <a href="https://www.tomsguide.com/gaming/handheld-gaming/forget-amd-heres-why-intel-panther-lake-could-fuel-the-future-of-handheld-gaming">generational leap</a> for handheld gaming consoles. It's something AMD, which powers machines like the  <a href="https://www.tomsguide.com/gaming/handheld-gaming/msi-claw-a8-review">MSI Claw A8</a> and the rumored <a href="https://www.tomsguide.com/gaming/playstation/amd-tipped-to-provide-chips-for-ps6-new-playstation-handheld-and-the-next-xbox">PlayStation 6 handheld</a>, should potentially be worried about.</p><p>Surprisingly, a new leak from <a href="https://x.com/Kepler_L2/status/2010216729537065326" target="_blank">regular gaming tipster Kepler_L2 </a>shared a comparison of the Panther Lake and the rumored AMD codenamed 'Canis' custom chip.  </p><p>Rumors have asserted that Canis will come with 4 Zen 6C cores based on 15W power. According to Kepler, Panther Lake will hit 30W. </p><p>The <a href="https://www.tomsguide.com/gaming/playstation/ps6-leaks-and-rumors">PS6 </a>handheld is supposed to be capable of running PS5 games natively, with a slightly lower fidelity. Kepler claims that Panther Lake will offer similar performance to the Canis chip, but with double the power consumption.</p><p>He also said that the AMD's Ryzen Z2 Extreme is too slow, while the Strix Halo is too fast. Panther Lake, meanwhile, would hit the middle ground between those poles.</p><h2 id="panther-lake-won-t-be-a-slouch">Panther Lake won't be a slouch</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LsSMC8xBh3sDNyQcEAXZSe" name="Intel Panther Lake" alt="Intel Panther Lake" src="https://cdn.mos.cms.futurecdn.net/LsSMC8xBh3sDNyQcEAXZSe.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>On one level, Panther Lake offering similar peformance as Canis with double the power consumption sounds bad. However, AMD gets to optimize its chip for Sony's proprietary PlayStation OS. </p><p>Panther Lake handhelds will handle a bigger range of games, programs and beefier operating systems, so a higher power consumption makes sense. Plus, a report from <a href="https://videocardz.com/newz/exclusive-intel-readies-core-g3-extreme-and-core-g3-panther-lake-chips-for-gaming-handhelds-featuring-12-and-10-xe3-gpu-cores" target="_blank">VideoCardz leaked</a> a new Intel Core G3 chip based on Panther Lake that will be made exclusively for handheld consoles. Those will likely be more optimized with lower power draw.</p><p>Panther Lake based handhelds will likely launch before the end of 2026, so we'll see how they truly perform before the year is out. Our <a href="https://www.tomsguide.com/computing/cpus/intel-panther-lake-cpus-promise-insane-gains-50-percent-faster-with-a-breakthrough-gpu">initial testing at CES 2026</a>, shows these chips will be powerful.</p><p>Meanwhile, the earliest we expect to see the PS6 handheld and the main PS6 console is in the fall of 2027, possibly early 2028, which would mark the traditional seven-year cycle Sony has stuck to for its previous consoles.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/computing/i-tried-gaming-on-an-intel-core-ultra-series-3-chip-and-it-kicks-off-a-new-era-of-pc-gaming">I tried gaming on an Intel Core Ultra Series 3 chip — and it kicks off a new era of PC gaming</a></li><li><a href="https://www.tomsguide.com/computing/cpus/intel-at-ces-2026-how-to-watch-the-core-ultra-series-3-keynote-and-what-to-expect">Intel at CES 2026: How to watch the Core Ultra Series 3 keynote and what to expect</a></li><li><a href="https://www.tomsguide.com/computing/cpus/apples-m-series-chip-gamble-5-years-later-how-ditching-intel-revolutionized-computing-and-whats-next">Apple’s M-series chip 5 years later: How ditching Intel revolutionized computing — and what’s next</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I grew up gaming — here’s why Sony’s AI gameplay plan worries me ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/ai/i-grew-up-gaming-heres-why-sonys-ai-gameplay-plan-worries-me</link>
                                                                            <description>
                            <![CDATA[ Sony’s AI patent could let PlayStation games solve puzzles or beat bosses for you. Gamers are split on whether that helps — or ruins the fun. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">z5gNfvA7HsKvixag4kJGWM</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/G6iHnUaHZfLvU9ubZcuPHP-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 09 Jan 2026 06:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elton Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/qoRE8e6t2nzaNKAhJGDv7g.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/G6iHnUaHZfLvU9ubZcuPHP-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Playstation 5 controller]]></media:description>                                                            <media:text><![CDATA[Playstation 5 controller]]></media:text>
                                <media:title type="plain"><![CDATA[Playstation 5 controller]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/G6iHnUaHZfLvU9ubZcuPHP-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>AI is moving fast. Within the last month we've seen <a href="https://www.tomsguide.com/ai/gemini-3-flash-launches-worldwide-heres-everything-to-know-about-googles-smartest-model-yet">Gemini 3 Flash</a> released and even AI upgrades to <a href="https://www.tomsguide.com/ai/gmails-biggest-update-in-20-years-5-ai-features-that-could-change-email-forever">Gmail after over 20 years</a>! But advancements in gaming are much more of a hot-button topic, sparking “passionate” debates between supporters and skeptics across the internet.<br><br>That tension has only intensified since <a href="https://www.tomsguide.com/gaming/playstation/ive-been-a-playstation-fan-for-over-20-years-heres-why-im-skipping-the-ps5-pro">Sony PlayStation</a> created a <a href="https://patentscope.wipo.int/search/en/WO2025080356" target="_blank">patent</a> aimed at reducing friction in gameplay by using AI assistance. Once you understand what the technology proposes, it’s easy to see why it hasn’t gone over well with longtime gamers who’ve spent years — or decades — honing their skills. Here's everything to know. </p><h2 id="letting-ai-take-over-kills-the-thrill-of-winning">Letting AI take over kills the thrill of winning</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5043px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="zqjKUAs3AHSzS4h3ZSeWf6" name="GettyImages-1223003228_169.jpg" alt="A PC gamer sitting at a desk wearing a headset with purple-blow LED lighting." src="https://cdn.mos.cms.futurecdn.net/zqjKUAs3AHSzS4h3ZSeWf6.jpg" mos="" align="middle" fullscreen="" width="5043" height="2836" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images / RyanKing999)</span></figcaption></figure><p>According to the patent, PlayStation games could eventually play themselves through a feature called Ghost Assistance. In Guide Mode, players can set the controller down while the AI demonstrates how to solve a puzzle or approach a tough fight, then jump back in and try it themselves. Complete Mode goes further, clearing those challenges entirely before returning control.</p><p>As someone who practically came out of the womb with a gamepad in his hands, I understand why this idea rubs so many players the wrong way — even if I can also see how it might help.</p><p>Whenever I hit a brutal boss or brain-melting puzzle, dread sets in. After failed attempts, heavy breathing, and a few expletives I won’t repeat, finally breaking through delivers a rush that makes it all worth it. Hardcore gamers know that feeling well — and letting AI handle those moments means missing out on that hard-earned euphoria.</p><p>Casual players may not care. But Soulslike fans would scoff at anyone bragging about letting AI defeat <em>Elden Ring’s</em> Malenia for them. If you ask me, it’s better to rage quit, take a breather, and come back ready to die 20 more times — the victory is sweeter that way.</p><h2 id="ai-gameplay-could-create-fake-flexing-unless-trophies-are-disabled">AI gameplay could create fake flexing — unless trophies are disabled</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="rfZVjPgYikkkTtfiP4yNE7" name="PlayStation Portal-3.jpg" alt="A PlayStation Portal showing Elden Ring" src="https://cdn.mos.cms.futurecdn.net/rfZVjPgYikkkTtfiP4yNE7.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If this patent ever becomes reality on the PS5 or future PlayStation hardware, online gaming discourse could get even messier than it already is.</p><p>Just imagine your timeline being dominated by posts from random gamers posting clips of their near-flawless gameplay and not being able to tell if they were done by their own hands or because the AI-generated “ghost” did it for them. Sony could stop this nightmare scenario from coming to fruition with a simple fix — disable trophies for players that tap into the AI feature to do all the work. </p><p>That way, players still get the help they need, but they can’t take full credit for achievements earned by AI. It preserves bragging rights for honest playthroughs while discouraging fraudulent flexing.</p><h2 id="letting-a-ghost-assistant-solve-a-puzzle-or-two-could-help">Letting a Ghost Assistant solve a puzzle or two could help</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1280px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="VamGxUpDtf6qpuycZt78k5" name="gaming gear.jpg" alt="Gaming gear" src="https://cdn.mos.cms.futurecdn.net/VamGxUpDtf6qpuycZt78k5.jpg" mos="" align="middle" fullscreen="" width="1280" height="720" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Ekkaphan Chimpalee/Shutterstock)</span></figcaption></figure><p>I’ll be the first to admit I’ve pulled out my phone and searched YouTube for puzzle solutions more than once (yes, I needed help decoding those snow-region codes in <em>Ghost of Yōtei</em> — judge me).</p><p>With Ghost Assistance, players wouldn’t need to leave the game to get unstuck. Turning on Guide Mode could quickly nudge players past frustrating roadblocks without completely removing them from the experience. Used sparingly, that kind of assist could strike a healthy balance between accessibility and agency.</p><h2 id="bottom-line-2">Bottom line </h2><p>Sony’s AI patent has sparked plenty of backlash — and for understandable reasons. For many gamers, the idea of letting the game play itself feels fundamentally wrong.</p><p>But like most things in gaming, there’s a balance to be struck. Casual players may find exactly what they’re looking for in a feature like Ghost Assistance, while hardcore fans will likely ignore it entirely.</p><p>If this technology ever makes its way into the PS6, its real impact will depend on how — and how often — players choose to use it. Until then, it’s a fascinating glimpse into where gaming could be headed.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/ai/gmails-biggest-update-in-20-years-5-ai-features-that-could-change-email-forever"><strong>Gmail’s biggest update in 20 years: 5 AI features that could change email forever</strong></a></li><li><a href="https://www.tomsguide.com/ai/ai-is-moving-off-screens-and-into-games-homes-and-even-pet-care"><strong>AI is moving off screens — and into games, homes and even pet care</strong></a></li><li><a href="https://www.tomsguide.com/ai/i-used-chatgpt-voice-to-prep-for-a-job-interview-and-it-seriously-reduced-my-anxiety"><strong>I used ChatGPT Voice to prep for a job interview — and it helped me land the job</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ First PlayStation sale of 2026 has PS5 games from $4 — here’s 15 deals I’d buy now ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/first-playstation-sale-of-2026-has-ps5-games-from-usd4-heres-15-deals-id-buy-now</link>
                                                                            <description>
                            <![CDATA[ PlayStation Store's January sale is offering massive savings on GOTY-quality titles, including Clair Obscur, ARC Raiders and more. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">9gDHA8ALbj5SNBZRzwjzp3</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/nzAVsRmwEgTzipb4VLyoKm-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 07 Jan 2026 13:36:19 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ rory.mellon@futurenet.com (Rory Mellon) ]]></author>                    <dc:creator><![CDATA[ Rory Mellon ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5Rv6LtQXMj5JB4Eu8Lt4Sn.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/nzAVsRmwEgTzipb4VLyoKm-1280-80.jpg">
                                                            <media:credit><![CDATA[Embark Studios]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[ARC Raiders screenshot with a Tom&#039;s Guide deal tag]]></media:description>                                                            <media:text><![CDATA[ARC Raiders screenshot with a Tom&#039;s Guide deal tag]]></media:text>
                                <media:title type="plain"><![CDATA[ARC Raiders screenshot with a Tom&#039;s Guide deal tag]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/nzAVsRmwEgTzipb4VLyoKm-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>PlayStation Store has launched its first sale of 2026, and it's a big deal. Fittingly called the <a href="https://store.playstation.com/en-us/view/7bbceafe-bfa8-11ee-b375-5e45f4e139ac/536afef1-cf76-11f0-a646-fa812c21f9bf" target="_blank" rel="nofollow">Holiday Sale</a>, it runs through January 21 and offers savings across a range of the biggest PS5 games of the last 12 months, as well as bargain bin prices on some older, but still excellent, favorites.</p><p>Loads of the most popular and critically acclaimed games of 2025 are reduced. That includes <a href="https://store.playstation.com/en-us/product/EP7579-PPSA17599_00-EXP33000000PS5EU" target="_blank" rel="nofollow">Clair Obscur: Expedition 33</a> (was $49 now $39), <a href="https://store.playstation.com/en-us/product/HP7386-PPSA27158_00-0022337374597692" target="_blank" rel="nofollow">Dispatch</a> (was $29 now $26) and <a href="https://store.playstation.com/en-us/product/EP6848-PPSA04998_00-4085881659726287" target="_blank" rel="nofollow">ARC Raiders</a> (was $39 now $31).</p><p>Meanwhile, if you're looking for the cheapest PS5 deals, you can pick up the likes of <a href="https://store.playstation.com/en-us/product/UP1018-PPSA01593_00-HOGWARTSLEGACY01" target="_blank" rel="nofollow">Hogwarts Legacy for $10</a>, or <a href="https://store.playstation.com/en-us/product/UP1003-PPSA09016_00-FALLOUT4FULLGAME" target="_blank" rel="nofollow">Fallout 4 for just $4</a>, which is perfect if you've been streaming <a href="https://www.tomsguide.com/entertainment/prime-video/fallout-season-2-review-darker-bloodier-and-still-delightfully-funny">"Fallout" season 2</a> on Prime Video.</p><p>There are more than 4,500 deals in this PlayStation Store sale, so to save you the headache of scrolling through endless pages of discounts, I've collected my top picks below. I've also found some great PS5 deals at Amazon for those who prefer physical discs to digital downloads.</p><h3 class="article-body__section" id="section-best-playstation-store-deals"><span>Best PlayStation Store deals</span></h3><ul><li><strong>PS5 and PS4 games: </strong><a href="https://store.playstation.com/en-us/category/5f1c1547-62bc-4879-9f8f-73f9aacbbff2/1" target="_blank" rel="nofollow"><strong>deals from $4 @ PlayStation Store</strong></a></li><li><strong>Fallout 4: </strong><a href="https://store.playstation.com/en-us/product/UP1003-PPSA09016_00-FALLOUT4FULLGAME" target="_blank" rel="nofollow"><strong>was $19 now $4</strong></a></li><li><strong>Guardians of the Galaxy: </strong><a href="https://store.playstation.com/en-us/product/UP0082-PPSA01748_00-DXM0000000000001" target="_blank" rel="nofollow"><strong>was $59 now $8</strong></a><strong></strong></li><li><strong>Mortal Kombat 1: </strong><a href="https://store.playstation.com/en-us/product/UP1018-PPSA07570_00-MKONE00000000000" target="_blank" rel="nofollow"><strong>was $49 now $9</strong></a><strong></strong></li><li><strong>Sifu: </strong><a href="https://store.playstation.com/en-us/product/UP2703-PPSA05132_00-4856299050197748" target="_blank" rel="nofollow"><strong>was $39 now $9</strong></a><strong></strong></li><li><strong>Hogwarts Legacy: </strong><a href="https://store.playstation.com/en-us/product/UP1018-PPSA01593_00-HOGWARTSLEGACY01" target="_blank" rel="nofollow"><strong>was $69 now $10</strong></a><strong></strong></li><li><strong>Hollow Knight Silksong: </strong><a href="https://store.playstation.com/en-us/product/EP1805-PPSA12544_00-HKSILKSONGPS5000" target="_blank" rel="nofollow"><strong>was $19 now $15</strong></a><strong></strong></li><li><strong>Gears of War Reloaded: </strong><a href="https://store.playstation.com/en-us/product/UP6312-PPSA17525_00-0219247498273183" target="_blank" rel="nofollow"><strong>was $39 now $19</strong></a><strong></strong></li><li><strong>Avatar Frontiers of Pandora: </strong><a href="https://store.playstation.com/en-us/product/UP0001-PPSA01576_00-AVATAR2GAME00001" target="_blank" rel="nofollow"><strong>was $29 now $20</strong></a><strong></strong></li><li><strong>Cyberpunk 2077: </strong><a href="https://store.playstation.com/en-us/product/UP4497-PPSA03974_00-0000000000000CP1" target="_blank" rel="nofollow"><strong>was $49 now $22</strong></a><strong></strong></li><li><strong>Dispatch: </strong><a href="https://store.playstation.com/en-us/product/HP7386-PPSA27158_00-0022337374597692" target="_blank" rel="nofollow"><strong>was $29 now $26</strong></a><strong></strong></li><li><strong>ARC Raiders: </strong><a href="https://store.playstation.com/en-us/product/EP6848-PPSA04998_00-4085881659726287" target="_blank" rel="nofollow"><strong>was $39 now $31</strong></a><strong></strong></li><li><strong>Forza Horizon 5: </strong><a href="https://store.playstation.com/en-us/product/UP6312-PPSA22327_00-0629872585919347" target="_blank" rel="nofollow"><strong>was $59 now $35</strong></a></li><li><strong>Clair Obscur Expedition 33: </strong><a href="https://store.playstation.com/en-us/product/EP7579-PPSA17599_00-EXP33000000PS5EU" target="_blank" rel="nofollow"><strong>was $49 now $39</strong></a><strong></strong></li><li><strong>Battlefield 6: </strong><a href="https://store.playstation.com/en-us/product/UP0006-PPSA19534_00-SANTIAGOSTANDARD" target="_blank" rel="nofollow"><strong>was $69 now $48</strong></a><strong></strong></li><li><strong>Baldur's Gate 3: </strong><a href="https://store.playstation.com/en-us/product/UP3526-PPSA14001_00-0507384846053057" target="_blank" rel="nofollow"><strong>was $69 now $52</strong></a><strong></strong></li></ul><h3 class="article-body__section" id="section-best-ps5-game-deals-right-now"><span>Best PS5 game deals right now</span></h3><ul><li><a href="https://www.amazon.com/PlayStation-5-Games-Discounts-Consoles-Accessories/s?rh=n%3A20972797011%2Cp_n_deal_type%3A23566065011" target="_blank" rel="nofollow"><strong>PS5 game deals from $9 @ Amazon</strong></a></li><li><strong>Star Wars Outlaws: </strong><a href="https://www.amazon.com/Star-Wars-Outlaws-Limited-Exclusive-PlayStation/dp/B0D187PJHJ/" target="_blank" rel="nofollow"><strong>$69 now $19</strong></a><strong></strong></li><li><strong>Kingdom Come Deliverance 2: </strong><a href="https://www.amazon.com/Kingdom-Come-Deliverance-II-PlayStation-5/dp/B0D2FGZ3HF" target="_blank" rel="nofollow"><strong>was $69 now $29</strong></a><strong></strong></li><li><strong>Call of Duty Black Ops 7: </strong><a href="https://www.amazon.com/Call-Duty%C2%AE-Black-Ops-PlayStation-5/dp/B0FMC62NCK" target="_blank" rel="nofollow"><strong>was $69 now $39</strong></a><strong></strong></li></ul><div class="product"><a data-dimension112="13969106-af04-4e27-9277-c26e40eee91c" data-action="Deal Block" data-label="Persona 3 Reload" data-dimension48="Persona 3 Reload" data-dimension25="$17" href="https://www.amazon.com/Persona-3-Reload-Standard-PlayStation-5/dp/B0CGFCC193" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:178px;"><p class="vanilla-image-block" style="padding-top:122.47%;"><img id="QJtkAF5RDKTPvUzDkghcsJ" name="81hmWAdXP8L._AC_UY218_.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/QJtkAF5RDKTPvUzDkghcsJ.jpg" mos="" align="middle" fullscreen="" width="178" height="218" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Atlus's Persona series has a strong pedigree, and this full-fledged remake brings the Persona 3 story to the current console generation so franchise veterans and newcomers can experience it. Part social sim and part JRPG, <a href="https://www.tomsguide.com/reviews/persona-3-reload" data-dimension112="13969106-af04-4e27-9277-c26e40eee91c" data-action="Deal Block" data-label="Persona 3 Reload" data-dimension48="Persona 3 Reload" data-dimension25="$17">Persona 3 Reload</a> updates the visuals and incorporates many quality-of-life improvements and new elements, bringing the original tale up to date and making this another must-play RPG.<a class="view-deal button" href="https://www.amazon.com/Persona-3-Reload-Standard-PlayStation-5/dp/B0CGFCC193" target="_blank" rel="nofollow" data-dimension112="13969106-af04-4e27-9277-c26e40eee91c" data-action="Deal Block" data-label="Persona 3 Reload" data-dimension48="Persona 3 Reload" data-dimension25="$17">View Deal</a></p></div><div class="product"><a data-dimension112="d27c0f59-1ada-4b00-b0d1-3d0c0d08d619" data-action="Deal Block" data-label="Star Wars Outlaws" data-dimension48="Star Wars Outlaws" data-dimension25="$19" href="https://www.amazon.com/Star-Wars-Outlaws-Limited-Exclusive-PlayStation/dp/B0D187PJHJ/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1172px;"><p class="vanilla-image-block" style="padding-top:127.99%;"><img id="7orWhqyGvCd2P6VXQEnLMm" name="star-wars-outlaws-ps5-na-box" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/7orWhqyGvCd2P6VXQEnLMm.jpg" mos="" align="middle" fullscreen="" width="1172" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.tomsguide.com/gaming/star-wars-outlaws-review-a-quintessential-outing-in-a-galaxy-far-far-away" data-dimension112="d27c0f59-1ada-4b00-b0d1-3d0c0d08d619" data-action="Deal Block" data-label="Star Wars Outlaws" data-dimension48="Star Wars Outlaws" data-dimension25="$19">Star Wars Outlaws</a> represents a new frontier for a Galaxy far, far away, as it's the first-ever open-world game set in the iconic sci-fi universe. You play a Han Solo-type named Kay Vess, as you explore various planets and navigate criminal syndicates and the sinister Galactic Empire. The Amazon Exclusive Limited Edition is now just $19 for Black Friday, that's a galaxy-sized deal.<a class="view-deal button" href="https://www.amazon.com/Star-Wars-Outlaws-Limited-Exclusive-PlayStation/dp/B0D187PJHJ/" target="_blank" rel="nofollow" data-dimension112="d27c0f59-1ada-4b00-b0d1-3d0c0d08d619" data-action="Deal Block" data-label="Star Wars Outlaws" data-dimension48="Star Wars Outlaws" data-dimension25="$19">View Deal</a></p></div><div class="product"><a data-dimension112="362de4d7-2756-4afc-b346-7182b3ce392a" data-action="Deal Block" data-label="Astro Bot" data-dimension48="Astro Bot" data-dimension25="$39" href="https://www.amazon.com/Astro-Bot-PS5-PlayStation-5/dp/B0D5SM3K4Q" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1298px;"><p class="vanilla-image-block" style="padding-top:115.56%;"><img id="FutycSsvQPVzwqFQCc4kHE" name="astro-bot-ps5-na-box" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/FutycSsvQPVzwqFQCc4kHE.jpg" mos="" align="middle" fullscreen="" width="1298" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.tomsguide.com/gaming/astro-bot-review" data-dimension112="362de4d7-2756-4afc-b346-7182b3ce392a" data-action="Deal Block" data-label="Astro Bot" data-dimension48="Astro Bot" data-dimension25="$39">Astro Bot</a> is the full-featured follow-up to the PS5 console pack-in game, Astro's Playroom. You play the adorable PlayStation mascot as he travels across more than 50 planets in search of his lost crew. Packed with nods to PlayStation's past, and with some of the most consistently creative platform gameplay on any console, it's a family-friendly game that gives Mario a run for his money. <a class="view-deal button" href="https://www.amazon.com/Astro-Bot-PS5-PlayStation-5/dp/B0D5SM3K4Q" target="_blank" rel="nofollow" data-dimension112="362de4d7-2756-4afc-b346-7182b3ce392a" data-action="Deal Block" data-label="Astro Bot" data-dimension48="Astro Bot" data-dimension25="$39">View Deal</a></p></div><div class="product"><a data-dimension112="7059e0f4-d0fb-48a4-bf03-45695559a69b" data-action="Deal Block" data-label="Kingdom Come Deliverance II" data-dimension48="Kingdom Come Deliverance II" data-dimension25="$29" href="https://www.amazon.com/Kingdom-Come-Deliverance-II-PlayStation-5/dp/B0D2FGZ3HF" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:679px;"><p class="vanilla-image-block" style="padding-top:122.09%;"><img id="TudwFYXyKDM5imvKMeQaSF" name="Kingdom Come: Deliverance 2" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/TudwFYXyKDM5imvKMeQaSF.jpg" mos="" align="middle" fullscreen="" width="679" height="829" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.tomsguide.com/gaming/kingdom-come-deliverance-2-review" data-dimension112="7059e0f4-d0fb-48a4-bf03-45695559a69b" data-action="Deal Block" data-label="Kingdom Come Deliverance II" data-dimension48="Kingdom Come Deliverance II" data-dimension25="$29">Kingdom Come Deliverance II</a> is a vast RPG sequel that sees you once again step into the boots of Henry, a young nobleman on a quest for revenge in medieval Bohemia. Designed to be as immersive as possible, the world reacts to your actions, and most quests can be completed in a myriad of ways. Its more restrictive elements may be off-putting to some players, but if you're looking for a sprawling quest that gives you plenty of freedom, few do it better than KCDII.  <a class="view-deal button" href="https://www.amazon.com/Kingdom-Come-Deliverance-II-PlayStation-5/dp/B0D2FGZ3HF" target="_blank" rel="nofollow" data-dimension112="7059e0f4-d0fb-48a4-bf03-45695559a69b" data-action="Deal Block" data-label="Kingdom Come Deliverance II" data-dimension48="Kingdom Come Deliverance II" data-dimension25="$29">View Deal</a></p></div><div class="product"><a data-dimension112="2ca4c516-c303-4a20-8a8d-a3dc15107789" data-action="Deal Block" data-label="Elden Ring" data-dimension48="Elden Ring" data-dimension25="$29" href="https://www.amazon.com/Elden-Ring-PlayStation-5/dp/B09743F8P6?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="Ki2Xi7ouneBDw8opS7Sq4B" name="_0001_Elden Ring.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/Ki2Xi7ouneBDw8opS7Sq4B.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>A collaboration between developer FromSoftware, the creators of Dark Souls, and acclaimed fantasy author George R. R. Martin, <a href="https://www.tomsguide.com/reviews/elden-ring" data-dimension112="2ca4c516-c303-4a20-8a8d-a3dc15107789" data-action="Deal Block" data-label="Elden Ring" data-dimension48="Elden Ring" data-dimension25="$29">Elden Ring</a> is a stunning open-world action RPG where every victory is hard-fought. You'll die frequently, but the sense of satisfaction that comes after downing a hulking boss after dozens of defeats is practically unmatched in all of gaming. Don't forget to also grab the epic <a href="https://www.tomsguide.com/gaming/elden-ring-shadow-of-the-erdtree-review">Shadow of the Erdtree</a> expansion for more content.<a class="view-deal button" href="https://www.amazon.com/Elden-Ring-PlayStation-5/dp/B09743F8P6?th=1" target="_blank" rel="nofollow" data-dimension112="2ca4c516-c303-4a20-8a8d-a3dc15107789" data-action="Deal Block" data-label="Elden Ring" data-dimension48="Elden Ring" data-dimension25="$29">View Deal</a></p></div><div class="product"><a data-dimension112="08600da5-1bab-4838-9815-62054b08df63" data-action="Deal Block" data-label="Assassin's Creed: Shadows" data-dimension48="Assassin's Creed: Shadows" data-dimension25="$34" href="https://www.amazon.com/Assassins-Creed-Shadows-Limited-Exclusive-PlayStation/dp/B0D47WTKPM" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:522px;"><p class="vanilla-image-block" style="padding-top:129.50%;"><img id="MtYmocWsHC5Fnpv3QB3uAB" name="Assassin’s Creed Shadows - Limited Edition" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/MtYmocWsHC5Fnpv3QB3uAB.jpg" mos="" align="middle" fullscreen="" width="522" height="676" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The 14th major installment in the AC franchise, <a href="https://www.tomsguide.com/gaming/assassins-creed-shadows-review" data-dimension112="08600da5-1bab-4838-9815-62054b08df63" data-action="Deal Block" data-label="Assassin's Creed: Shadows" data-dimension48="Assassin's Creed: Shadows" data-dimension25="$34">Assassin's Creed: Shadows</a>, is set in 16th-century Japan during the late Sengoku period. Players experience the enduring conflict between the Assassin Brotherhood and the Templar Order through two protagonists: Naoe, a skilled female shinobi, and Yasuke, an African samurai inspired by a real-life historical figure.<a class="view-deal button" href="https://www.amazon.com/Assassins-Creed-Shadows-Limited-Exclusive-PlayStation/dp/B0D47WTKPM" target="_blank" rel="nofollow" data-dimension112="08600da5-1bab-4838-9815-62054b08df63" data-action="Deal Block" data-label="Assassin's Creed: Shadows" data-dimension48="Assassin's Creed: Shadows" data-dimension25="$34">View Deal</a></p></div><div class="product"><a data-dimension112="062aec52-24e2-461f-be13-d5b12a63fba8" data-action="Deal Block" data-label="Split Fiction" data-dimension48="Split Fiction" data-dimension25="$37" href="https://www.amazon.com/Split-Fiction-Playstation-5-PS5/dp/B0DQF6GRT8" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:679px;"><p class="vanilla-image-block" style="padding-top:125.92%;"><img id="8jHRmwHM8cuD8gkeCMLkpC" name="Split Fiction" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/8jHRmwHM8cuD8gkeCMLkpC.jpg" mos="" align="middle" fullscreen="" width="679" height="855" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.tomsguide.com/gaming/split-fiction-review" data-dimension112="062aec52-24e2-461f-be13-d5b12a63fba8" data-action="Deal Block" data-label="Split Fiction" data-dimension48="Split Fiction" data-dimension25="$37">Split Fiction</a> is a co-op adventure where two writers, Mio and Zoe, get trapped in a chaotic mix of their own stories. One minute, you're dodging cyber ninjas, the next, you're riding dragons. It’s all about teamwork, solving puzzles, and navigating wild genre mashups to escape their own imaginations.<a class="view-deal button" href="https://www.amazon.com/Split-Fiction-Playstation-5-PS5/dp/B0DQF6GRT8" target="_blank" rel="nofollow" data-dimension112="062aec52-24e2-461f-be13-d5b12a63fba8" data-action="Deal Block" data-label="Split Fiction" data-dimension48="Split Fiction" data-dimension25="$37">View Deal</a></p></div><div class="product"><a data-dimension112="a9bef6ea-66d4-4b69-9552-f1ce16607588" data-action="Deal Block" data-label="Call of Duty: Black Ops 7" data-dimension48="Call of Duty: Black Ops 7" data-dimension25="$39" href="https://www.amazon.com/Call-Duty%C2%AE-Black-Ops-PlayStation-5/dp/B0FMC62NCK" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1298px;"><p class="vanilla-image-block" style="padding-top:115.56%;"><img id="TXBzaH9rPqBcznSdyskGfe" name="call-of-duty-black-ops-7-ps5" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/TXBzaH9rPqBcznSdyskGfe.jpg" mos="" align="middle" fullscreen="" width="1298" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><a href="https://www.tomsguide.com/gaming/call-of-duty-black-ops-7-review" data-dimension112="a9bef6ea-66d4-4b69-9552-f1ce16607588" data-action="Deal Block" data-label="Call of Duty: Black Ops 7" data-dimension48="Call of Duty: Black Ops 7" data-dimension25="$39">Call of Duty: Black Ops 7</a> might be CoD at its most predictable, but if you're craving the shooter series' brand of fast-paced multiplayer action, you'll find it here in spades. Black Ops 7 is a full package with a cinematic campaign, addictive competitive online, and the fan-favorite Zombies mode.<a class="view-deal button" href="https://www.amazon.com/Call-Duty%C2%AE-Black-Ops-PlayStation-5/dp/B0FMC62NCK" target="_blank" rel="nofollow" data-dimension112="a9bef6ea-66d4-4b69-9552-f1ce16607588" data-action="Deal Block" data-label="Call of Duty: Black Ops 7" data-dimension48="Call of Duty: Black Ops 7" data-dimension25="$39">View Deal</a></p></div><div class="product"><a data-dimension112="4c472b68-b2f6-47f6-81a3-b486ecb78191" data-action="Deal Block" data-label="Sonic Racing: CrossWorlds" data-dimension48="Sonic Racing: CrossWorlds" data-dimension25="$44" href="https://www.amazon.com/Sonic-Racing-CrossWorlds-Amazon-Exclusive-PlayStation/dp/B0F8R7QS54" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1204px;"><p class="vanilla-image-block" style="padding-top:124.58%;"><img id="mnVoqpA86nJrBTW8RprJmF" name="sonic-racing-crossworlds-ps5" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/mnVoqpA86nJrBTW8RprJmF.jpg" mos="" align="middle" fullscreen="" width="1204" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Mario Kart's biggest rival returns in <a href="https://www.tomsguide.com/gaming/sonic-racing-crossworlds-review" data-dimension112="4c472b68-b2f6-47f6-81a3-b486ecb78191" data-action="Deal Block" data-label="Sonic Racing: CrossWorlds" data-dimension48="Sonic Racing: CrossWorlds" data-dimension25="$44">Sonic Racing: CrossWorlds</a>. This energetic kart racer includes more than 20 beloved Sega characters, and tracks that shift across worlds via Travel Rings. One minute you can be racing through a lush jungle, and then the next on top of a fiery volcano. There's also extensive kart customization to tailor your vehicle to your specific playstyle.<a class="view-deal button" href="https://www.amazon.com/Sonic-Racing-CrossWorlds-Amazon-Exclusive-PlayStation/dp/B0F8R7QS54" target="_blank" rel="nofollow" data-dimension112="4c472b68-b2f6-47f6-81a3-b486ecb78191" data-action="Deal Block" data-label="Sonic Racing: CrossWorlds" data-dimension48="Sonic Racing: CrossWorlds" data-dimension25="$44">View Deal</a></p></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I’ve been playing my 16-year-old PSP Go for a month, and now I can’t wait for PS6’s rumored next-gen handheld ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/ive-been-playing-my-16-year-old-psp-go-for-a-month-and-now-i-cant-wait-for-ps6s-rumored-next-gen-handheld</link>
                                                                            <description>
                            <![CDATA[ Playing my favorite games from more than a decade ago on my PSP Go has reaffirmed the fact that I desperately need a powerful handheld console from Sony. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">yitv8CZjNgxuQeykVZSmyB</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/yZrviVpF8sJBtNDttoPXAU-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 30 Dec 2025 13:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ nikita.achanta@futurenet.com (Nikita Achanta) ]]></author>                    <dc:creator><![CDATA[ Nikita Achanta ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oXuvixDz99SbZp9z8Uoor3.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nikita is a Senior Writer on the Reviews team at Tom&#039;s Guide, and she&#039;s always on the lookout for the latest tech. She is a lifelong gaming and photography enthusiast, especially interested in wildlife and landscape photography. Having worked as a Sub Editor and Writer for Canon EMEA, she’s a bit of a grammar nerd (and a supporter of the Oxford comma), and has also interviewed photographers from all over the world and working in different genres. A holder of two master’s degrees, the most recent one being in Magazine Journalism from Cardiff University, Nikita’s work has appeared in several publications such as Motor Sport Magazine, NME, Marriott Bonvoy, The Independent, and Metro. Her favorite tech includes the PS5, the DJI Air 3S, and her Google Pixel 7 Pro. She&#039;s also a licensed drone pilot and instant cameras expert so you&#039;ll find her testing these almost every week.&lt;/p&gt;&lt;p&gt;In her downtime, Nikita can usually be found sinking hours into RPGs on her PS5, flying a drone, out on a walk with a camera in hand, at a concert, watching F1, or planning her next tattoo. You can follow her photography account on Instagram&lt;a href=&quot;https://www.instagram.com/photos.bynikita/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt; here&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/yZrviVpF8sJBtNDttoPXAU-1280-80.jpg">
                                                            <media:credit><![CDATA[Nikita Achanta / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A black PSP Go]]></media:description>                                                            <media:text><![CDATA[A black PSP Go]]></media:text>
                                <media:title type="plain"><![CDATA[A black PSP Go]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/yZrviVpF8sJBtNDttoPXAU-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The Sony PlayStation Portable, commonly known as PSP, was a nifty little handheld console you could take virtually anywhere with you. Back when I was growing up, I owned the PSP 2000 before it died and refused to turn back on, and then my parents gifted me a PSP Go — and I never went anywhere without it.</p><p>I recently visited my family home in India and you know what I found in a box my dad had carefully stashed away? My old PSP Go. Naturally, I had to bring it back with me to the U.K. where I live now. The PSP Go came out in 2009. It is now almost 2026, and I've spent the last month or so gaming on my 16-year-old handheld console. Yes, on a 480p screen with terrible battery life, and you know what? I kinda dig it.</p><div class="product"><a data-dimension112="ae0cb0dc-12a9-4e06-ab81-40ccea0b36be" data-action="Deal Block" data-label="While I haven't been able to find any outlets selling refurbished PSP Go consoles, you can grab a refurbished PSP 3000 from Walmart. There are plenty of PSP models available through Walmart Restored." data-dimension48="While I haven't been able to find any outlets selling refurbished PSP Go consoles, you can grab a refurbished PSP 3000 from Walmart. There are plenty of PSP models available through Walmart Restored." data-dimension25="$199" href="https://www.walmart.com/ip/Restored-PlayStation-Portable-PSP-3000-Core-Pack-System-Piano-Black-Refurbished/486433515/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:689px;"><p class="vanilla-image-block" style="padding-top:86.36%;"><img id="is5aS2jqZJXmZkHDtiungh" name="Screenshot 2025-12-19 at 17.04.49" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/is5aS2jqZJXmZkHDtiungh.png" mos="" align="middle" fullscreen="" width="689" height="595" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>While I haven't been able to find any outlets selling refurbished PSP Go consoles, you can grab a refurbished PSP 3000 from Walmart. There are plenty of PSP models available through Walmart Restored.<a class="view-deal button" href="https://www.walmart.com/ip/Restored-PlayStation-Portable-PSP-3000-Core-Pack-System-Piano-Black-Refurbished/486433515/" target="_blank" rel="nofollow" data-dimension112="ae0cb0dc-12a9-4e06-ab81-40ccea0b36be" data-action="Deal Block" data-label="While I haven't been able to find any outlets selling refurbished PSP Go consoles, you can grab a refurbished PSP 3000 from Walmart. There are plenty of PSP models available through Walmart Restored." data-dimension48="While I haven't been able to find any outlets selling refurbished PSP Go consoles, you can grab a refurbished PSP 3000 from Walmart. There are plenty of PSP models available through Walmart Restored." data-dimension25="$199">View Deal</a></p></div><p>The PSP Go, by no means, is a perfect console, and when I started playing on it again after maybe seven years of not touching it, I wasn't expecting it to run like a modern handheld such as the <a href="https://www.tomsguide.com/gaming/nintendo/nintendo-switch-2-console-review">Nintendo Switch 2</a>. And therein lies its charm — it has captivated me with an overwhelming sense of nostalgia, and a surprisingly solid gaming library. The PSP Go makes a compelling case for Sony to announce the long-rumored PS6, too, and I can't wait for it to come out.</p><h2 id="a-nostalgic-gaming-catalog">A nostalgic gaming catalog</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5119px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="5K8wLRbj6zXVuZBHJhQyNT" name="PSP-Go-op-ed-8" alt="A black PSP Go" src="https://cdn.mos.cms.futurecdn.net/5K8wLRbj6zXVuZBHJhQyNT.jpg" mos="" align="middle" fullscreen="" width="5119" height="2879" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>When I dug my PSP Go out of storage, it was out of battery, unsurprisingly. So the first thing I did was find the charger and plug it in, and when it turned on, I went through the games I had installed that had been lying dormant all this time. It evoked a sense of nostalgia in me, <a href="https://www.tomsguide.com/audio/i-ditched-my-smartphone-to-listen-to-music-on-my-decade-old-ipod-here-are-3-things-i-liked-and-2-i-didnt">similar to how I felt going through all the artists and songs on my old iPod Touch</a>.</p><p>Games like Final Fantasy VII: Crisis Core, Sonic Rivals 2, Dissidia Final Fantasy, Dragon Ball Z Shin Budokai, and Need For Speed Carbon brought back a flood of memories. I used to play under the covers after telling my parents I was going to sleep, and play on road trips too. Back then, the PSP Go felt like a feat of engineering — "How could they pack so much into such a tiny device?" I remember thinking to myself.</p><p>Of course, the PSP Go's specs haven't stood the test of time, and it feels like a very outdated console now. The 480p resolution is okay and the 16GB internal memory is limiting unless you get a proprietary M2 memory card. It's all digital, so there's no UMD drive if you're a fan of physical games, and the battery life is far from ideal.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6091px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nVwtDPHGatjk3AKrFpinJV" name="PSP-Go-op-ed-4" alt="A black PSP Go" src="https://cdn.mos.cms.futurecdn.net/nVwtDPHGatjk3AKrFpinJV.jpg" mos="" align="middle" fullscreen="" width="6091" height="3426" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>But I knew what I was signing up for when I started using the PSP Go again a month ago, and honestly, I wouldn't change a thing. Sure, it would be great to have a better screen, longer battery life, and a higher refresh rate, but for a 16-year-old console, my PSP Go is holding up well. I love the clickity-clackity sounds of the D-pad and face buttons, and the sounds the console makes when I scroll through the different menus.</p><p>Playing fighting games like Dragon Ball Z has been extremely fun too. I'm not even a fan of fighting games and yet, I remember I must have sunk hundreds of hours into DBZ on my PSP Go. The PSP Go is perfect for lengthy RPGs too, like Final Fantasy VII: Crisis Core, which was the first game that actually got me into RPGs (and it's now my favorite genre).</p><p>The buttons still respond well with next-to-none input lag, and I don't mind the 480p screen. The graphics look decent and the LCD screen is still quite bright, enough for me to be able to see Vegeta knock out Goku. If I wanted a near-perfect console, I'd have stuck with the <a href="https://www.tomsguide.com/gaming/nintendo/nintendo-switch-2-console-review">Nintendo Switch 2</a>!</p><h2 id="more-portable-than-my-smartphone">More portable than my smartphone</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5725px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="rsAv6sDLAhfMTieazHqHST" name="PSP-Go-op-ed-2" alt="A black PSP Go" src="https://cdn.mos.cms.futurecdn.net/rsAv6sDLAhfMTieazHqHST.jpg" mos="" align="middle" fullscreen="" width="5725" height="3220" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>One of the biggest advantages of using my PSP Go is that I can slip it into my pocket. Any pocket. The front pocket of my skinny jeans. The big one of my winter coat.  It slips in so easily! It measures just 5.03 x 2.71 x 0.64 inches, so it's extremely portable (the clue is in the name, after all). It weighs 5.6oz so it's extremely lightweight, and I often forget it's even in my pocket.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5284px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WpkjF6fyWcDRJuJrd2kyiW" name="PSP-Go-op-ed-9" alt="A black PSP Go" src="https://cdn.mos.cms.futurecdn.net/WpkjF6fyWcDRJuJrd2kyiW.jpg" mos="" align="middle" fullscreen="" width="5284" height="2972" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>The PSP Go is more portable than most modern smartphones. For instance, my <a href="https://www.tomsguide.com/phones/google-pixel-phones/google-pixel-10-pro-xl-review">Google Pixel 10 Pro XL</a> measures 6.41 x 3.02 x 0.33 inches and weighs 8.18oz. Carrying the PSP Go alongside my phone, then, is very convenient and a no-brainer — especially for gaming, as I don't like playing on a smartphone.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6974px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="m8WKAuAfymjeqJRvW3SzQX" name="PSP-Go-op-ed-7" alt="A black PSP Go" src="https://cdn.mos.cms.futurecdn.net/m8WKAuAfymjeqJRvW3SzQX.jpg" mos="" align="middle" fullscreen="" width="6974" height="3923" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>I love the PSP Go's design too. The sliding screen mechanism is a winner in my books as the 3.8-inch LCD screen slides upwards to reveal the D-pad and face buttons. Even after all these years, it slides effortless with no unnecessary friction or resistance. It also makes me feel very cool, like 2000s movie protagonist answering her flip phone.</p><h2 id="so-about-that-ps6-handheld">So, about that PS6 handheld...</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:4674px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nwf8nPXsbV3mQzi4Ao6eJT" name="PSP-Go-op-ed-1" alt="A black PSP Go" src="https://cdn.mos.cms.futurecdn.net/nwf8nPXsbV3mQzi4Ao6eJT.jpg" mos="" align="middle" fullscreen="" width="4674" height="2629" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>Rumors about Sony's next-gen console, successor to the PS5, have been circulating online for a while now, and in May, rumor had it that <a href="https://www.tomsguide.com/gaming/playstation/playstation-handheld-reportedly-in-development-and-may-release-alongside-playstation-6">Sony had started working on a portable version</a> which could potentially launch alongside the PS6. A couple of weeks ago, <a href="https://www.youtube.com/watch?v=g38VR-GJp7o" target="_blank" rel="nofollow">tech and gaming YouTuber Moore's Law is Dead noted that Sony was pushing Low Power and Power Save modes</a> for the current-gen PS5 to see if PS5 gaming could work seamlessly on the <em>potentially </em>less powerful PS6 handheld.</p><p>Rumors point towards Sony having made internal changes to PS5 Software Development Kits (SDKs) to ensure Power Save modes are in the works for PlayStation games, so that they can run on devices "with different available CPU configurations." This all makes sense because handheld devices are heavily judged for their battery lives.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5867px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="EhPSFnX2o5mVM8SzjTennU" name="PSP-Go-op-ed-11" alt="A black PSP Go" src="https://cdn.mos.cms.futurecdn.net/EhPSFnX2o5mVM8SzjTennU.jpg" mos="" align="middle" fullscreen="" width="5867" height="3300" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>Take the Nintendo Switch 2, for example. A great console with a measly 6-hour battery life. Sony would want to do everything it can to ensure its handheld is up to the challenge. If we are to go by the aforementioned speculation, it only adds fuel to the fire that <a href="https://www.tomsguide.com/gaming/playstation/ps6-leaks-and-rumors">the PS6 handheld could be coming in late 2027 or early 2028</a>, so perhaps we'll get official confirmation towards the end of next year.</p><p>And you know what? The PS6 handheld can't come soon enough — I know I'll be placing a pre-order as soon as possible. Playing my PSP Go for the past month has reminded me just how much I love Sony's now-dead handheld consoles.</p><h2 id="looking-ahead">Looking ahead...</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6246px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="NDAoN3nY6J5X9znT5WDzVX" name="PSP-Go-op-ed-10" alt="A black PSP Go" src="https://cdn.mos.cms.futurecdn.net/NDAoN3nY6J5X9znT5WDzVX.jpg" mos="" align="middle" fullscreen="" width="6246" height="3513" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>Right now, it's hard to imagine what the next-gen PS6 handheld will look like. Perhaps it will borrow styling cues from the original PSP. Maybe it will feature haptic feedback and adaptive triggers like the <a href="https://www.tomsguide.com/reviews/playstation-portal">PlayStation Portal</a> does. Will it come with built-in storage, like the PSP Go?</p><p>Who knows how much power the PS6 handheld will pack, but the only thing I know for sure is that I will be there when it launches, and I will buy it. Playing the PSP Go has not only reminded me of my childhood and my early gaming-related memories, but it has confirmed, for me, that I <em>need </em>a Sony handheld in my life — and no, not one like the Portal. An actual, proper handheld that makes the Switch 2 look like child's play.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-egqRgO"></div>                            </div>                            <script src="https://kwizly.com/embed/egqRgO.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/playstation/ps6-leaks-and-rumors">PS6 — latest rumors and leaks for the next PlayStation console</a></li><li><a href="https://www.tomsguide.com/gaming/handheld-gaming/i-bought-a-ps-vita-instead-of-a-nintendo-switch-2-in-2025-and-i-have-no-regrets">I bought a PS Vita instead of a Nintendo Switch 2 in 2025 — and I have no regrets</a></li><li><a href="https://www.tomsguide.com/gaming/handheld-gaming/nintendo-switch-2-vs-steam-deck-oled-i-took-both-on-a-trip-to-determine-the-best-gaming-handheld">Nintendo Switch 2 vs Steam Deck OLED — I took both on a trip to determine the best gaming handheld</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ 12 best video games of 2025  — our top picks for PS5, Switch 2, PC and Xbox ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/12-best-video-games-of-2025-our-top-picks-for-ps5-switch-2-pc-and-xbox</link>
                                                                            <description>
                            <![CDATA[ 2025 has been another epic year for gaming with must-play titles across PlayStation, Nintendo, PC and Xbox. These are the 13 best games of the last 12 months, according to the Tom's Guide staff. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">YuhMSrBrouJcujW84j8dWc</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/LJXFCVjHUzPYCK8V2H3oW3-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 30 Dec 2025 09:00:00 +0000</pubDate>                                                                                                                                <updated>Tue, 06 Jan 2026 16:43:37 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ rory.mellon@futurenet.com (Rory Mellon) ]]></author>                    <dc:creator><![CDATA[ Rory Mellon ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/5Rv6LtQXMj5JB4Eu8Lt4Sn.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                        <dc:contributor><![CDATA[ Tom&#039;s Guide Staff ]]></dc:contributor>
                                                                    <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/LJXFCVjHUzPYCK8V2H3oW3-1280-80.jpg">
                                                            <media:credit><![CDATA[Nintendo / Kojima Productions / Sandfall / Sony]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Screenshot images from Donkey Kong Bananza, Death Stranding 2: On the Beach, Clair Obscur: Expedition 33 and Ghost of Yotei ]]></media:description>                                                            <media:text><![CDATA[Screenshot images from Donkey Kong Bananza, Death Stranding 2: On the Beach, Clair Obscur: Expedition 33 and Ghost of Yotei ]]></media:text>
                                <media:title type="plain"><![CDATA[Screenshot images from Donkey Kong Bananza, Death Stranding 2: On the Beach, Clair Obscur: Expedition 33 and Ghost of Yotei ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/LJXFCVjHUzPYCK8V2H3oW3-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>2025 has been another fantastic year for gaming. Not only have the past 12 months offered more high-quality games than you could possibly play in a single year, but we also got new hardware in the form of the <a href="https://www.tomsguide.com/gaming/nintendo/nintendo-switch-2-console-review">Nintendo Switch 2</a>. Wherever you opt to play your games, across <a href="https://www.tomsguide.com/reviews/ps5">PS5</a>, <a href="https://www.tomsguide.com/reviews/xbox-series-x">Xbox Series X</a>, and <a href="https://www.tomsguide.com/us/best-gaming-pc,review-2219.html">PC gaming</a>, there’s been a slew of must-play titles.</p><p>With so many excellent video games to play, picking out the very best games of 2025 is no easy task. However, the Tom’s Guide staff put our heads together, and after some discussion (and a few heated disagreements), we’ve put together a list of our favorite games of 2025.</p><p>Our GOTY picks cover all platforms (yes, including Switch 2), and if you missed any of them, now is the time to catch up, before the first new games of 2026 arrive. These are the 13 best games of 2025. </p><h3 class="article-body__section" id="section-best-action-game"><span>Best action game</span></h3><h2 id="ghost-of-yotei">Ghost of Yotei</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="iTjY6G4xrk7Ujau4U5CRgA" name="ghost-of-yotei-screenshot-review-press-06" alt="Ghost of Yotei press screenshot" src="https://cdn.mos.cms.futurecdn.net/iTjY6G4xrk7Ujau4U5CRgA.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sucker Punch / Sony)</span></figcaption></figure><p><em><strong>Platform: </strong></em><em>PS5</em></p><p><a href="https://www.tomsguide.com/gaming/ghost-of-yotei-review">Ghost of Yotei</a>, the sequel to the fantastic <a href="https://www.tomsguide.com/reviews/ghost-of-tsushima">Ghost of Tsushima</a>, may not have the impactful narrative strengths of its predecessor, but as action/adventure games go, it’s the best release of 2025. Its peerless combat system and open-world setting set a new benchmark not just for samurai games but for action games as a whole.</p><p>Building on Tsushima’s already-fantastic and fluid swordplay, Ghost of Yotei introduces an expanded weapon set, including the addition of dual katanas, an odachi, a kusarigama… and guns! This new arsenal results in players being able to strategize better, depending on the enemy they’re facing, and enhanced parry mechanics, which make one-on-one duels feel brutal and deeply satisfying. Atsu, the protagonist, is also accompanied by a wolf who participates in standoffs and can be called to help take down enemies, adding a fresh touch to the sequel.</p><p>The world of Ghost of Yotei is stunning, with snowcapped Mount Yotei watching over you as you make your way through the lush fields of Ezo, which makes battles feel cinematic. Optional side quests see you take on different factions such as ronin, bandits, and samurai, while the new bounty system puts your exploration and combat skills through the paces. <em>— Nikita Achanta</em></p><p><em><strong>Runners-up:</strong></em><em> Ninja Gaiden 4, Death Stranding 2: On the Beach</em></p><h3 class="article-body__section" id="section-best-rpg"><span>Best RPG</span></h3><h2 id="clair-obscur-expedition-33">Clair Obscur: Expedition 33</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XUqUzFx4LqP29HP7XL8A9X" name="Clair Obscur Expedition 33_Screenshot_15" alt="A Clair Obscur: Expedition 33 screenshot showing Lune and Gustave (L-R) standing on a battlefield with the Paintress' monolith in the background" src="https://cdn.mos.cms.futurecdn.net/XUqUzFx4LqP29HP7XL8A9X.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sandfall Interactive)</span></figcaption></figure><p><em><strong>Platforms: </strong></em><em>PC, PS5, Xbox Series X</em></p><p>Sandfall Interactive’s first-ever game is a triumph, and it deserves all the accolades it has garnered this year (and more). <a href="https://www.tomsguide.com/gaming/clair-obscur-expedition-33-review">Clair Obscur: Expedition 33</a> is exactly what a story-driven RPG should look like, and it’s a game everyone needs to play at least once. The game’s Belle Époque-inspired dark fantasy world is not just visually stunning, but it’s highly detailed too, and every NPC you encounter is intrinsically designed.</p><p>Visually, Expedition 33’s aesthetic is unlike any other game this year, and this extends to the story, too. It’s an emotionally complex and haunting narrative revolving around you and your party trying to desperately stop the Paintress from erasing everyone of a certain age from existence — a cycle that has gone on for several years. But what makes Expedition 33 stand out is the fact that, somehow, you end up feeling heartbroken for every single character in the game, and the cinematic, classical, orchestral soundtrack moves you to tears.</p><p>Beyond visuals and storytelling, Expedition 33’s reactive turn-based combat is genius as it merges classic turn-based strategy with real-time action. Dodging, parrying and timing attacks means you’re always on guard and engaged, and it never gets old. The wide variety of enemy types makes every encounter a thrilling, hands-on challenge where you must utilize strategic foresight as well as precise execution. <em>— Nikita Achanta</em></p><p><em><strong>Runners-up:</strong></em><em> Kingdom Come Deliverance 2, The Outer Worlds 2</em></p><h3 class="article-body__section" id="section-best-racing-sports-game"><span>Best racing/sports game</span></h3><h2 id="rematch">Rematch</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XniT8bY6sbKzHNPDf9r82T" name="Hydraulic_16_9" alt="Rematch screenshot" src="https://cdn.mos.cms.futurecdn.net/XniT8bY6sbKzHNPDf9r82T.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sloclap)</span></figcaption></figure><p><em><strong>Platforms: </strong></em><em>PC, PS5, Xbox Series X/S</em></p><p>If you’d asked me if <a href="https://www.tomsguide.com/gaming/rematch-is-the-soccer-game-i-didnt-know-i-needed-after-ea-sports-fc-25-let-me-down">Rematch</a> would be my vote for the best sports game of 2025 after sampling it during the beta period, I’d have laughed. I did <em>not</em> click with the online soccer game from Sifu developer Sloclap during this trial run. But once I got access to the full experience and started scaling the high skill barrier that makes your first couple of hours pretty daunting, I fell in love, <em>hard</em>. Now, with dozens of hours under my belt and the PS5 Platinum Trophy unlocked, I’m still returning to Rematch regularly for its special brand of sports action. </p><p>Best described as Rocket League but without the RC cars (I know that’s <em>just </em>regular soccer, but stick with me here), Rematch is the perfect antidote to the increasingly stale EA Sports FC series. Unlike the franchise formerly known as FIFA, Rematch offers a more over-the-top take on the beautiful game, and most importantly, demands more skill from its teams of up to five players per side. While it’ll take you a minute (or maybe several) to grasp the basics, when you score your first hat-trick, or pull off a clutch diving save as a goalkeeper, you’ll find yourself instantly hooked. Rematch is the soccer game I didn’t know I needed in my life. <em>— Rory Mellon</em></p><p><em><strong>Runners-up: </strong></em><em>Mario Kart World, Assetto Corsa Rally</em></p><h3 class="article-body__section" id="section-best-fighting-game"><span>Best fighting game</span></h3><h2 id="fatal-fury-city-of-wolves">Fatal Fury: City of Wolves</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8WSrsLb4WtZMVXf9XM33C5" name="Fatal Fury - City of the Wolves 6" alt="Fatal Fury: City of the Wolves" src="https://cdn.mos.cms.futurecdn.net/8WSrsLb4WtZMVXf9XM33C5.jpg" mos="" align="middle" fullscreen="" width="1920" height="1080" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: SNK)</span></figcaption></figure><p><em><strong>Platforms: </strong></em><em>PC, PS4, PS5, Xbox Series X/S</em></p><p><a href="https://www.tomsguide.com/gaming/fatal-fury-city-of-the-wolves-review">Fatal Fury: City of the Wolves</a> might not have a large player base compared to <a href="https://www.tomsguide.com/reviews/street-fighter-6">Street Fighter 6</a> and <a href="https://www.tomsguide.com/reviews/tekken-8">Tekken 8</a>, but it’s an easy pick for best fighting game of the year. Not only does it successfully resurrect a legendary fighting game franchise, but it does so with new gameplay mechanics that arguably make it the best Fatal Fury yet.</p><p>The innovative REV system offers numerous offensive and defensive options, while the smooth animations, flashy graphics and robust single and online modes keep you coming for more. As we head into 2026, I’m eager to see which new characters will join the roster and what updates (if any) SNK will introduce to keep this title fresh. If you want an alternative to the big fighting game franchises and a title that rewards the time you put into it, Fatal Fury: City of the Wolves is it. <em>— Tony Polanco</em></p><p><em><strong>Runners-up: </strong></em><em>Capcom Fighting Collection 2, Mortal Kombat: Legacy Kollection</em></p><h3 class="article-body__section" id="section-best-shooter-game"><span>Best shooter game</span></h3><h2 id="battlefield-6">Battlefield 6</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vSq66y2nNERaYkWyxuBKug" name="battlefield-6-screenshot-06" alt="Battlefield 6 screenshot" src="https://cdn.mos.cms.futurecdn.net/vSq66y2nNERaYkWyxuBKug.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: EA / Battlefield Studios)</span></figcaption></figure><p><em><strong>Platforms: </strong></em><em>PC, PS5, Xbox Series X/S</em></p><p><a href="https://www.tomsguide.com/gaming/i-played-battlefield-6-for-over-20-hours-and-its-multiplayer-rivals-cod-but-skip-the-solo-mode">Battlefield 6</a> is a back-to-basics take on the long-running franchise with snappy gunplay, restrained maps, and a perfect pick for the best shooter this year. Yes, the single player campaign is abysmal, but you play Battlefield for the chaotic, explosive multiplayer, not the solo mode. Fortunately, you can download the parts you want and exclude the ones you don’t, a lovely way of saving some space on your hard drive.</p><p>EA’s latest shooter is laser-focused on traditional classes and destructible environments. The game launched with six playable modes but has already been expanded, including a surprisingly fun battle royale option. I recommend the smaller Domination and King of the Hill modes, where the tighter maps make for more strategic and tactical gameplay. Whether you’re <a href="https://www.tomsguide.com/gaming/playstation/battlefield-6-is-the-best-shooter-ive-played-on-ps5-pro-in-2025-3-reasons-call-of-duty-has-real-competition-this-year">playing on a PS5</a> or <a href="https://www.tomsguide.com/gaming/pc-gaming/i-just-tested-battlefield-6-on-an-rtx-5070-gaming-pc-heres-how-it-runs">an RTX 5070 PC</a>, Battlefield 6 feels fully optimized and moves smoothly even in the most graphically intense battles. As Call of Duty flails, BF6 is an excellent option. <em>— Scott Younker</em></p><p><em><strong>Runners-up: </strong></em><em>Borderlands 4, Doom: The Dark Ages </em></p><h3 class="article-body__section" id="section-best-family-game"><span>Best family game</span></h3><h2 id="donkey-kong-bananza">Donkey Kong Bananza</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gKCRPyNU94Ut96KoQZ7epF" name="Donkey Kong Bananza screenshot" alt="Donkey Kong Bananza" src="https://cdn.mos.cms.futurecdn.net/gKCRPyNU94Ut96KoQZ7epF.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nintendo)</span></figcaption></figure><p><em><strong>Platform: </strong></em><em>Nintendo Switch 2</em></p><p><a href="https://www.tomsguide.com/gaming/nintendo/donkey-kong-bananza-review">Donkey Kong Bananza</a> is a fresh 3D take on one of Nintendo's most beloved mascots. It continues to surprise you as you go from sublayer to sublayer on your journey to the planet’s core. Instead of rehashing old ideas, this game introduces you to a brand new world filled with interesting characters and a few familiar faces along the way. </p><p>Debuting on the Switch 2, it’s the perfect showcase for Nintendo’s new hybrid system. Donkey Kong Bananza’s voxel-powered visuals are a sight to behold. However, they’re also what make its destructible environments possible. You can punch through walls, smash almost everything you see and dig through the ground to your heart’s content, completely transforming levels as you go. This vertical and horizontal destruction isn’t just a gimmick, though; it’s part of Donkey Kong Bananza’s core gameplay and something you’ll have to do if you want to find all of the hidden Banandium Gems required to unlock Donkey Kong’s full set of abilities. </p><p>Speaking of which, smashing on its own would be enough, but Donkey Kong also learns various animal-themed Bananza transformations that completely change how you approach each environment and objective. The sheer level of discovery and exploration almost makes Donkey Kong Bananza feel like Switch 2's <a href="https://www.tomsguide.com/us/legend-of-zelda-breath-of-the-wild,review-4239.html">The Legend of Zelda: Breath of the Wild</a> <em>— Anthony Spadafora</em></p><p><em><strong>Runners-up:</strong></em><em> Mario Kart World, Lego Voyagers</em></p><h3 class="article-body__section" id="section-best-remake-remaster"><span>Best remake/remaster </span></h3><h2 id="metal-gear-solid-delta-snake-eater">Metal Gear Solid Delta: Snake Eater</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3665px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="KWdGytNrzHZhZtAcrqAaB7" name="Metal Gear Solid Delta_ Snake Eater LIST" alt="Metal Gear Solid Delta: Snake Eater" src="https://cdn.mos.cms.futurecdn.net/KWdGytNrzHZhZtAcrqAaB7.jpg" mos="" align="middle" fullscreen="" width="3665" height="2062" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Konami)</span></figcaption></figure><p><em><strong>Platforms: </strong></em><em>PC, PS5, Xbox Series X/S</em></p><p>I tend to scoff when I see yet another remake/remaster get released, but that’s not the case with <a href="https://www.tomsguide.com/gaming/metal-gear-solid-delta-snake-eater-review">Metal Gear Solid Delta: Snake Eater</a>. Konami pulled out all the stops with this release, and as a long-time fan of this game and franchise, I couldn’t be happier with the overall package. The Unreal Engine 5-driven graphics make the game look its absolute best, and MGS 3's already cinematic experience is now even more immersive.</p><p>But beyond the shiny new graphics, quality-of-life tweaks to controls and UI, and numerous unlockables, we get the same brilliant Metal Gear Solid 3 experience from nearly 20 years ago. The Metal Gear Solid franchise can be difficult to get into, but MGS 3 was and is still an excellent entry point since it’s a self-contained story. If you’ve ever wanted to give this series or the stealth game genre a shot, there’s no finer way to do so than with Metal Gear Solid Delta. <em>— Tony Polanco</em></p><p><em><strong>Runners-up: </strong></em><em>Final Fantasy Tactics - The Ivalice Chronicles, The Elder Scrolls IV: Oblivion Remastered</em></p><h3 class="article-body__section" id="section-best-horror-game"><span>Best horror game</span></h3><h2 id="silent-hill-f">Silent Hill f</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="h32FvqjaNLRxxGNoxNauyM" name="Silent Hill f-2.JPG" alt="Silent Hill f screenshot" src="https://cdn.mos.cms.futurecdn.net/h32FvqjaNLRxxGNoxNauyM.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p><em><strong>Platforms:</strong></em><em> PC, PS5, Xbox Series X/S</em></p><p>There’s something to be said for bringing Silent Hill to its first-ever Japanese setting. Dropping players into a place and time totally alien to the long-lived franchise proved rewarding, offering incredible callbacks to the originals while inciting serious promise for the future of its nightmarish lore. </p><p>The story of Hinako is a mixture of sorrow and pain. It’s Silent Hill at its purest and most electrifying, highlighted by two branching narratives, with one focusing on the physical world and another on the subconscious. <a href="https://www.tomsguide.com/gaming/silent-hill-f-review">Silent Hill f</a> cleverly weaves gameplay elements into its narrative, making players feel one with the story as it unfolds around them. It’s a chilling reminder of how some horror games can make us feel right at home. </p><p>I’ve longed for a return to form for Silent Hill, and f is everything I had hoped for and much more. It offers up boundless hours of enjoyment, with several special endings for replay value (in Silent Hill fashion). Don’t let those restless dreams go to waste. <em>— Ryan Epps</em></p><p><em><strong>Runners-up: </strong></em><em>Cronos The New Dawn, Alien Rogue Incursion - Evolved Edition</em></p><h3 class="article-body__section" id="section-best-narrative"><span>Best narrative</span></h3><h2 id="dispatch">Dispatch</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kw7twLja4aeM7ed2WX2xyf" name="dispatch-video-game-2025" alt="Dispatch video game screenshot" src="https://cdn.mos.cms.futurecdn.net/kw7twLja4aeM7ed2WX2xyf.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: AdHoc Studio)</span></figcaption></figure><p><em><strong>Platforms: </strong></em><em>PC, PS5</em></p><p>2025 has been a great year for getting lost in a good story, but among all the gripping narratives, Dispatch stands head and shoulders above the rest for its impressively bingeable appeal. You can tell this was made by ex-Telltale veterans.</p><p>In this darkly comedic workplace drama, set in a world where humans and superheroes co-exist, you play through the redemption arc of a complex protagonist — working as a dispatcher for a hero-for-hire agency. The scenario is eye-catching, bizarre and offers real emotional depth.</p><p>And it’s funny, too. Like, actually funny. A lot of games attempt (and miss the mark) on being humorous. But peeling the spectacle away from being a superhero and focusing on the messy bureaucracy of work and life gives the comedy serious “The Office” vibes in the best way possible.</p><p>Normally, with Telltale-esque linear stories, I do the one playthrough and never think about it again. The fact that I went straight back into this memorable story to find the many other narrative paths is a testament to how well-written (and acted) Dispatch is. <em>— Jason England</em></p><p><em><strong>Runners-up: </strong></em><em>Clair Obscur Expedition 33, Baby Steps</em></p><h3 class="article-body__section" id="section-best-multiplayer-game"><span>Best multiplayer game</span></h3><h2 id="arc-raiders">ARC Raiders</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tz3AE9EceWbFXwWZPyH6Db" name="arc-raiders-video-game-2025" alt="ARC Raiders screenshot" src="https://cdn.mos.cms.futurecdn.net/tz3AE9EceWbFXwWZPyH6Db.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Embark Studios)</span></figcaption></figure><p>ARC Raiders is pure multiplayer gaming distilled down to its very essence. The bonds formed between random teammates are intense. On the other side, the hatred for the people who took you and your squad down and stole your goodies is very real. </p><p>More than multiplayer gaming, ARC Raiders is a look at what humans will do to each other when real-world consequences are removed. Will you shoot the person with their back turned to steal their stuff, or will you fight off the attacking robots to help them survive? Will you use your microphone to tell someone that you won’t shoot them, only to open fire when they run away? In ARC Raiders, both are completely viable options. </p><p>Capping off the multiplayer enjoyment, and feeling insignificant next to the human element the game brings to the table, is the actual shooting, which has a sense of weight to it that you won’t find in many other extraction shooters. </p><p>Even if you have a completely playerless run, the game is just fun. And the threat of a fellow Raider waiting by the extraction point means multiplayer is always at the front of your mind. <em>— Dave LeClair</em></p><p><em><strong>Runners-up: </strong></em><em>Battlefield 6, The Bazaar</em></p><h3 class="article-body__section" id="section-best-independent-game"><span>Best independent game</span></h3><h2 id="hades-2">Hades 2</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="joTRG2XfkagWQ52npfCpde" name="hades-2-screenshot.jpg" alt="Hades 2 screenshot" src="https://cdn.mos.cms.futurecdn.net/joTRG2XfkagWQ52npfCpde.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Supergiant Games)</span></figcaption></figure><p><em><strong>Platforms: </strong></em><em>Nintendo Switch 2, PC</em></p><p>“One more run.” It’s the phrase you’ll utter to yourself at midnight in the middle of the week after coming ever-so-close to clearing the final boss. It will be said again. And again. And again. Melinoë, Hades 2’s protagonist, might be the one with time-bending magical powers, but the game itself has a way of making hours of your life disappear. </p><p>What Hades 2 gets right is that, unlike Souls-like games that have a single difficulty and never get easier, you’ll grow more powerful with every run. Yes, your muscle memory and twitch reflexes will get better, but every resource you pick up on your journey enhances Melinoë’s powers — ever so slightly — until the impossible feels possible. Bosses that couldn’t be cleared in your fifth run become nothing more than a nuisance in your 15th. It’s this ever-increasing feeling of empowerment that drives both the story and you as a player forward, through embattled cityscapes and the ocean depths, in an implacable advance toward the game’s (*spoiler*) twin final bosses.</p><p>The original ending might’ve needed a mulligan, but the core rogue-like mechanics, addictive gameplay loop and well-written pantheon of gods were perfect from the jump.<em> </em>—<em> Nick Pino</em></p><p><em><strong>Runners-up: </strong></em><em>Blue Prince, </em>Sword of the Sea</p><h3 class="article-body__section" id="section-best-graphics"><span>Best graphics</span></h3><h2 id="death-stranding-2-on-the-beach">Death Stranding 2: On the Beach</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2k5rHFB7scp6VLqu8UZLa9" name="death-stranding-2-ps5-pro-screenshot-06.JPG" alt="Death Stranding 2: On the Beach screenshot taken on PS5 Pro" src="https://cdn.mos.cms.futurecdn.net/2k5rHFB7scp6VLqu8UZLa9.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: PlayStation / Kojima Productions)</span></figcaption></figure><p><em><strong>Platform: </strong></em><em>PS5</em></p><p>Hideo Kojima’s use of the Decima engine for Death Stranding remains unchallenged in its photo realism, and that depth is only amplified twofold in the sequel. From the moment the game begins, it leaves you breathless as the camera pans toward protagonist Sam Porter Bridges. It’s totally gorgeous, which makes its devastating story all the more heartwrenching. </p><p>With Kojima’s extensive attention to detail and love for cinematic storytelling, graphical fidelity is a natural fit. It’s not a stretch to say that <a href="https://www.tomsguide.com/gaming/death-stranding-2-is-the-most-beautiful-game-ive-ever-played-and-its-everything-id-hope-for-in-a-sequel">Death Stranding 2: On the Beach</a> is one of the most beautiful games to come out in 2025, and potentially in a long time, which says a lot given that it takes place entirely in a post-apocalyptic world, one ravaged and decayed by time. </p><p>Graphics aren’t everything, though. Although Death Stranding 2 definitely boasts near-photorealism, it wouldn’t mean much without its slew of unforgettable characters and unique story that’s wholly Kojima-brained. —<em> Ryan Epps</em></p><p><em><strong>Runners-up:</strong></em> <em>Ghost of Yotei, Metroid Prime 4: Beyond</em></p><h3 class="article-body__section" id="section-game-of-the-year-2025"><span>Game of the Year 2025</span></h3><h2 id="clair-obscur-expedition-33-2">Clair Obscur: Expedition 33</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3913px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="qTzGLoJNuWKNA7WtPqao8X" name="Clair Obscur Expedition 33_Screenshot_01" alt="Gustave, Lune and Maelle (L-R) look out to the horizon in Clair Obscur: Expedition 33" src="https://cdn.mos.cms.futurecdn.net/qTzGLoJNuWKNA7WtPqao8X.jpg" mos="" align="middle" fullscreen="" width="3913" height="2201" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sandfall Interactive)</span></figcaption></figure><p><em><strong>Platforms:</strong></em><em> PC, PS5, Xbox Series X/S</em></p><p>Clair Obscur: Expedition 33 came out of nowhere to become the defining game of 2025. This turn-based RPG from debut developer Sandfall Interactive succeeds in nearly all areas. It’s perhaps lacking in fundamentally new ideas, but it takes the best parts of its numerous role-playing inspirations and crafts them into a masterful experience you won’t soon forget. </p><p>It’s narrative sinks its hook into you straight away, with an intriguing premise: a group of expeditors sets out to end the tyrannical reign of a deity known as The Paintress. This story is compelling from the drop, but as you progress through its 30-hour main quest, the revelations that unfold will have your jaw agape. And it’s all centered on one of the most likable and well-written casts of companions in an RPG since Baldur’s Gate 3. </p><p>It’s no slouch in the gameplay department either. The tough turn-based battles are surprisingly energetic thanks to the satisfying parry system that prevents players from putting down the controller between turns. Oh, and did I mention, the whole game is set to one of gaming’s most sonically fitting scores? I've had the soundtrack on repeat for months.</p><p>Clair Obscur: Expedition 33 set a bar back in April that very few video games could match, and that’s why it’s our pick for Game of the Year 2025. —<em> Rory Mellon</em></p><p><em><strong>Runners-up: </strong></em><em>Death Stranding 2: On the Beach, Donkey Kong Bananza</em></p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/gaming/handheld-gaming/nintendo-switch-2-vs-steam-deck-oled-i-took-both-on-a-trip-to-determine-the-best-gaming-handheld">Nintendo Switch 2 vs Steam Deck OLED</a></li><li><a href="https://www.tomsguide.com/best-picks/the-best-ps5-games">The best PS5 games in 2025</a></li><li><a href="https://www.tomsguide.com/gaming/playstation/ive-used-the-ps5-pro-every-day-for-a-year-heres-what-i-like-and-dislike">I’ve used the PS5 Pro for a year — here’s what I like and don't like</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I ditched my PS5 gaming headset for these audiophile headphones — 3 things I love (and 2 I hate) ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/audio/headphones/i-ditched-my-ps5-gaming-headset-for-wired-audiophile-headphones-3-things-that-impressed-me-and-2-things-i-desperately-missed</link>
                                                                            <description>
                            <![CDATA[ As an avid gamer and audiophile, I ditched my gaming headset to use the Meze 105 AER wired headphones for gaming on my PS5, and I was blown away. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">yoYTGxFk4ekKn3u4zxuNZN</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/P9DxW77A9RJCFJoyvsUpUN-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 28 Dec 2025 06:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                                                                <author><![CDATA[ nikita.achanta@futurenet.com (Nikita Achanta) ]]></author>                    <dc:creator><![CDATA[ Nikita Achanta ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/oXuvixDz99SbZp9z8Uoor3.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nikita is a Senior Writer on the Reviews team at Tom&#039;s Guide, and she&#039;s always on the lookout for the latest tech. She is a lifelong gaming and photography enthusiast, especially interested in wildlife and landscape photography. Having worked as a Sub Editor and Writer for Canon EMEA, she’s a bit of a grammar nerd (and a supporter of the Oxford comma), and has also interviewed photographers from all over the world and working in different genres. A holder of two master’s degrees, the most recent one being in Magazine Journalism from Cardiff University, Nikita’s work has appeared in several publications such as Motor Sport Magazine, NME, Marriott Bonvoy, The Independent, and Metro. Her favorite tech includes the PS5, the DJI Air 3S, and her Google Pixel 7 Pro. She&#039;s also a licensed drone pilot and instant cameras expert so you&#039;ll find her testing these almost every week.&lt;/p&gt;&lt;p&gt;In her downtime, Nikita can usually be found sinking hours into RPGs on her PS5, flying a drone, out on a walk with a camera in hand, at a concert, watching F1, or planning her next tattoo. You can follow her photography account on Instagram&lt;a href=&quot;https://www.instagram.com/photos.bynikita/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt; here&lt;/a&gt;.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/P9DxW77A9RJCFJoyvsUpUN-1280-80.jpg">
                                                            <media:credit><![CDATA[Nikita Achanta / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Meze 105 AER wired headphones being used with a PS5 Slim]]></media:description>                                                            <media:text><![CDATA[Meze 105 AER wired headphones being used with a PS5 Slim]]></media:text>
                                <media:title type="plain"><![CDATA[Meze 105 AER wired headphones being used with a PS5 Slim]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/P9DxW77A9RJCFJoyvsUpUN-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>One of my favorite things to do when I have some time to myself is play video games on my <a href="https://www.tomsguide.com/gaming/playstation/ps5-slim">PS5 Slim</a> or my OG <a href="https://www.tomsguide.com/reviews/nintendo-switch">Nintendo Switch</a>. I also love listening to music and noodling on my guitar, and sometimes, I'll listen to music <em>while </em>playing, say, a racing game like F1 25 or Need For Speed: Heat.</p><p>As a self-professed audiophile, I believe music can make or break a game, and the way you consume the audio can either enhance or worsen your experience and immersion. That's why you've got a plethora of the <a href="https://www.tomsguide.com/best-picks/best-gaming-headsets">best gaming headsets</a>, ripe for the picking. I review gaming cans for a living, as well as the <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">best headphones</a> designed for music streaming. So, one day, I thought to myself, "What if I ditched my gaming headset for wired audiophile headphones?"</p><div class="product"><a data-dimension112="b36000b0-5adc-4668-8ea8-632fd24a5f70" data-action="Deal Block" data-label="These headphones from Romania’s Meze are a design and sonic treat. Click that 3.5mm headphone connector into your nearest jack, and you’ll be treated with a well rounded, pleasing warm yet detailed and clear sound." data-dimension48="These headphones from Romania’s Meze are a design and sonic treat. Click that 3.5mm headphone connector into your nearest jack, and you’ll be treated with a well rounded, pleasing warm yet detailed and clear sound." data-dimension25="$399" href="https://www.amazon.com/MEZE-AUDIO-Lightweight-Audiophile-Headphones/dp/B0DP4V91BM/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:900px;"><p class="vanilla-image-block" style="padding-top:148.22%;"><img id="78uhQ66WyMvoxDMRt6iFSP" name="Meze 105 AER deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/78uhQ66WyMvoxDMRt6iFSP.jpg" mos="" align="middle" fullscreen="" width="900" height="1334" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>These headphones from Romania’s Meze are a design and sonic treat. Click that 3.5mm headphone connector into your nearest jack, and you’ll be treated with a well rounded, pleasing warm yet detailed and clear sound.<a class="view-deal button" href="https://www.amazon.com/MEZE-AUDIO-Lightweight-Audiophile-Headphones/dp/B0DP4V91BM/" target="_blank" rel="nofollow" data-dimension112="b36000b0-5adc-4668-8ea8-632fd24a5f70" data-action="Deal Block" data-label="These headphones from Romania’s Meze are a design and sonic treat. Click that 3.5mm headphone connector into your nearest jack, and you’ll be treated with a well rounded, pleasing warm yet detailed and clear sound." data-dimension48="These headphones from Romania’s Meze are a design and sonic treat. Click that 3.5mm headphone connector into your nearest jack, and you’ll be treated with a well rounded, pleasing warm yet detailed and clear sound." data-dimension25="$399">View Deal</a></p></div><p>And ditch my gaming headset for wired audiophile headphones I did. I put my <a href="https://www.tomsguide.com/gaming/gaming-peripherals/razer-blackshark-v3-pro-review">Razer BlackShark V3 Pro</a> and <a href="https://www.tomsguide.com/gaming/gaming-peripherals/alienware-pro-wireless-gaming-headset-review">Alienware Pro Wireless</a> aside, and I brought my <a href="https://www.tomsguide.com/audio/i-just-tested-these-wired-headphones-and-they-sound-absolutely-stunning-without-breaking-the-bank">Meze 105 AER</a> wired cans from my home office to my living room. I absolutely adore the 105 AERs as they're exceptional for detailed listening, and presto, <em>of course </em>they proved fantastic in gaming too. Here are three things I liked and two I didn't.</p><h2 class="article-body__section" id="section-what-i-like"><span>What I like</span></h2><h2 id="pinpoint-clarity-everything-is-detailed">Pinpoint clarity, everything is detailed</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:7191px;"><p class="vanilla-image-block" style="padding-top:56.21%;"><img id="nxEJ4KwHr2yji9qdqnMUVP" name="PS5-Meze-op-ed-2" alt="Meze 105 AER wired headphones being used with a PS5 Slim" src="https://cdn.mos.cms.futurecdn.net/nxEJ4KwHr2yji9qdqnMUVP.jpg" mos="" align="middle" fullscreen="" width="7191" height="4042" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>There's no better way to get best-in-class sound than through a pair of wired headphones. Bluetooth and wireless headphones just don't cut it if you're an audiophile, and the same goes for achieving an immersive gaming experience too. The Meze 105 AERs are up to the challenge as they boast an incredibly wide, immersive and engaging soundstage — which is downright fantastic and peerless for both music and gaming.</p><p>Plenty of detail can be found in lows, mids and highs, and the headphones deliver a well-balanced sound profile with warm bass that doesn't overpower everything else. I played many hours of <a href="https://www.tomsguide.com/gaming/ghost-of-yotei-review">Ghost of Yotei</a> and <a href="https://www.tomsguide.com/gaming/clair-obscur-expedition-33-review">Clair Obscur: Expedition 33</a> to see how the 105 AERs fared, and the result? 10/10. No notes.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="w5aLoJcdEVMqzu5ZMAEoP7" name="ghost-of-yotei-screenshot-review-press-edit-04" alt="Ghost of Yotei press screenshots" src="https://cdn.mos.cms.futurecdn.net/w5aLoJcdEVMqzu5ZMAEoP7.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Atsu rides her horse with her shamisen on her back in Ghost of Yotei. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Sucker Punch / Sony)</span></figcaption></figure><p>In Ghost of Yotei, I really enjoyed subtle sounds that you'd miss otherwise if playing the game through your TV speakers or a lackluster gaming headset. The soft neighing of my horse in the distance, the subtle growling of my wolf as it ran towards me from afar, and the pinpoint crackling of fire and embers all added to my immersion.</p><p>Because the 105 AERs are designed for detailed, critical and analytical listening, I loved being able to hear every note plucked on Atsu's shamisen. Even the subtle vibrations between her changing notes was clear. When I was infiltrating enemy camps stealthily, I could pinpoint the enemies' positions too thanks to audio cues, such as them crouching and shifting the leaves underneath their feet.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HGNE2fv8Af29JwzWbHrzJj" name="Clair Obscur Expedition 33_Screenshot_19 (1)" alt="Maelle performs a flourishing attack in a battle in Clair Obscur: Expedition 33" src="https://cdn.mos.cms.futurecdn.net/HGNE2fv8Af29JwzWbHrzJj.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Maelle performs a flourishing attack in a battle in Clair Obscur: Expedition 33. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Sandfall Interactive)</span></figcaption></figure><p>Speaking of detailed listening, since the 105 AERs are primarily designed for music, there was no better game to play than Clair Obscur: Expedition 33 to test them out. Sandfall Interactive's debut game is one of my favorites (I've Platinum'ed it, and I have a tattoo dedicated to it), and I even listen to the beautiful, orchestral soundtrack almost every day, so I'm very familiar with it.</p><p>Through the 105 AERs, Expedition 33 sounds even more stunning than I thought was possible. I played the new free DLC, Verso's Drafts, and — spoiler alert — fought the big bad Osquio with the electropop track soundtracking the battle. Osquio took me an hour and a half to beat because he's a difficult boss, but I also spent a few minutes just head-bobbing to the music.</p><p>There was plenty of low-end impact through the 105 AERs, and their airy nature (which inspired the product name) made the soundscape feel vast rather than simply in my head. Each instrument in the multi-layered track was thumping with power and it felt like I was at a techno gig. The 105 AERs' layer and instrument separation is something to behold.</p><h2 id="perfect-for-all-day-gaming">Perfect for all-day gaming</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3145px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="5YCeqn3mF2XgVW9fW9VniS" name="Headphones-op-ed-1" alt="Meze 105 AER headphones" src="https://cdn.mos.cms.futurecdn.net/5YCeqn3mF2XgVW9fW9VniS.jpg" mos="" align="middle" fullscreen="" width="3145" height="1769" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p><a href="https://www.tomsguide.com/audio/headphones/my-doctor-banned-me-from-earbuds-so-i-got-these-marshall-headphones-instead-and-im-surprised-i-didnt-do-it-sooner">When I first used the Meze 105 AERs back in April 2025</a>, I immediately fell in love with the design and just how comfortable the headphones were — and I still feel that way all these months later. Firstly, unlike wireless gaming headsets I own, I love that you don't need to adjust the 105 AERs' headband to suit the shape of your head. The strap automatically molds to your head, distributing pressure evenly, and it adds a sense of weightlessness.</p><p>The earcups themselves are roomy and spacious, and they sit comfortably around my ears, never suffocating them. Unlike leather or faux-leather pads on gaming headsets, the 105 AERs' ear cushions are made of plush, soft foam, so they're breathable and don't make my ears overheat. Combine the free-moving headband with the ear cushions and you've got yourself a set of cans you can wear all day long.</p><p>It's also worth noting that the 105 AERs are <em>extremely </em>lightweight, weighing just 12 ounces. That's about my ideal weight for audiophile cans or gaming headsets. For reference, the Razer BlackShark V3 Pro weighs 12.9 ounces while the Alienware Pro Wireless weighs 11.11 ounces. The 105 AERs, then, are my ideal weight.</p><h2 id="nearly-every-part-is-replaceable">Nearly every part is replaceable</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2557px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="Le9hxtoYEFmJ3mTfLc66jS" name="Headphones-op-ed" alt="Meze 105 AER headphones" src="https://cdn.mos.cms.futurecdn.net/Le9hxtoYEFmJ3mTfLc66jS.jpg" mos="" align="middle" fullscreen="" width="2557" height="1438" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>The wireless gaming headsets I use regularly are accompanied by 2.4GHz dongles which need to be plugged into the PS5 to use them. It can be easy to lose these little devices, and many times, they can't be replaced. Similarly, many parts of wireless gaming headsets can't be replaced. If a part breaks — the ear cushions tear, for instance — you might not necessarily be able to replace it, and you may need to get a new headset entirely.</p><p>This is why I really like the Meze 105 AER headphones. These cans adopt a modular design, which means the headphones can be easily disassembled, serviced and repaired thanks to replaceable components, such as drivers, cables and ear pads. Broke the cable? Replace it. Ear pads not your style? Swap them for comfier ones. You can do whatever you like, and that's a huge advantage that most gaming headsets just do not offer.</p><p>Aside from helping your headphones last longer, I also love that a modular design promotes sustainability. I hate the thought of plastic headphones ending up in a landfill somewhere and contributing towards pollution that's already plaguing our planet.</p><h2 class="article-body__section" id="section-what-i-don-t-like"><span>What I don't like</span></h2><h2 id="dualsense-battery-killer">DualSense battery killer</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:7425px;"><p class="vanilla-image-block" style="padding-top:56.22%;"><img id="w4E9MGuPZveYPoC4G4ECNP" name="PS5-Meze-op-ed-5" alt="Meze 105 AER wired headphones being used with a PS5 Slim" src="https://cdn.mos.cms.futurecdn.net/w4E9MGuPZveYPoC4G4ECNP.jpg" mos="" align="middle" fullscreen="" width="7425" height="4174" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>As is the nature of wired headphones, they need to be plugged into your smartphone, laptop or other device, and they use the device they're plugged into as a power source. In the case of the PS5, I plugged the Meze 105 AERs into the 3.5mm jack on the DualSense controller. And it proved to be a battery killer.</p><p>The DualSense's battery life, in my opinion, isn't anything to write home about in the first place. On a good day, my DualSense lasts about five or six hours. With the 105 AERs plugged in, I wasn't expecting to get five hours of playtime between chargers, but I really wasn't expecting the controller to turn off after about two hours.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:7728px;"><p class="vanilla-image-block" style="padding-top:56.21%;"><img id="N9tKh2y5ddvJLb3mHEXLnN" name="PS5-Meze-op-ed-4" alt="Meze 105 AER wired headphones being used with a PS5 Slim" src="https://cdn.mos.cms.futurecdn.net/N9tKh2y5ddvJLb3mHEXLnN.jpg" mos="" align="middle" fullscreen="" width="7728" height="4344" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>But this isn't a drawback of the 105 AERs. This will be the case with <em>any </em>wired headset or headphones you use with the DualSense (or even any other controller with a 3.5mm port). So, yes, I desperately missed my Razer BlackShark V3 Pro's 48-hour rated runtime.</p><p>Perhaps you will have better luck with your controller's battery life (depending on its age). There is, of course, a solution here: you can keep your DualSense plugged in constantly when using wired headphones, but that would mean having to handle <em>two </em>cables which restrict your movement.</p><h2 id="no-anc">No ANC</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3048px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="HukfSH2NeBoFSJfVzaAqhS" name="Headphones-op-ed-7" alt="Meze 105 AER headphones" src="https://cdn.mos.cms.futurecdn.net/HukfSH2NeBoFSJfVzaAqhS.jpg" mos="" align="middle" fullscreen="" width="3048" height="1714" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>A significant drawback of using wired headphones over a wireless gaming headset, in my opinion, is the lack of active noise cancellation (ANC) on the former. My favorite genre is story-driven RPGs, which require players to immerse themselves in the story and feel like the main character. ANC helps with that, as it isolates you and makes you feel like you're the only person in the world.</p><p>The Meze 105 AERs don't feature ANC, and there isn't much in terms of passive noise cancellation either — unless you're playing video games at the highest possible volume (I don't recommend this as it can harm your hearing). They also feature an open-back design, which helps with the wide soundstage and audio feeling spacious, but this also means that everyone around you can hear what you're listening to.</p><p>Not much of a downside if you're playing alone, of course, but I use headphones when my partner is doing her own thing and I don't want the audio from the TV to disturb her. This isn't possible with open-backs. Also, I can hear the outside world when using open-backs. I don't want to hear the outside world. I want to be trapped in a little fantasy world with a bunch of pixels. ANC does that. The lack of ANC does not do that.</p><h2 class="article-body__section" id="section-looking-ahead"><span>Looking ahead...</span></h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:5482px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="YsgtwovqFST5ZDPu8ozubQ" name="PS5-Meze-op-ed-1" alt="Meze 105 AER wired headphones being used with a PS5 Slim" src="https://cdn.mos.cms.futurecdn.net/YsgtwovqFST5ZDPu8ozubQ.jpg" mos="" align="middle" fullscreen="" width="5482" height="3084" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nikita Achanta / Tom's Guide)</span></figcaption></figure><p>Having used the Meze 105 AERs wired headphones instead of a wireless gaming headset for a week, it's been a wonderful experience. I adore these headphones for detailed listening when I'm at my desk, and I appreciate how roomy the earcups are how comfortable they are overall.</p><p>And now, the question arises: would I ditch gaming headsets <em>permanently </em>in favor of audiophile headphones? To be honest with you, I'm not entirely sure. I can see the upsides of using wired headphones or in-ear monitors for gaming, and I can see the downsides too — it takes a toll on your controller's battery life and there's no ANC (which is very important to me).</p><p>But these feel like a small price to pay for pinpoint clarity in virtually every genre, all-day comfort, and modularity. So, would I give up wireless gaming headsets? Let's just say I'll alternate between them. Whatever tickles my fancy on a particular day, we'll go with that!</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XZB9kX"></div>                            </div>                            <script src="https://kwizly.com/embed/XZB9kX.js" async></script><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/audio/i-just-tested-these-wired-headphones-and-they-sound-absolutely-stunning-without-breaking-the-bank#section-meze-105-aer-specs">Meze 105 AER review: I just tested these wired headphones and they're my favorite pair of the year</a></li><li><a href="https://www.tomsguide.com/gaming/gaming-peripherals/my-new-favorite-gaming-headset-is-the-most-comfortable-ive-ever-used-and-its-not-from-razer-steelseries-or-asus">My new favorite gaming headset is the most comfortable I’ve ever used — and it’s not from Razer, SteelSeries or Asus</a></li><li><a href="https://www.tomsguide.com/gaming/gaming-peripherals/razer-just-perfected-my-dream-gaming-headset-sorry-everyone-no-other-brand-comes-close">I gave the new Razer headset 5 stars — say hello to my dream gaming cans</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Just got a PS5? Here's the 5 best games to play first ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/5-games-to-play-first-on-your-new-ps5</link>
                                                                            <description>
                            <![CDATA[ Just unwrapped a new console this Christmas? Here are the five unmissable PS5 games that I think every PlayStation 5 owner should play. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">HhcF9sZXsgGXsgaQcD2HeW</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/D8e7NbR2UySVhGgY9YqwLM-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 26 Dec 2025 09:15:00 +0000</pubDate>                                                                                                                                <updated>Sat, 27 Dec 2025 12:20:40 +0000</updated>
                                                                                                                                            <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                                    <dc:creator><![CDATA[ Martin Shore ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/D8e7NbR2UySVhGgY9YqwLM-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[PS5 Slim]]></media:description>                                                            <media:text><![CDATA[PS5 Slim]]></media:text>
                                <media:title type="plain"><![CDATA[PS5 Slim]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/D8e7NbR2UySVhGgY9YqwLM-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>We're five years into the <a href="https://www.tomsguide.com/reviews/ps5">PS5</a>'s life cycle now, and if you've just had the pleasure of unwrapping a new console this Christmas, you're no doubt looking forward to finally playing all the <a href="https://www.tomsguide.com/best-picks/the-best-ps5-games">best PS5 games</a> that you've not been able to load up until now. </p><p>Fact is, though, five years means there's an awful lot of games to choose from, and you might well be struggling to choose where to start. If that sounds like you, I've put together a quick list of five titles that represent some of the greatest games available on the latest PlayStation. Whether you've just been gifted a <a href="https://www.tomsguide.com/gaming/playstation/ps5-slim">PS5 Slim</a> or even the mighty <a href="https://www.tomsguide.com/gaming/playstation/ps5-pro-review">PS5 Pro, </a>I'm confident the five games I've listed will make for a great introduction to your new console.</p><p>I've tried to offer a range of gaming experiences, too, including titles from a range of genres and across the console's lifespan. Below, you can find a list of five top-tier PS5 games that I think new PlayStation 5 owners should make time for first. </p><h2 id="astro-bot">Astro Bot</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8PWAjmYffgKmUfAgQJ3nST" name="astro-bot-ps5-screenshot.jpg" alt="A screenshot from Astro Bot for PS5" src="https://cdn.mos.cms.futurecdn.net/8PWAjmYffgKmUfAgQJ3nST.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>Any new PS5 owner <em>should </em>spend their first few hours with Astro's Playroom, the delightful 3D platformer/tech demo that comes pre-installed on your system. But PlayStation's mascot has a full-sized adventure in the form of <a href="https://www.tomsguide.com/gaming/astro-bot-review">Astro Bot</a>, and it's an utter delight.   </p><p>Astro Bot is a playful, charming adventure that'll take you blasting across the galaxy on your Dual Speeder, searching for parts of your wrecked PS5 mothership, and rescuing hundreds of robotic pals by running, jumping, and using Astro's many abilities on an endlessly entertaining adventure. It's a love letter to PlayStation's past and an explosion of fun; get it played ASAP.</p><h2 id="clair-obscur-expedition-33-3">Clair Obscur: Expedition 33 </h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HGNE2fv8Af29JwzWbHrzJj" name="Clair Obscur Expedition 33_Screenshot_19 (1)" alt="Maelle performs a flourishing attack in a battle in Clair Obscur: Expedition 33" src="https://cdn.mos.cms.futurecdn.net/HGNE2fv8Af29JwzWbHrzJj.jpg" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sandfall Interactive)</span></figcaption></figure><p>If you're looking to play one of the latest (and biggest) games on the market, I think the best place to start would be with Clair Obscur: Expedition 33. </p><p>Sandfall Interactive's gorgeous JRPG is one of the most talked-about games of 2025, and just recently scooped no fewer than <em>nine </em>wins at <a href="https://www.tomsguide.com/news/live/game-awards-2025-live-updates-and-reveals">The Game Awards 2025, </a>including Game of the Year. And as one of the game's <em>countless </em>fans, I can see why it comes so highly recommended. </p><p>It's a compelling combo of beautiful art direction, an incredible score, intriguing narrative direction, and challenging, customizable combat. Take it from someone who gave the game a 4.5/5 star score in our <a href="https://www.tomsguide.com/gaming/clair-obscur-expedition-33-review">Clair Obscur: Expedition 33 review </a>back in April: if you love RPGs and you're yet to give it a go, you're in for a <em>real </em>treat.</p><h2 id="demon-s-souls">Demon's Souls</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hkRVYvbam2jgQy8iKP3WbC" name="TG-Demons_Souls-Shot_8.jpg" alt="Demon’s Souls review: The best reason to own a PS5" src="https://cdn.mos.cms.futurecdn.net/hkRVYvbam2jgQy8iKP3WbC.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p>While From Software fans might well opt for <a href="https://www.tomsguide.com/reviews/elden-ring">Elden Ring</a> as the go-to game for Soulslike players, for sheer graphical heft, I'd suggest checking out the <a href="https://www.tomsguide.com/reviews/demons-souls">Demon's Souls</a> remake first. Bluepoint's remake of the influential action-RPG is a top-tier dark fantasy adventure that rebuilt and enhanced the PS3 title for the current generation.</p><p>Players are tasked with venturing to Boletaria, a land cut off from the rest of the world by a deep fog, and that's been overrun with nightmarish demons. There, you'll explore fallen lands where danger lurks around every corner, facing down tough trials and brutal bosses as you piece together the story of what befell this kingdom. </p><p>Ruthless, rewarding, and brought up to date in stunning detail, persevering through Demon's Souls is still one of my favorite PS5 gaming experiences so far.</p><h2 id="god-of-war-ragnarok">God of War: Ragnarok</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sSCcoVd2tyjJWxCPAKSqiZ" name="TG_God-of-War-Ragnarok_3.jpg" alt="Kratos battles a crocodile-like Dreki monster in God of War Ragnarök" src="https://cdn.mos.cms.futurecdn.net/sSCcoVd2tyjJWxCPAKSqiZ.jpg" mos="" align="middle" fullscreen="" width="2000" height="1125" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Santa Monica Studio)</span></figcaption></figure><p>PS5 is home to tons of cinematic third-person action/adventure titles, but if I had to highlight the <em>most </em>essential of the bunch, it'd be <a href="https://www.tomsguide.com/reviews/god-of-war-ragnarok">God of War: Ragnarok</a>. It may well be available on the PS4, but PS5 is where the second half of Kratos and Atreus' adventure through Norse mythos belongs. </p><p>Picking up after the events of 2018's God of War, this epic sequel sees Kratos and Atreus journeying throughout the Nine Realms in preparation for the prophesied battle that will end the world, exploring various hubs and using powerful weapons to battle the Nine Realms' many denizens, including dangerous monsters and literal gods as they search for answers.  It's an epic single-player experience, in every sense of the word.</p><h2 id="returnal">Returnal</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SGKFv4bTDVKk5scade2A38" name="Returnal (5).png" alt="Returnal" src="https://cdn.mos.cms.futurecdn.net/SGKFv4bTDVKk5scade2A38.png" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Sony)</span></figcaption></figure><p><a href="https://www.tomsguide.com/reviews/returnal-review">Returnal </a>is another title from early in the PlayStation 5's lifecycle, but in my opinion, it's still one of the most unique, challenging, and engrossing experiences you can have on PS5 today. </p><p>Housemarque's punishing third-person sci-fi shooter arrived in early 2021 and sees players stepping into the shoes of Selene, a traveller who is locked in a time loop and endlessly fighting for survival after crash-landing on the alien planet of Atropos. </p><p>Every run, you'll be picking up high-tech weaponry and dodging and weaving through bullet-hell skirmishes, navigating shifting corridors as you search for your escape. Die, and you'll wake up back at the beginning, ready to adopt a new strategy and try again. It's challenging, but an immensely satisfying gameplay loop, and one that you should at the very least give a shot. </p><h2 id="more-ps5-games-to-consider">More PS5 games to consider</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cq567NHMWGEuZDPtYy65AJ" name="BG3-oped" alt="Shadowheart from Baldur's Gate 3" src="https://cdn.mos.cms.futurecdn.net/cq567NHMWGEuZDPtYy65AJ.png" mos="" align="middle" fullscreen="" width="3840" height="2160" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Larian Studios)</span></figcaption></figure><p>There's plenty of play on PS5, so I couldn't help but include further recommendations in case the above picks didn't resonate with you. </p><ul><li>Love sinking dozens of hours into massive RPGs? Try <a href="https://www.tomsguide.com/opinion/baldurs-gate-3-is-a-love-letter-to-dungeons-and-dragons-and-its-all-i-want-to-play-right-now">Baldur's Gate 3</a>, <a href="https://www.tomsguide.com/gaming/kingdom-come-deliverance-2-review">Kingdom Come: Deliverance 2</a>, <a href="https://www.tomsguide.com/reviews/cyberpunk-2077">Cyberpunk 2077</a>, or <a href="https://www.tomsguide.com/gaming/metaphor-refantazio-review">Metaphor: ReFantazio</a></li><li>Want more 3rd-person action/adventure games? PS5's home to loads: <a href="https://www.tomsguide.com/reviews/ghost-of-tsushima">Ghost of Tsushima</a> and its sequel, <a href="https://www.tomsguide.com/gaming/ghost-of-yotei-review">Ghost of Yotei</a>, <a href="https://www.tomsguide.com/reviews/horizon-forbidden-west">Horizon: Forbidden West</a>, <a href="https://www.tomsguide.com/opinion/ratchet-and-clank-ps5-hardware">Ratchet & Clank: Rift Apart,</a> <a href="https://www.tomsguide.com/reviews/kena-bridge-of-spirits">Kena: Bridge of Spirits</a> and  <a href="https://www.tomsguide.com/reviews/spider-man-2">Marvel's Spider-Man 2</a> are all worth investigating</li><li>Want more shooters? <a href="https://www.tomsguide.com/reviews/helldivers-2">Helldivers 2</a>, <a href="https://www.tomsguide.com/gaming/i-played-battlefield-6-for-over-20-hours-and-its-multiplayer-rivals-cod-but-skip-the-solo-mode">Battlefield 6</a>, or Destiny 2 could be great places to start gaming</li><li>Racing fan? <a href="https://www.tomsguide.com/reviews/gran-turismo-7">Gran Turismo 7</a> or <a href="https://www.tomsguide.com/gaming/sonic-racing-crossworlds-review">Sonic Racing: CrossWorlds</a> may be the picks for you</li></ul><p>As a final tip, I'd suggest investigating whether signing up for <a href="https://www.tomsguide.com/face-off/playstation-plus-essential-extra-premium-tiers">PlayStation Plus</a> Extra or Premium would be a smart solution for you. You'll need a Plus membership if you're planning to play online, but the higher subscription tiers offer additional perks. </p><p>With Extra, you get access to hundreds of games in the PS4/PS5 Game Catalogue (including some of the titles on this list!), while Premium offers that <em>plus </em>game streaming and access to the Game Catalogue's retro selection, too. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><a href="https://www.tomsguide.com/best-picks/the-best-ps5-games">The best PS5 games in 2025</a></li><li><a href="https://www.tomsguide.com/gaming/playstation/3-useful-ps5-settings-adjustments-most-gamers-overlook">3 useful PS5 settings most gamers overlook</a></li><li><a href="https://www.tomsguide.com/gaming/playstation/ive-used-the-ps5-pro-every-day-for-a-year-heres-what-i-like-and-dislike">After 1,000+ hours of play, here's my PS5 Pro verdict</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Just got a PS5? Here's 7 settings to change first  ]]></title>
                                                                                                                                                                                                <link>https://www.tomsguide.com/gaming/playstation/just-got-a-ps5-heres-7-settings-to-change-first</link>
                                                                            <description>
                            <![CDATA[ Learn which 7 PS5 settings to adjust immediately after setup for better picture quality, battery life, and overall performance. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ChFoXHiAFxPpSKwHSA5v5S</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/fxBuGn4qiG7iAuTvVWRFzB-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 25 Dec 2025 12:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Playstation]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ kaycee.hill@futurenet.com (Kaycee Hill) ]]></author>                    <dc:creator><![CDATA[ Kaycee Hill ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/XR7uugHJo9GDpoV7ZN22Ae.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/fxBuGn4qiG7iAuTvVWRFzB-1280-80.jpg">
                                                            <media:credit><![CDATA[Phil Barker/Future Publishing via Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[PS5]]></media:description>                                                            <media:text><![CDATA[PS5]]></media:text>
                                <media:title type="plain"><![CDATA[PS5]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/fxBuGn4qiG7iAuTvVWRFzB-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Setting up your <a href="https://www.tomsguide.com/gaming/playstation/ive-used-the-ps5-pro-every-day-for-a-year-heres-what-i-like-and-dislike">new PS5</a> is exciting, but before you dive headlong into your games, there are several settings you should adjust to get the best experience. Sony's default settings aren't always optimal — some waste storage space, others drain your controller battery faster, and a few miss out on features your TV can actually support. </p><p>Taking 10 minutes to configure these settings now saves frustration later and ensures you're getting the most out of your console. You don't need to dig through every menu option; just focus on these seven essential settings that make the biggest difference. </p><p>Here's what to change on your PS5 before you start gaming.</p><section class="howto-block">                    <h3>1. Turn on automatic login</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="http://cdn.mos.cms.futurecdn.net/Juzeg3dZVDBEbhgw9Kaqbb.jpg"                                        alt="PS5 Internal Storage replacement photos."                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="http://cdn.mos.cms.futurecdn.net/Juzeg3dZVDBEbhgw9Kaqbb.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Tom's Guide)</div></figure>                    <p><p>Tired of selecting your profile every single time you power on your PS5? If you're the only person using your console, there's no reason to sit through that account selection screen. Enable automatic login and jump straight into your games.</p><p>To do this, <strong>go to Settings, Users and Accounts, Login Settings and toggle on Log In</strong> <strong>to PS5 Automatically</strong>. From now on, your PS5 will boot directly to your home screen without asking who's playing. This might seem like a small time-saver, but when you're eager to start gaming after a long day, every second counts.</p><p>If other people use your PS5, they'll need to manually switch users after the console boots up, but for single-user households, this is a major convenience.</p></p>                </section><section class="howto-block">                    <h3>2. Extend your DualSense controller's battery life</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="http://cdn.mos.cms.futurecdn.net/faYqyL3ZiJq7wM3EXNqnJ3.jpg"                                        alt="PS5 DualSense controller"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="http://cdn.mos.cms.futurecdn.net/faYqyL3ZiJq7wM3EXNqnJ3.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Tom's Guide)</div></figure>                    <p><p>The PS5's DualSense controller offers impressive features but can drain quickly during extended gaming sessions.</p><p>Start by adjusting the controller's indicator brightness by navigating to <strong>Settings, Accessories, Controller (General),</strong> <strong>Controller Indicators Brightness and changing it from Standard to Dim</strong>. This small change reduces power consumption without affecting functionality.</p><p>Next, consider modifying the haptic feedback intensity. In the same Controller menu, <strong>locate Trigger Effect Intensity and Vibration Intensity and change both from Standard to Weak</strong>. For even greater battery savings, you can turn these features off completely, though you'll lose the immersive feedback that makes many PS5 games special.</p><p>Finally, set your controller to automatically power down when not in use. <strong>Go to System, Power Saving, Set Time Until Controllers Turn Off and select After 10 Minutes</strong>. This is particularly useful when watching movies or shows, where you don't need the controller to stay active.</p></p>                </section><section class="howto-block">                    <h3>3. Set up game presets</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/QtC5XrBKmnRNJDnKmAV3QD.jpg"                                        alt="Ratchet & Clank being played on a PS5 and a Sony Bravia gaming TV."                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/QtC5XrBKmnRNJDnKmAV3QD.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Sony)</div></figure>                    <p><p>Game Presets are one of the PS5's most underrated features. Instead of adjusting difficulty, performance mode, subtitle size, and control schemes in every single game you play, you can configure your preferences once and have them automatically apply across compatible titles.</p><p><strong>Head to Settings, Saved Data and Game/App Settings, and Game Presets </strong>to set your defaults. You can set default difficulty levels, decide whether to prioritize performance mode or resolution mode, enable or disable inverted controls, and configure subtitle preferences.</p><p>Not every game supports these presets, but a growing number do. Setting your preferences now means less time fiddling with options menus and more time actually playing. </p></p>                </section><section class="howto-block">                    <h3>4. Optimize visual output for your display</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="http://cdn.mos.cms.futurecdn.net/Gb3puNQ2gUbzLSrAX7RDPk.jpg"                                        alt="Girl playing PS5"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="http://cdn.mos.cms.futurecdn.net/Gb3puNQ2gUbzLSrAX7RDPk.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Shutterstock)</div></figure>                    <p><p>Proper video settings ensure you're getting the best possible visual experience from your PS5, especially if you have one of the <a href="https://www.tomsguide.com/us/best-4k-gaming-tv,review-4837.html">best gaming TVs</a> around. </p><p>Navigate to<strong> Settings, Screen and Video, Video Output and look for Variable Refresh Rate (VRR)</strong>. Next,<strong> set this to Automatic and enable Apply to Unsupported Games</strong>. VRR reduces screen tearing and stuttering by synchronizing your TV's refresh rate with the game's frame rate.</p><p>While in the same menu, <strong>set both Auto Low Latency Mode (ALLM) and 120Hz Output to Automatic</strong>. These features reduce input lag and allow for smoother motion in supported games. Your TV will need HDMI 2.1 support to take full advantage of these options.</p><p>For the best color reproduction,<strong> ensure HDR is set to Always On, then run the HDR calibration wizard </strong>to optimize brightness and contrast for your specific display. Finally, <strong>set both Deep Color Output and RGB Range to Automatic</strong> to ensure proper color depth and accuracy.</p></p>                </section><div class="product"><a data-dimension112="a959484b-11fc-49b5-b930-8d3f6ff32c39" data-action="Deal Block" data-label="With its premium build quality, detailed sound, Tempest 3D Audio support and long battery life, there's a reason Soy's headset is named "Elite." Despite its high quality, you'll find it offers a not-so-big price." data-dimension48="With its premium build quality, detailed sound, Tempest 3D Audio support and long battery life, there's a reason Soy's headset is named "Elite." Despite its high quality, you'll find it offers a not-so-big price." data-dimension25="$129" href="https://www.amazon.com/PlayStation-Pulse-Elite-Wireless-Headset-5/dp/B0CMDH9M5W/ref=" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1000px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="mwTmAuJqhDwMwCMd6rod5e" name="pulse-elite-playstation-headset.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/mwTmAuJqhDwMwCMd6rod5e.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>With its premium build quality, detailed sound, Tempest 3D Audio support and long battery life, there's a reason Soy's headset is named "Elite." Despite its high quality, you'll find it offers a not-so-big price. <a class="view-deal button" href="https://www.amazon.com/PlayStation-Pulse-Elite-Wireless-Headset-5/dp/B0CMDH9M5W/ref=" target="_blank" rel="nofollow" data-dimension112="a959484b-11fc-49b5-b930-8d3f6ff32c39" data-action="Deal Block" data-label="With its premium build quality, detailed sound, Tempest 3D Audio support and long battery life, there's a reason Soy's headset is named "Elite." Despite its high quality, you'll find it offers a not-so-big price." data-dimension48="With its premium build quality, detailed sound, Tempest 3D Audio support and long battery life, there's a reason Soy's headset is named "Elite." Despite its high quality, you'll find it offers a not-so-big price." data-dimension25="$129">View Deal</a></p></div><section class="howto-block">                    <h3>5. Enable Remote Play</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/8Kmnrspd62eP6eFTB37krT.jpg"                                        alt="Playing PS4 using remote play with the Backbone One"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/8Kmnrspd62eP6eFTB37krT.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Tom's Guide)</div></figure>                    <p><p>Remote Play lets you stream games to other devices when you're away from your TV. Whether you're on a lunch break, traveling, or someone else is using the television, you can continue playing on your phone, PC, PS4, or <a href="https://www.tomsguide.com/reviews/playstation-portal">PlayStation Portal</a>.</p><p><strong>Go to Settings, System, Remote Play and toggle it on</strong>. This alone enables the feature, but there's one more step to make it truly convenient. <strong>Navigate to Settings, System, Power Saving, Features Available in Rest Mode and enable Stay Connected to the Internet</strong>. This allows your PS5 to wake up remotely even when it's in rest mode, so you don't need to leave it running all the time.</p><p>Once configured, <strong>download the PlayStation Remote Play app</strong> on whatever device you want to use, <strong>sign in with your PlayStation Network account</strong>, and <strong>connect to your console</strong>. </p></p>                </section><section class="howto-block">                    <h3>6. Enhance privacy and security settings</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/45ThYu6DqPucAfjjw5aPgD.jpg"                                        alt="The PS5 Pro with a DualSense controller on a desk"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/45ThYu6DqPucAfjjw5aPgD.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Tom's Guide)</div></figure>                    <p><p>The PS5 collects various types of data by default, but you can adjust these settings to better protect your privacy.</p><p><strong>Start by navigating to Settings, Users and Accounts, Privacy, View and Customize Your Privacy Settings</strong>. Here you can control who sees your real name, profile picture, friends list, and gaming activity. <strong>Consider setting most options to No One or Close Friends Only </strong>to limit your online visibility.</p><p>Next, under Privacy, <strong>find Control how your data is collected and used </strong>to access three important options: Data You Provide, Personalization, and Voice Data Collection. <strong>Change Data You Provide to Limited, consider turning off all Personalization options, and set Voice Data Collection to Don't Allow </strong>if you're concerned about voice data privacy.</p><p>These simple adjustments help protect your information while still allowing you to enjoy your PlayStation's online features and community aspects.</p></p>                </section><section class="howto-block">                    <h3>7. Disable trophy video recording</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="http://cdn.mos.cms.futurecdn.net/FY4VGTzod8PrjU4mryi8hn.jpg"                                        alt="How to watch Super Bowl with your PS5"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="http://cdn.mos.cms.futurecdn.net/FY4VGTzod8PrjU4mryi8hn.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Rokas Tenys | Shutterstock)</div></figure>                    <p><p>Every time you unlock a trophy, the console automatically records a 14-second video clip of the moment. If you're an active player, these clips accumulate fast and eat up gigabytes of space you could be using for actual games.</p><p><strong>Navigate to Settings, Captures and Broadcasts, Trophies and toggle off Save Trophy Videos</strong>. Unless you're creating content or love rewatching your trophy moments, you'll never miss these clips. </p><p>The storage savings alone make this worth doing, especially if you have a lot of games installed. </p></p>                </section><figure class="van-image-figure pull-right inline-layout" data-bordeaux-image-check ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:676px;"><p class="vanilla-image-block" style="padding-top:31.51%;"><img id="ZCwuUFRE3YeboHR4zyEWmb" name="r3t8zZ5ve4GewFTeoCM3R6" alt="Google" src="https://cdn.mos.cms.futurecdn.net/ZCwuUFRE3YeboHR4zyEWmb.jpg" mos="" align="right" fullscreen="" width="676" height="213" attribution="" endorsement="" class="pull-rightinline"></p></div></div><figcaption itemprop="caption description" class="pull-right inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More From Tom's Guide </span></h3><ul><li><a href="https://www.tomsguide.com/gaming/xbox/ps5-running-slow-heres-how-to-speed-it-up-clone-clone">PS5 running slow? Here's how to speed it up</a></li><li><a href="https://www.tomsguide.com/tvs/heres-how-to-stop-your-tv-from-turning-on-your-xbox-or-ps5">Here's how to stop your TV from turning on your Xbox or PS5</a></li><li><a href="https://www.tomsguide.com/gaming/playstation/how-to-turn-on-enhance-image-quality-for-ps4-games-on-ps5-pro">Your PS5 Pro can boost image quality on PS4 games — here's how </a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
            </channel>
</rss>