<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:dc="http://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/articletype/hands-on" rel="self" type="application/rss+xml" />
                            <title><![CDATA[ Latest from Tom's Guide in Hands-on ]]></title>
                <link>https://www.tomsguide.com/hands-on</link>
        <description><![CDATA[ All the latest hands-on content from the Tom's Guide team ]]></description>
                                    <lastBuildDate>Tue, 15 Sep 2026 07:00:00 +0000</lastBuildDate>
                            <language>en</language>
                                <item>
                                                            <title><![CDATA[ I’ve been running in the new On Cloudsurfer 3 — here are 4 things I like (and 2 I don’t) ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I love a good rocker on a <a href="https://www.tomsguide.com/best-picks/best-running-shoes">running shoe</a>, and the On Cloudsurfer line’s signature feature has always been its CloudTec Phase cushioning, where holes in the midsole collapse into eachother like dominoes to roll you from heel to toe as you run.</p><p>The <a href="https://www.tomsguide.com/wellness/running/on-cloudsurfer-2-review">On Cloudsurfer 2</a> is a lightweight daily trainer, while the <a href="https://www.tomsguide.com/wellness/running/on-cloudsurfer-max-review">On Cloudsurfer Max</a> is a more cushioned but firmer shoe. The new On Cloudsurfer 3 splits the difference between these shoes, and based on my early testing, I think it could be the best Cloudsurfer yet.</p><p>I’ve been able to do a couple of runs in the On Cloudsurfer 3 ahead of its launch, and it’s impressed me on both. The shoe uses a new foam in the midsole called Surreal and delivers a soft, smooth ride that helps the miles tick by enjoyably.</p><p>Here’s what you need to know about On’s latest running shoe, including my early likes and dislikes.</p><h3 class="article-body__section" id="section-on-cloudsurfer-3-price-and-availability"><span> On Cloudsurfer 3: Price and availability </span></h3><p>The On Cloudsurfer 3 launched on 15 September 2026, and my first like about the shoe is that it hasn’t risen in price compared with the Cloudsurfer 2. It costs $160 in the U.S. and £150 in the U.K., making it one of the cheaper cushioned shoes in On’s line-up.</p><h3 class="article-body__section" id="section-like-1-it-s-more-cushioned-than-past-models"><span>Like #1: It’s more cushioned than past models</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AzpwpvihUVrWVkpALZGBR4" name="On Cloudsurfer 3" alt="On Cloudsurfer 2 and On Cloudsurfer 3" src="https://cdn.mos.cms.futurecdn.net/AzpwpvihUVrWVkpALZGBR4-1920-80.jpg" 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: Future)</span></figcaption></figure><p>The Cloudsurfer 3 feels like a softer shoe with more cushioning underfoot than past models, especially under the forefoot.</p><p>On say that the new Surreal superfoam deepens compression by 15.5% compared with the Helion foam used on the Cloudsurfer 2, and I could feel the extra depth in the midsole on my runs and how much the new shoe absorbed the impact of running.</p><p>I found that the Cloudsurfer 2 could sometimes "bottom out" and feel a bit flat by the end of runs, but I haven’t had that feeling from the Cloudsurfer 3 at all so far.</p><p>The Cloudsurfer Max was marketed as an incredibly soft shoe when it came out, but I actually found it pretty firm — the Cloudsurfer 3 delivers on its promise of softness.</p><h3 class="article-body__section" id="section-like-2-the-ride-is-impressively-smooth-at-a-variety-of-paces"><span>Like #2: The ride is impressively smooth at a variety of paces</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8hBGgU6nThuKyZ7X8bLYA4" name="On Cloudsurfer 3" alt="On Cloudsurfer 3" src="https://cdn.mos.cms.futurecdn.net/8hBGgU6nThuKyZ7X8bLYA4-1920-80.jpg" 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: Future)</span></figcaption></figure><p>Soft shoes are great, but not if you end up stuck in that soft foam and feeling like you have to push through it to keep running, which does occasionally happen with max-cushioned shoes in my experience.</p><p>This is where the CloudTec Phase rocker comes into play with the Cloudsurfer 3, because it helps move you through the midsole onto your toes smoothly, so you don’t lose momentum while enjoying the impact-absorbing benefits of the cushioning.</p><p>I used the On Cloudsurfer 3 for a progression run, moving from an easy to a steady pace, and was able to clip along at sub-6min/mile pace comfortably in the shoe, despite the fact that it’s not all that light.</p><h3 class="article-body__section" id="section-like-3-there-s-more-spring-off-the-toes"><span>Like #3: There’s more spring off the toes</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BppML2NtpKCVVJezhXBqo3" name="On Cloudsurfer 3" alt="On Cloudsurfer 3" src="https://cdn.mos.cms.futurecdn.net/BppML2NtpKCVVJezhXBqo3-1920-80.jpg" 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: Future)</span></figcaption></figure><p>The main criticism I’ve had with past Cloudsurfer shoes is that the Helion foam in the midsole isn’t all that springy. The shoes have a smooth ride and a lightweight feel, but don’t deliver much energy return off the toes.</p><p>The Surreal foam in the Cloudsurfer 3’s midsole is a definite improvement on that front. I noticed a lot more bounce from the shoe, especially at faster paces.</p><p>That extra energy from the forefoot is also clear during longer runs in the shoe, when the previous models would start to feel a bit flat.</p><h3 class="article-body__section" id="section-like-4-the-outsole-grip-is-better"><span> Like #4: The outsole grip is better</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="to87dadLx93LQvtD5LrF24" name="On Cloudsurfer 3" alt="On Cloudsurfer 3" src="https://cdn.mos.cms.futurecdn.net/to87dadLx93LQvtD5LrF24-1920-80.jpg" 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: Future)</span></figcaption></figure><p>I did a short run wearing the On Cloudsurfer 2 on one foot and the On Cloudsurfer 3 on the other, and along with differences in the ride feel, I also noted that the outsole on the new shoe gripped a little better on damp sidewalks.</p><p>While I didn’t have any real problems with the grip of the Cloudsurfer 2 when I tested it out, any improvement in this area is always welcome in a cushioned daily trainer you’re going to use in all conditions.</p><h3 class="article-body__section" id="section-dislike-1-it-s-heavier-than-the-cloudsurfer-3"><span>Dislike #1: It’s heavier than the Cloudsurfer 3</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="voFTEpTQCpFB3Y6Xc2FcL4" name="On Cloudsurfer 3" alt="On Cloudsurfer 3 and On Cloudsurfer 2" src="https://cdn.mos.cms.futurecdn.net/voFTEpTQCpFB3Y6Xc2FcL4-1920-80.jpg" 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: Future)</span></figcaption></figure><p>The new Surreal foam used in the Cloudsurfer 3 is lighter than the Helion material used in past models, according to On, but the overall weight of the shoe has gone up considerably.</p><p>My US men’s size 9.5 weighs 10.8oz compared to 9.4oz for the Cloudsurfer 2 in the same size, likely because the shoe has more outsole coverage and more cushioning in the midsole, as well as a wider base.</p><p>This isn’t a big problem for me, because the Cloudsurfer 3 doesn’t feel heavy or cumbersome on the run thanks to its rockered ride, but it’s quite a noticeable change from the Cloudsurfer 2, and big fans of the older shoe might not take to the larger design.</p><h3 class="article-body__section" id="section-dislike-2-it-s-not-as-versatile-as-some-daily-trainers"><span>Dislike #2: It’s not as versatile as some daily trainers</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wsDCAbX36FSNpEbZCrDAu3" name="On Cloudsurfer 3" alt="On Cloudsurfer 3" src="https://cdn.mos.cms.futurecdn.net/wsDCAbX36FSNpEbZCrDAu3-1920-80.jpg" 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: Future)</span></figcaption></figure><p>While I enjoyed using the Cloudsurfer 3 at easy, steady paces, it’s not a shoe I think will handle speed sessions all that well. That’s not really its job to be fair — it’s a cushioned shoe for comfortable cruising — but there are some terrific daily trainers that do offer more versatility.</p><p>The <a href="https://www.tomsguide.com/wellness/running/asics-novablast-6-review">Asics Novablast 6</a> immediately springs to mind as a max-cushioned shoe that’s lighter and a bit livelier at fast paces than the Cloudsurfer 3, while the <a href="https://www.tomsguide.com/wellness/running/puma-deviate-pure-nitro-review">Puma Deviate Pure Nitro</a> is an incredibly light daily trainer that I found comfortable for long, easy runs and that can also handle speedwork well.</p><p>I think the Cloudsurfer 3 is competitive with other cushioned shoes in its category, like the <a href="https://www.tomsguide.com/wellness/running/i-ran-40-miles-in-the-saucony-triumph-24-and-its-a-return-to-form-for-the-popular-cushioned-running-shoe">Saucony Triumph 24 </a>and <a href="https://www.tomsguide.com/wellness/running/hoka-clifton-pro-review">Hoka Clifton Pro</a>, but those looking for more of an all-rounder will be better served by a shoe like the Novablast 6.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eEq7ae"></div>                            </div>                            <script src="https://kwizly.com/embed/eEq7ae.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><strong></strong><a href="https://www.tomsguide.com/wellness/running/how-long-do-running-shoes-actually-last-i-asked-an-expert-who-makes-them-and-they-gave-me-a-great-tip-for-recognizing-when-your-shoes-are-done" target="_blank"><strong>How long do running shoes actually last? I asked an expert who makes them, and they gave me a great tip for recognizing when your shoes are done</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/running/rheon-running-shorts-are-being-used-by-top-road-track-and-trail-runners-i-spoke-to-an-expert-to-find-out-more-about-the-tech"><strong>Rheon running shorts are being used by top road, track and trail runners — I spoke to an expert to find out more about the tech</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/running/i-tested-shoes-from-5-up-and-coming-running-brands-here-are-the-ones-worth-your-money"><strong>I tested shoes from 5 up-and-coming running brands — here are the ones worth your money</strong></a><strong></strong></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/running/ive-been-running-in-the-new-on-cloudsurfer-3-here-are-4-things-i-like-and-2-i-dont</link>
                                                                            <description>
                            <![CDATA[ The On Cloudsurfer 3 is a significant update on the previous model, introducing a new foam and a softer, more cushioned design. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">HX3HJcEUJyCmeyZkJGEWid</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/XWmxK9KvLnsa4iVNoKtKg4-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 15 Sep 2026 07:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Running]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                    <category><![CDATA[Fitness]]></category>
                                                                                                                    <dc:creator><![CDATA[ Nick Harris-Fry ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/J5Jjp49GUVjLZEbjEkTex-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Nick has been a journalist since 2012 and has spent most of that time writing about health and fitness for a variety of publications. Nick spent nine years working on the Coach magazine and website before moving to the fitness team at Tom’s Guide in 2024. Nick is a keen runner and also the founder of YouTube channel &lt;a href=&quot;https://www.youtube.com/channel/UCOBM9FasII4dKbyE_HKkbjw&quot;&gt;The Run Testers&lt;/a&gt;, which specialises in reviewing running shoes, watches, headphones and other gear.&lt;/p&gt;&lt;p&gt;Nick has covered all aspects of health and fitness throughout his career, interviewing experts and celebrities, trying fitness classes and running marathons, all in the name of providing readers with the information they need to get the most out of an active lifestyle.&lt;/p&gt;&lt;p&gt;Nick ran his first marathon in 2016 after six weeks of training for a magazine feature and subsequently became obsessed with the sport. He now has PBs of 2hr 25min for the marathon and 15min 30sec for 5K, and has run 16 marathons in total, as well as a 50-mile ultramarathon.&lt;/p&gt;&lt;p&gt;Nick runs 60-90 miles a week and races regularly with his club, which gives him a lot of opportunity to test out running gear: he has tested and reviewed hundreds of pairs of running shoes, as well as fitness trackers, running watches, sports headphones, treadmills, and all manner of other kit. Nick is also a qualified Run Leader in the UK.&lt;/p&gt;&lt;p&gt;Nick is an established expert in the health and fitness area and along with writing for several publications, including &lt;a href=&quot;https://www.livescience.com/author/nick-harris-fry&quot;&gt;Live Science&lt;/a&gt;, &lt;a href=&quot;https://www.expertreviews.co.uk/authors/nick-harris-fry&quot;&gt;Expert Reviews&lt;/a&gt;, &lt;a href=&quot;https://www.wareable.com/author/n.harris-fry&quot;&gt;Wareable&lt;/a&gt;, &lt;a href=&quot;https://www.coachweb.com/author/nick-harris-fry&quot;&gt;Coach&lt;/a&gt; and &lt;a href=&quot;https://www.getsweatgo.com/author/n.harrisfry&quot;&gt;Get Sweat Go&lt;/a&gt;, he has been quoted on &lt;a href=&quot;https://www.theguardian.com/thefilter/2024/oct/20/if-you-pay-more-than-4-youre-being-ripped-off-the-fair-price-for-14-everyday-items-from-cleaning-spray-to-olive-oil&quot;&gt;The Guardian&lt;/a&gt; and &lt;a href=&quot;https://www.independent.co.uk/life-style/health-and-families/london-marathon-2021-date-training-tips-summer-running-a9482486.html&quot;&gt;The Independent&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Nick graduated from the University of York in 2010 with a degree in Politics, Philosophy and Economics and worked in the NHS for three years, during which time he completed his NCTJ Diploma in Journalism at News Associates in London. Before starting on Coach and moving into health and fitness, Nick worked as a football journalist and lived in Kathmandu, Nepal for two years.&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/XWmxK9KvLnsa4iVNoKtKg4-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[On Cloudsurfer 3]]></media:description>                                                            <media:text><![CDATA[On Cloudsurfer 3]]></media:text>
                                <media:title type="plain"><![CDATA[On Cloudsurfer 3]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/XWmxK9KvLnsa4iVNoKtKg4-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I love a good rocker on a <a href="https://www.tomsguide.com/best-picks/best-running-shoes">running shoe</a>, and the On Cloudsurfer line’s signature feature has always been its CloudTec Phase cushioning, where holes in the midsole collapse into eachother like dominoes to roll you from heel to toe as you run.</p><p>The <a href="https://www.tomsguide.com/wellness/running/on-cloudsurfer-2-review">On Cloudsurfer 2</a> is a lightweight daily trainer, while the <a href="https://www.tomsguide.com/wellness/running/on-cloudsurfer-max-review">On Cloudsurfer Max</a> is a more cushioned but firmer shoe. The new On Cloudsurfer 3 splits the difference between these shoes, and based on my early testing, I think it could be the best Cloudsurfer yet.</p><p>I’ve been able to do a couple of runs in the On Cloudsurfer 3 ahead of its launch, and it’s impressed me on both. The shoe uses a new foam in the midsole called Surreal and delivers a soft, smooth ride that helps the miles tick by enjoyably.</p><p>Here’s what you need to know about On’s latest running shoe, including my early likes and dislikes.</p><h3 class="article-body__section" id="section-on-cloudsurfer-3-price-and-availability"><span> On Cloudsurfer 3: Price and availability </span></h3><p>The On Cloudsurfer 3 launched on 15 September 2026, and my first like about the shoe is that it hasn’t risen in price compared with the Cloudsurfer 2. It costs $160 in the U.S. and £150 in the U.K., making it one of the cheaper cushioned shoes in On’s line-up.</p><h3 class="article-body__section" id="section-like-1-it-s-more-cushioned-than-past-models"><span>Like #1: It’s more cushioned than past models</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="AzpwpvihUVrWVkpALZGBR4" name="On Cloudsurfer 3" alt="On Cloudsurfer 2 and On Cloudsurfer 3" src="https://cdn.mos.cms.futurecdn.net/AzpwpvihUVrWVkpALZGBR4-1920-80.jpg" 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: Future)</span></figcaption></figure><p>The Cloudsurfer 3 feels like a softer shoe with more cushioning underfoot than past models, especially under the forefoot.</p><p>On say that the new Surreal superfoam deepens compression by 15.5% compared with the Helion foam used on the Cloudsurfer 2, and I could feel the extra depth in the midsole on my runs and how much the new shoe absorbed the impact of running.</p><p>I found that the Cloudsurfer 2 could sometimes "bottom out" and feel a bit flat by the end of runs, but I haven’t had that feeling from the Cloudsurfer 3 at all so far.</p><p>The Cloudsurfer Max was marketed as an incredibly soft shoe when it came out, but I actually found it pretty firm — the Cloudsurfer 3 delivers on its promise of softness.</p><h3 class="article-body__section" id="section-like-2-the-ride-is-impressively-smooth-at-a-variety-of-paces"><span>Like #2: The ride is impressively smooth at a variety of paces</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8hBGgU6nThuKyZ7X8bLYA4" name="On Cloudsurfer 3" alt="On Cloudsurfer 3" src="https://cdn.mos.cms.futurecdn.net/8hBGgU6nThuKyZ7X8bLYA4-1920-80.jpg" 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: Future)</span></figcaption></figure><p>Soft shoes are great, but not if you end up stuck in that soft foam and feeling like you have to push through it to keep running, which does occasionally happen with max-cushioned shoes in my experience.</p><p>This is where the CloudTec Phase rocker comes into play with the Cloudsurfer 3, because it helps move you through the midsole onto your toes smoothly, so you don’t lose momentum while enjoying the impact-absorbing benefits of the cushioning.</p><p>I used the On Cloudsurfer 3 for a progression run, moving from an easy to a steady pace, and was able to clip along at sub-6min/mile pace comfortably in the shoe, despite the fact that it’s not all that light.</p><h3 class="article-body__section" id="section-like-3-there-s-more-spring-off-the-toes"><span>Like #3: There’s more spring off the toes</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BppML2NtpKCVVJezhXBqo3" name="On Cloudsurfer 3" alt="On Cloudsurfer 3" src="https://cdn.mos.cms.futurecdn.net/BppML2NtpKCVVJezhXBqo3-1920-80.jpg" 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: Future)</span></figcaption></figure><p>The main criticism I’ve had with past Cloudsurfer shoes is that the Helion foam in the midsole isn’t all that springy. The shoes have a smooth ride and a lightweight feel, but don’t deliver much energy return off the toes.</p><p>The Surreal foam in the Cloudsurfer 3’s midsole is a definite improvement on that front. I noticed a lot more bounce from the shoe, especially at faster paces.</p><p>That extra energy from the forefoot is also clear during longer runs in the shoe, when the previous models would start to feel a bit flat.</p><h3 class="article-body__section" id="section-like-4-the-outsole-grip-is-better"><span> Like #4: The outsole grip is better</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="to87dadLx93LQvtD5LrF24" name="On Cloudsurfer 3" alt="On Cloudsurfer 3" src="https://cdn.mos.cms.futurecdn.net/to87dadLx93LQvtD5LrF24-1920-80.jpg" 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: Future)</span></figcaption></figure><p>I did a short run wearing the On Cloudsurfer 2 on one foot and the On Cloudsurfer 3 on the other, and along with differences in the ride feel, I also noted that the outsole on the new shoe gripped a little better on damp sidewalks.</p><p>While I didn’t have any real problems with the grip of the Cloudsurfer 2 when I tested it out, any improvement in this area is always welcome in a cushioned daily trainer you’re going to use in all conditions.</p><h3 class="article-body__section" id="section-dislike-1-it-s-heavier-than-the-cloudsurfer-3"><span>Dislike #1: It’s heavier than the Cloudsurfer 3</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="voFTEpTQCpFB3Y6Xc2FcL4" name="On Cloudsurfer 3" alt="On Cloudsurfer 3 and On Cloudsurfer 2" src="https://cdn.mos.cms.futurecdn.net/voFTEpTQCpFB3Y6Xc2FcL4-1920-80.jpg" 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: Future)</span></figcaption></figure><p>The new Surreal foam used in the Cloudsurfer 3 is lighter than the Helion material used in past models, according to On, but the overall weight of the shoe has gone up considerably.</p><p>My US men’s size 9.5 weighs 10.8oz compared to 9.4oz for the Cloudsurfer 2 in the same size, likely because the shoe has more outsole coverage and more cushioning in the midsole, as well as a wider base.</p><p>This isn’t a big problem for me, because the Cloudsurfer 3 doesn’t feel heavy or cumbersome on the run thanks to its rockered ride, but it’s quite a noticeable change from the Cloudsurfer 2, and big fans of the older shoe might not take to the larger design.</p><h3 class="article-body__section" id="section-dislike-2-it-s-not-as-versatile-as-some-daily-trainers"><span>Dislike #2: It’s not as versatile as some daily trainers</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wsDCAbX36FSNpEbZCrDAu3" name="On Cloudsurfer 3" alt="On Cloudsurfer 3" src="https://cdn.mos.cms.futurecdn.net/wsDCAbX36FSNpEbZCrDAu3-1920-80.jpg" 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: Future)</span></figcaption></figure><p>While I enjoyed using the Cloudsurfer 3 at easy, steady paces, it’s not a shoe I think will handle speed sessions all that well. That’s not really its job to be fair — it’s a cushioned shoe for comfortable cruising — but there are some terrific daily trainers that do offer more versatility.</p><p>The <a href="https://www.tomsguide.com/wellness/running/asics-novablast-6-review">Asics Novablast 6</a> immediately springs to mind as a max-cushioned shoe that’s lighter and a bit livelier at fast paces than the Cloudsurfer 3, while the <a href="https://www.tomsguide.com/wellness/running/puma-deviate-pure-nitro-review">Puma Deviate Pure Nitro</a> is an incredibly light daily trainer that I found comfortable for long, easy runs and that can also handle speedwork well.</p><p>I think the Cloudsurfer 3 is competitive with other cushioned shoes in its category, like the <a href="https://www.tomsguide.com/wellness/running/i-ran-40-miles-in-the-saucony-triumph-24-and-its-a-return-to-form-for-the-popular-cushioned-running-shoe">Saucony Triumph 24 </a>and <a href="https://www.tomsguide.com/wellness/running/hoka-clifton-pro-review">Hoka Clifton Pro</a>, but those looking for more of an all-rounder will be better served by a shoe like the Novablast 6.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-eEq7ae"></div>                            </div>                            <script src="https://kwizly.com/embed/eEq7ae.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><strong></strong><a href="https://www.tomsguide.com/wellness/running/how-long-do-running-shoes-actually-last-i-asked-an-expert-who-makes-them-and-they-gave-me-a-great-tip-for-recognizing-when-your-shoes-are-done" target="_blank"><strong>How long do running shoes actually last? I asked an expert who makes them, and they gave me a great tip for recognizing when your shoes are done</strong></a></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/running/rheon-running-shorts-are-being-used-by-top-road-track-and-trail-runners-i-spoke-to-an-expert-to-find-out-more-about-the-tech"><strong>Rheon running shorts are being used by top road, track and trail runners — I spoke to an expert to find out more about the tech</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/running/i-tested-shoes-from-5-up-and-coming-running-brands-here-are-the-ones-worth-your-money"><strong>I tested shoes from 5 up-and-coming running brands — here are the ones worth your money</strong></a><strong></strong></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ iPhone 18 Pro and Pro Max hands-on — 4 things I really like (and 2 I don't) ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Yeah, there’s a smaller Dynamic Island and fancy new colors, but you’d be hard pressed to tell the difference between the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-and-iphone-18-pro-max-are-official-heres-what-you-need-to-know">iPhone 18 Pro and iPhone 18 Pro Max</a> and the iPhone 17 Pro series at a glance.</p><p>Dig a bit deeper, however, and you’ll discover that the iPhone 18 Pro and Pro Max have some pretty big camera upgrades that photographers of all skill levels will appreciate. The main camera offers variable aperture for the first time. And there’s new pro controls that let you adjust everything from the aperture to the shutter speed.</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/BZi0R_thP9M" allowfullscreen></iframe></div></div><p>Other sneaky awesome upgrades include a much faster A20 Pro chip, improved vapor chamber cooling for better sustained performance and much longer rated battery life. However, you’re going to pay $100 more for both models. And there’s some other drawbacks. Are these the <a href="https://www.tomsguide.com/best-picks/best-phones">best phones</a> you can buy now? Here’s my first impressions.</p><h3 class="article-body__section" id="section-what-i-like"><span>What I like</span></h3><h2 id="variable-aperture-camera">Variable aperture camera</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="HYuuDMJ2Ch2YMUKD2MbYWc" name="iPhone 18 Pro cameras" alt="iPhone 18 Pro cameras" src="https://cdn.mos.cms.futurecdn.net/HYuuDMJ2Ch2YMUKD2MbYWc-1920-80.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>The main 48MP fusion camera on the iPhone 18 Pro and Pro Max have six laser-cut blades that can transition between different apertures on the fly. This allows the camera to automatically open and close the shutter based on the conditions to give you optimal control of depth of field and lighting.</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="9GCbUtdmqto6e9mrgX2BJo" name="iPhone 18 Pro Max variable aperture" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/9GCbUtdmqto6e9mrgX2BJo-1920-80.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>Even better, you can manually change the aperture from four different ranges, allowing you to choose the optimal setting for the photo at hand. For example, you can choose f/1.48 for portraits and have more of the background out of focus or go up to f/4.0 if you want all of the scene to look sharp.</p><p>I tried this out in a simulated bar setting and I captured a glass with two different aperture settings and noticed a stark difference in the images. We'll be doing a lot more testing to see if these flagships make our <a href="https://www.tomsguide.com/us/best-phone-cameras,review-2272.html">best camera phone</a> list.</p><h2 id="seriously-powerful-a20-pro-chip-with-better-cooling">Seriously powerful A20 Pro chip — with better cooling</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="cTmx5d63stEFmgKNszEyDo" name="iPhone 18 Pro Max gameplay" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/cTmx5d63stEFmgKNszEyDo-1920-80.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>The A20 Pro is Apple’s first 2nm chip in a phone, and it promises a serious performance boost. The 6-core CPU has two super cores that are up to 20% faster than the A19 Pro, plus a new 7-core GPU that promises up to 40% faster graphics performance than the <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-review">iPhone 17 Pro Max</a>.</p><p>I tried out the new chip in the Monster Hunter game coming later this year, and the gameplay was super smooth. We’re talking up to 120 frames per second. </p><p>Just as important, the new larger vapor chamber cooling system is designed to deliver up to 40% better sustained performance than the iPhone 17 Pro. Apple also designed the A20 Pro chip so that the memory sits to the side instead of having a stacked configuration, which also helps dissipate heat.  </p><h2 id="even-longer-battery-life">Even longer battery 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:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XEnBSEb3MMRqFRw7NPesBo" name="iPhone 18 Pro Max front" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/XEnBSEb3MMRqFRw7NPesBo-1920-80.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>The iPhone 17 Pro Max was already one of the longest lasting phones we’ve ever tested, ranking high on our <a href="https://www.tomsguide.com/us/smartphones-best-battery-life,review-2857.html">best phone battery life</a> list. But the iPhone 18 Pro Max could shatter endurance records.</p><p>Apple has rated this flagship for 45 hours of video playback and the iPhone 18 Pro for 36 hours. Compare that to 39 hours and 33 hours, respectively, for the iPhone 17 Pro Max and iPhone 17 Pro.</p><p>The charging on the iPhone 18 Pro series gets a boost as well. You can get up to 50% charge in just 15 minutes with a 60W charger. MagSafe charging can get you to 50% in 30 minutes via 35W.</p><h2 id="siri-ai-is-finally-smart-enough-mostly">Siri AI is finally smart enough (mostly)</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="PetgCsR77oez9YPGe9HZFo" name="iPhone 18 Pro Max Siri 1" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/PetgCsR77oez9YPGe9HZFo-1920-80.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>While Siri has been the butt of jokes for years, the new <a href="https://www.tomsguide.com/phones/iphones/i-spent-a-week-with-siri-ai-here-are-my-honest-pros-and-cons">Siri AI</a> that comes with iOS 27 is pretty impressive. For example, with Visual Intelligence in the camera app, I could simply point the iPhone 18 Pro at a poster with dates on it and the phone instantly recognized them and could add them to my calendar super fast.</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="ZufRK5rK4L6VvsJuhiSiHo" name="iPhone 18 Pro Max siri 2" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/ZufRK5rK4L6VvsJuhiSiHo-1920-80.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>The new Siri also understands personal context a lot better. You can ask to pull up information like your upcoming flight and it will instantly pop up on screen. You can then go full screen if you like to ask follow-up questions.</p><p>As much as I appreciate the new Siri, you can’t have a live conversation about what it’s seeing in real time as you can with <a href="https://www.tomsguide.com/ai/google-gemini/i-tested-gemini-live-for-24-hours-the-good-the-bad-and-the-weird">Gemini Live</a> or ChatGPT Voice mode. I feel like that’s a pretty big hole versus the leading AI assistants.</p><p>I can’t tell you how many times I’ve used Gemini Live in particular to troubleshoot things on the fly or ask questions about things in front of me. I’d like to see Apple beef up Siri in this regard to make it even more conversational.</p><h3 class="article-body__section" id="section-what-i-don-t-like"><span>What I don't like</span></h3><h2 id="higher-prices">Higher prices</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="Yjffyuo5ef8MQZ2Juy52Co" name="iPhone 18 Pro Max display" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/Yjffyuo5ef8MQZ2Juy52Co-1920-80.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>It’s simply a sign of the times at this point, but it’s not great that the iPhone 18 Pro and iPhone 18 Pro Max both get a $100 price hike. The iPhone 18 Pro now starts at $1,099 and the Pro Max will run you $1,199.</p><p>To be fair, the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review">Galaxy S26 Ultra</a> also starts at $1,299, but that doesn’t mean I have to like it.</p><h2 id="heavier-designs">Heavier designs</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="TUHKFKjf3sxjBNZKbzJu8o" name="iPhone 18 Pro colors" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/TUHKFKjf3sxjBNZKbzJu8o-1920-80.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>Maybe it’s the variable aperture camera, larger vapor chamber cooling area or bigger batteries — or all of the above. But the new iPhone 18 Pros are heavier than their predecessors.</p><p>The iPhone 18 Pro weighs 7.44 ounces (211 grams), compared to 7.27 ounces (206 grams for the iPhone 17 Pro. And the iPhone 18 Pro Max tips the scales at 8.78 ounces (249 grams) versus 8.22 ounces (233 grams) for the 17 Pro Max.</p><h2 id="iphone-18-pro-and-iphone-18-pro-max-outlook">iPhone 18 Pro and iPhone 18 Pro Max: Outlook</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="2KC3s6kTk4wSqcLXPsQ99o" name="iPhone 18 Pro Max burgundy 2" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/2KC3s6kTk4wSqcLXPsQ99o-1920-80.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>The <a href="https://www.tomsguide.com/phones/iphones/iphone-duo-hands-on-apple-nailed-it-and-just-put-everyone-else-on-notice">iPhone Duo</a> understandably is getting the most buzz, but not everyone wants or needs a foldable phone — and certainly not everyone can afford its $2,000 price. The iPhone 18 Pro and iPhone 18 Pro Max are for power users who don’t want to give up a traditional form factor or flagship features like a telephoto zoom.</p><p>In addition, the iPhone 18 Pros have longer rated battery life — especially the iPhone 18 Pro Max — and come with Face ID built in. You just have to be willing to live with a minor price hike versus the iPhone 17 Pros and heavier designs. </p><p>For my money I’d go for the iPhone 18 Pro Max for its better endurance and bigger display, but both of these phones are true pro-level devices.</p><p>Stay tuned for our full rated review.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/iphones/iphone-18-pro-max-hands-on-sneaky-awesome-upgrades-but-worth-the-price-hike</link>
                                                                            <description>
                            <![CDATA[ The iPhone 18 Pro and iPhone 18 Pro Max boast a variable aperture camera, powerful A20 Pro chip and extra-long battery life. Here's the pros and cons based on my first impressions. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">EQYfRGG9rWX2BXLyudwK84</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/PsAoKzRkrmCg46aQ53ywDo-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 10 Sep 2026 06:11:52 +0000</pubDate>                                                                                                                                <updated>Thu, 10 Sep 2026 21:44:30 +0000</updated>
                                                                                                                                            <category><![CDATA[iPhones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Mark Spoonauer ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/wtAspSzVfcKLB4JEd39AMo-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Mark Spoonauer is the global editor in chief of Tom&#039;s Guide and has covered technology for over 20 years. He oversees the direction of Tom&#039;s Guide and leads a team of over 25 journalists to bring you our expert buying guides, reviews, news, how-to articles, deals and other coverage.&lt;/p&gt;&lt;p&gt;Mark has a passion for covering all things mobile, having reviewed dozens of smartphones and other gadgets. He enjoys testing the top mobile devices and putting them up against each other in our in-depth face-offs. He also works hand in hand with our editors and testing team to continually improve how we evaluate products. &lt;/p&gt;&lt;p&gt;Having led Tom&#039;s Guide since 2013, Mark has focused on growing the core tech coverage of the site while also expanding into new areas, such as entertainment, fitness and home, recruiting talented writers and editors to help our readers figure out what to buy and how to get the most out of the products and services they use every day. &lt;/p&gt;&lt;p&gt;Mark has spoken at key industry events and appears regularly on TV to discuss the latest trends, including &lt;a href=&quot;https://cheddar.com/media/pixel-watch-gets-a-release-date-at-google-i-o-2022&quot;&gt;Cheddar&lt;/a&gt;, Fox 5, &lt;a href=&quot;https://www.foxbusiness.com/technology/apple-march-event-5g-iphone&quot;&gt;Fox Business&lt;/a&gt; and other outlets. Mark was previously editor in chief of Laptop Mag, and his work has appeared in Wired, Popular Science and Inc. Follow him on Twitter at @mspoonauer.&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/PsAoKzRkrmCg46aQ53ywDo-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[iPhone 18 Pro Max]]></media:description>                                                            <media:text><![CDATA[iPhone 18 Pro Max]]></media:text>
                                <media:title type="plain"><![CDATA[iPhone 18 Pro Max]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/PsAoKzRkrmCg46aQ53ywDo-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Yeah, there’s a smaller Dynamic Island and fancy new colors, but you’d be hard pressed to tell the difference between the <a href="https://www.tomsguide.com/phones/iphones/iphone-18-pro-and-iphone-18-pro-max-are-official-heres-what-you-need-to-know">iPhone 18 Pro and iPhone 18 Pro Max</a> and the iPhone 17 Pro series at a glance.</p><p>Dig a bit deeper, however, and you’ll discover that the iPhone 18 Pro and Pro Max have some pretty big camera upgrades that photographers of all skill levels will appreciate. The main camera offers variable aperture for the first time. And there’s new pro controls that let you adjust everything from the aperture to the shutter speed.</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/BZi0R_thP9M" allowfullscreen></iframe></div></div><p>Other sneaky awesome upgrades include a much faster A20 Pro chip, improved vapor chamber cooling for better sustained performance and much longer rated battery life. However, you’re going to pay $100 more for both models. And there’s some other drawbacks. Are these the <a href="https://www.tomsguide.com/best-picks/best-phones">best phones</a> you can buy now? Here’s my first impressions.</p><h3 class="article-body__section" id="section-what-i-like"><span>What I like</span></h3><h2 id="variable-aperture-camera">Variable aperture camera</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="HYuuDMJ2Ch2YMUKD2MbYWc" name="iPhone 18 Pro cameras" alt="iPhone 18 Pro cameras" src="https://cdn.mos.cms.futurecdn.net/HYuuDMJ2Ch2YMUKD2MbYWc-1920-80.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>The main 48MP fusion camera on the iPhone 18 Pro and Pro Max have six laser-cut blades that can transition between different apertures on the fly. This allows the camera to automatically open and close the shutter based on the conditions to give you optimal control of depth of field and lighting.</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="9GCbUtdmqto6e9mrgX2BJo" name="iPhone 18 Pro Max variable aperture" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/9GCbUtdmqto6e9mrgX2BJo-1920-80.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>Even better, you can manually change the aperture from four different ranges, allowing you to choose the optimal setting for the photo at hand. For example, you can choose f/1.48 for portraits and have more of the background out of focus or go up to f/4.0 if you want all of the scene to look sharp.</p><p>I tried this out in a simulated bar setting and I captured a glass with two different aperture settings and noticed a stark difference in the images. We'll be doing a lot more testing to see if these flagships make our <a href="https://www.tomsguide.com/us/best-phone-cameras,review-2272.html">best camera phone</a> list.</p><h2 id="seriously-powerful-a20-pro-chip-with-better-cooling">Seriously powerful A20 Pro chip — with better cooling</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="cTmx5d63stEFmgKNszEyDo" name="iPhone 18 Pro Max gameplay" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/cTmx5d63stEFmgKNszEyDo-1920-80.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>The A20 Pro is Apple’s first 2nm chip in a phone, and it promises a serious performance boost. The 6-core CPU has two super cores that are up to 20% faster than the A19 Pro, plus a new 7-core GPU that promises up to 40% faster graphics performance than the <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-review">iPhone 17 Pro Max</a>.</p><p>I tried out the new chip in the Monster Hunter game coming later this year, and the gameplay was super smooth. We’re talking up to 120 frames per second. </p><p>Just as important, the new larger vapor chamber cooling system is designed to deliver up to 40% better sustained performance than the iPhone 17 Pro. Apple also designed the A20 Pro chip so that the memory sits to the side instead of having a stacked configuration, which also helps dissipate heat.  </p><h2 id="even-longer-battery-life">Even longer battery 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:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XEnBSEb3MMRqFRw7NPesBo" name="iPhone 18 Pro Max front" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/XEnBSEb3MMRqFRw7NPesBo-1920-80.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>The iPhone 17 Pro Max was already one of the longest lasting phones we’ve ever tested, ranking high on our <a href="https://www.tomsguide.com/us/smartphones-best-battery-life,review-2857.html">best phone battery life</a> list. But the iPhone 18 Pro Max could shatter endurance records.</p><p>Apple has rated this flagship for 45 hours of video playback and the iPhone 18 Pro for 36 hours. Compare that to 39 hours and 33 hours, respectively, for the iPhone 17 Pro Max and iPhone 17 Pro.</p><p>The charging on the iPhone 18 Pro series gets a boost as well. You can get up to 50% charge in just 15 minutes with a 60W charger. MagSafe charging can get you to 50% in 30 minutes via 35W.</p><h2 id="siri-ai-is-finally-smart-enough-mostly">Siri AI is finally smart enough (mostly)</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="PetgCsR77oez9YPGe9HZFo" name="iPhone 18 Pro Max Siri 1" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/PetgCsR77oez9YPGe9HZFo-1920-80.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>While Siri has been the butt of jokes for years, the new <a href="https://www.tomsguide.com/phones/iphones/i-spent-a-week-with-siri-ai-here-are-my-honest-pros-and-cons">Siri AI</a> that comes with iOS 27 is pretty impressive. For example, with Visual Intelligence in the camera app, I could simply point the iPhone 18 Pro at a poster with dates on it and the phone instantly recognized them and could add them to my calendar super fast.</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="ZufRK5rK4L6VvsJuhiSiHo" name="iPhone 18 Pro Max siri 2" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/ZufRK5rK4L6VvsJuhiSiHo-1920-80.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>The new Siri also understands personal context a lot better. You can ask to pull up information like your upcoming flight and it will instantly pop up on screen. You can then go full screen if you like to ask follow-up questions.</p><p>As much as I appreciate the new Siri, you can’t have a live conversation about what it’s seeing in real time as you can with <a href="https://www.tomsguide.com/ai/google-gemini/i-tested-gemini-live-for-24-hours-the-good-the-bad-and-the-weird">Gemini Live</a> or ChatGPT Voice mode. I feel like that’s a pretty big hole versus the leading AI assistants.</p><p>I can’t tell you how many times I’ve used Gemini Live in particular to troubleshoot things on the fly or ask questions about things in front of me. I’d like to see Apple beef up Siri in this regard to make it even more conversational.</p><h3 class="article-body__section" id="section-what-i-don-t-like"><span>What I don't like</span></h3><h2 id="higher-prices">Higher prices</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="Yjffyuo5ef8MQZ2Juy52Co" name="iPhone 18 Pro Max display" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/Yjffyuo5ef8MQZ2Juy52Co-1920-80.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>It’s simply a sign of the times at this point, but it’s not great that the iPhone 18 Pro and iPhone 18 Pro Max both get a $100 price hike. The iPhone 18 Pro now starts at $1,099 and the Pro Max will run you $1,199.</p><p>To be fair, the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review">Galaxy S26 Ultra</a> also starts at $1,299, but that doesn’t mean I have to like it.</p><h2 id="heavier-designs">Heavier designs</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="TUHKFKjf3sxjBNZKbzJu8o" name="iPhone 18 Pro colors" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/TUHKFKjf3sxjBNZKbzJu8o-1920-80.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>Maybe it’s the variable aperture camera, larger vapor chamber cooling area or bigger batteries — or all of the above. But the new iPhone 18 Pros are heavier than their predecessors.</p><p>The iPhone 18 Pro weighs 7.44 ounces (211 grams), compared to 7.27 ounces (206 grams for the iPhone 17 Pro. And the iPhone 18 Pro Max tips the scales at 8.78 ounces (249 grams) versus 8.22 ounces (233 grams) for the 17 Pro Max.</p><h2 id="iphone-18-pro-and-iphone-18-pro-max-outlook">iPhone 18 Pro and iPhone 18 Pro Max: Outlook</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="2KC3s6kTk4wSqcLXPsQ99o" name="iPhone 18 Pro Max burgundy 2" alt="iPhone 18 Pro Max" src="https://cdn.mos.cms.futurecdn.net/2KC3s6kTk4wSqcLXPsQ99o-1920-80.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>The <a href="https://www.tomsguide.com/phones/iphones/iphone-duo-hands-on-apple-nailed-it-and-just-put-everyone-else-on-notice">iPhone Duo</a> understandably is getting the most buzz, but not everyone wants or needs a foldable phone — and certainly not everyone can afford its $2,000 price. The iPhone 18 Pro and iPhone 18 Pro Max are for power users who don’t want to give up a traditional form factor or flagship features like a telephoto zoom.</p><p>In addition, the iPhone 18 Pros have longer rated battery life — especially the iPhone 18 Pro Max — and come with Face ID built in. You just have to be willing to live with a minor price hike versus the iPhone 17 Pros and heavier designs. </p><p>For my money I’d go for the iPhone 18 Pro Max for its better endurance and bigger display, but both of these phones are true pro-level devices.</p><p>Stay tuned for our full rated review.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ iPhone Duo hands-on: Apple nailed it — and just put everyone else on notice ]]></title>
                                                                                                <dc:content><![CDATA[ <p>At the risk of sounding cliche, there's something magical about using the <a href="https://www.tomsguide.com/phones/iphones/iphone-duo-is-official-price-release-date-specs-and-everything-you-need-to-know">iPhone Duo</a>. The way it seamlessly transitions from phone to tablet and back again.  The fact that you can't even feel the crease — though it is visible. And the way the software reacts based on the angle of the device.</p><p>Apple has taken several years to release its first <a href="https://www.tomsguide.com/best-picks/best-foldable-phones">foldable phone</a>, but based on my hands-on impressions its patience has paid off. The iPhone Duo isn't as thin or light as the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-review-wide-for-the-win">Galaxy Z Fold 8</a>, and it costs $100 more, but the software seems really refined and the overall experience very polished so far. Here's my early pros and cons.</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/2qNfOa5AuVU" allowfullscreen></iframe></div></div><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W2EK0e"></div>                            </div>                            <script src="https://kwizly.com/embed/W2EK0e.js" async></script><h2 id="iphone-duo-release-date-and-price">iPhone Duo release date and price</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="JrD6iXGJ4HLagJrgBA8YGa" name="iphone duo edit 7" alt="iPhone Duo" src="https://cdn.mos.cms.futurecdn.net/JrD6iXGJ4HLagJrgBA8YGa-1920-80.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>The iPhone Duo pre-orders start Friday, October 16 and the release date is October 23. </p><p>The starting price of the iPhone Duo is fairly steep at $1,999 / AU$3,499, which gives you 256GB. You can get 512GB for $2,199 / AU$3,899, 1TB for $2,599 / AU$4,699 and 2TB for $3,199 / AU$5,899.</p><div ><table><caption>iPhone Duo Specs</caption><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>iPhone Duo</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>$1,999 / AU$3,499</p></td></tr><tr><td class="firstcol " ><p><strong>Main Display</strong></p></td><td  ><p>7.6-inch Super Retina XDR (1,878 x 2,670)</p></td></tr><tr><td class="firstcol " ><p><strong>Outer Display</strong></p></td><td  ><p>5.4-inch Super Retina XDR (1,398 x 2,034)</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>A20 Pro</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB, 512GB, 1TB, 2TB</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>12GB</p></td></tr><tr><td class="firstcol " ><p><strong>Front Cameras</strong></p></td><td  ><p>24MP, 24MP</p></td></tr><tr><td class="firstcol " ><p><strong>Rear Cameras</strong></p></td><td  ><p>48MP main (f/1.6), 48MP ultrawide (f/2.2)</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>4,883 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Charging</strong></p></td><td  ><p>60W wired, 25W MagSafe wireless</p></td></tr><tr><td class="firstcol " ><p><strong>Size</strong></p></td><td  ><p>6.48 x 4.64 x 0.21 inches open (164.6 x 117.8 x 5.2mm), 3.31 x 4.64 x 0.44 inches closed (84.1 x 117.8 x 11.3mm)</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>8.96 ounces (254 grams)</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Night Sky, Star White</p></td></tr></tbody></table></div><h2 id="iphone-duo-design-and-displays">iPhone Duo design and displays</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="Mdj8kozN6J8WNXPhazFQFa" name="iPhone Duo edit 1" alt="iPhone Duo" src="https://cdn.mos.cms.futurecdn.net/Mdj8kozN6J8WNXPhazFQFa-1920-80.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>The iPhone Duo features a 5.4-inch cover display and 7.6-inch main screen. The former is wide but not so wide that it feels awkward to use with one hand. And Apple has done a smart thing by placing the Control Center shortcuts on the right side of the screen. </p><p>The 7.6-inch innner display is breathtaking. You can barely see the crease, and the way that Apple designed the iPhone Duo you can't even feel it. Plus, the Duo will support Apple Pencil input.</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="K4dYCSX4YtJxxvZCenRip9" name="iphone duo display" alt="iPhone Duo hands on display" src="https://cdn.mos.cms.futurecdn.net/K4dYCSX4YtJxxvZCenRip9-1920-80.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>When watching movies in Netflix, I didn't see any black bars, but we'll have to see how YouTube and other apps look on this device.</p><p>Another nice touch? The inner FaceTime camera is invisible when not in use, only appearing when you need 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:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Ck8JELAibFWVaimim8EYYK" name="iphone duo keyboard" alt="iPhone Duo hands on" src="https://cdn.mos.cms.futurecdn.net/Ck8JELAibFWVaimim8EYYK-1920-80.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>The iPhone Duo is definitely not the lightest or thinnest foldable. It measures 5.2mm thick when open, compared to 4.5mm for the Fold 8. And the Duo is heavier, too, at 254 grams (8.9 ounces)<strong> </strong>versus 201 grams (7.1 ounces).</p><h2 id="iphone-duo-durability">iPhone Duo durability</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="SoAi2j7o9Dqs6v288A4cEa" name="iPhone Duo edit 3" alt="iPhone Duo" src="https://cdn.mos.cms.futurecdn.net/SoAi2j7o9Dqs6v288A4cEa-1920-80.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>The iPhone Duo outdoes the Galaxy Z Fold 8 and Fold 8 Ultra in that it's IP68 rated. That means it's protected against both water and dust. Samsung's foldables are only protected from water, and you can't really bring them to the beach, for example.</p><p>In addition, the iPhone Duo is built using grade 5 titanium, so it should be pretty sturdy in everyday use. And Apple uses Ceramic Shield to protect the back of the Duo and Ceramic Shield 2 on the front. </p><p>The inner display on the iPhone Duo has a nano-texture cover layer and a scratch resistant coating that Apple says is up to 40 percent stiffer than the competition. </p><h2 id="iphone-duo-cameras">iPhone Duo cameras</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="q4DNX2SeEFU5sCTTt45wEa" name="iphone duo edit 5" alt="iPhone Duo" src="https://cdn.mos.cms.futurecdn.net/q4DNX2SeEFU5sCTTt45wEa-1920-80.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>The iPhone Duo has just two rear cameras: a wide and ultrawide. So you don't get a telephoto lens like you do on the iPhone 18 Pro series.</p><p>You get a 48MP Fusion Main camera with "optical quality" 2x telephoto shots, but it's not the same as a dedicated telephoto lens. There's also a 48MP ultra wide camera for wide field of view shots.</p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@tomsguide/video/7683603714266959118" data-video-id="7683603714266959118" 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-7683603825873275661">♬ original sound - Tom’s Guide</a></section>                    </blockquote></div>                <p>Apple is really playing up the new ways to take photos and video with the foldable nature of the Duo. For example, with Smart Take you can prop up the Duo and it will snap pictures when it thinks everyone is in focus. So there's no need for a timer.</p><p>You can also take a selfie with the rear camera, use Duo Preview to show live previews on the outer display when taking images and (like the Pixel 11 Pro Fold) show little ones animations to get them to smile with Kid Cue.</p><p>You can also hold Duo FaceTime calls where someone else can join the call using the outer display.</p><h2 id="iphone-duo-software-and-apps">iPhone Duo software and apps</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="UDr8c5DLF9rP5aXyr9NwQ5" name="iphone duo software" alt="iphone duo two apps" src="https://cdn.mos.cms.futurecdn.net/UDr8c5DLF9rP5aXyr9NwQ5-1920-80.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>A big selling point of the iPhone Duo is the software experience. And you can tell that Apple has put a lot of thought into how this device works. </p><p>In fact, Apple has redesigned all of its apps so that the controls now live on the right side instead of the bottom, which was a wise move. </p><p>As you'd expect, content reacts based on how the iPhone Duo is positioned and folded. For example, with the phone half-open you'll see the Netflix controls along the bottom and the video up top. The Galaxy Z Fold 8 doesn't have a Flex View mode, but the Fold 8 Ultra does.</p><p>Other third-party apps that have been optimized for the iPhone Duo include Zoom and Slack. </p><p>Multitasking is pretty easy. If you have one app open and want to open another, you move it up slightly and to the right or left side of the display. Then you simply open another app.</p><h2 id="iphone-duo-performance">iPhone Duo performance</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="CN7RzmKPJyev7oUAf2fdFa" name="iPhone duo gaming" alt="iPhone Duo" src="https://cdn.mos.cms.futurecdn.net/CN7RzmKPJyev7oUAf2fdFa-1920-80.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>The iPhone Duo features an A20 Pro processor, which comes in handy for multitasking but also gaming. In fact, the new 7-core GPU promises up to 40% faster graphics performance.</p><p>I had a chance to try this out in an adventure game and the graphics looked downright cinematic. </p><p>Apple also promises up to 35 percent better sustained performance versus the iPhone 17 Pro Max, thanks in part to the custom vapor chamber.</p><h2 id="iphone-duo-battery-life-and-charging">iPhone Duo battery life and charging</h2><p>The dual battery system in the iPhone Duo promises pretty long endurance. Apple rates the device for up to 44 hours of video playback with the outer display and 31 hours with the main display. </p><p>The Duo should charge up quickly as well, as it's rated to get up to 50% in just 20 minutes with a 60W charger. Qi2 charging isn't far behind at 50% in 30 minutes.</p><h2 id="iphone-duo-vs-galaxy-z-fold-8">iPhone Duo vs Galaxy Z Fold 8</h2><p>The nearest competitor to the iPhone Duo is the Samsung Galaxy Z Fold 8, and Apple's foldable has some key advantages.</p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@tomsguide/video/7683645046977072415" data-video-id="7683645046977072415" 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="♬ Loft Window - Slight Overcast" href="https://www.tiktok.com/music/Loft-Window-7674360528990554122">♬ Loft Window - Slight Overcast</a></section>                    </blockquote></div>                <p>The iPhone Duo offers IP68 durability (compared to IP48 for Samsung), and the hinge design allows for software to morph based on the angle. The regular Fold 8 lacks Samsung's similar Flex Mode, as that's exclusive to the Fold 8 Ultra.</p><p>In addition, the iPhone Duo will offer Apple Pencil support while the Galaxy Fold 8 doesn't support the S Pen. And only the Duo has MagSafe built in. With Samsung you need a case. Apple is also making a big push to have apps optimized for foldables, including Slack and Zoom, but it's not clear what will be available by October 23.</p><p>However, the Galaxy Z Fold 8 beats the iPhone Duo in several ways. It's thinner and lighter than Apple's foldable, and you can run 3 apps at once (compared to 2 for Apple). The Fold also offers Face unlock and it comes with more RAM (16GB vs 12GB). Plus, only the Fold 8 offers a desktop mode that turns the phone into a mini PC when plugged into a monitor. And the Fold 8 is $100 less.</p><h2 id="iphone-duo-outlook">iPhone Duo outlook</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="RVQtVtADxHFrALUGQ9mGSR" name="iphone duo outlook" alt="iphone duo" src="https://cdn.mos.cms.futurecdn.net/RVQtVtADxHFrALUGQ9mGSR-1920-80.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>The iPhone Duo is not cheap. And it's a bit heaver and thicker than I was hoping for. But it looks like this could be the foldable phone to beat in terms of Apple's combination of polished design, the robust software experience and enhanced durability. We'll have to see if it's worth the $2,000 price in my full iPhone Duo review.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/iphones/iphone-duo-hands-on-apple-nailed-it-and-just-put-everyone-else-on-notice</link>
                                                                            <description>
                            <![CDATA[ The iPhone Duo is a foldable that gives you a phone and tablet in an elegantly designed device with fully optimized software. The price is high, but I think people would be willing to pay for it. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">jKVVFnEjiBpmWxgir7QW4V</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/i4QF9zqZdmy4sZPuE8hXFa-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 09 Sep 2026 21:08:45 +0000</pubDate>                                                                                                                                <updated>Thu, 10 Sep 2026 21:44:30 +0000</updated>
                                                                                                                                            <category><![CDATA[iPhones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Mark Spoonauer ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/wtAspSzVfcKLB4JEd39AMo-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Mark Spoonauer is the global editor in chief of Tom&#039;s Guide and has covered technology for over 20 years. He oversees the direction of Tom&#039;s Guide and leads a team of over 25 journalists to bring you our expert buying guides, reviews, news, how-to articles, deals and other coverage.&lt;/p&gt;&lt;p&gt;Mark has a passion for covering all things mobile, having reviewed dozens of smartphones and other gadgets. He enjoys testing the top mobile devices and putting them up against each other in our in-depth face-offs. He also works hand in hand with our editors and testing team to continually improve how we evaluate products. &lt;/p&gt;&lt;p&gt;Having led Tom&#039;s Guide since 2013, Mark has focused on growing the core tech coverage of the site while also expanding into new areas, such as entertainment, fitness and home, recruiting talented writers and editors to help our readers figure out what to buy and how to get the most out of the products and services they use every day. &lt;/p&gt;&lt;p&gt;Mark has spoken at key industry events and appears regularly on TV to discuss the latest trends, including &lt;a href=&quot;https://cheddar.com/media/pixel-watch-gets-a-release-date-at-google-i-o-2022&quot;&gt;Cheddar&lt;/a&gt;, Fox 5, &lt;a href=&quot;https://www.foxbusiness.com/technology/apple-march-event-5g-iphone&quot;&gt;Fox Business&lt;/a&gt; and other outlets. Mark was previously editor in chief of Laptop Mag, and his work has appeared in Wired, Popular Science and Inc. Follow him on Twitter at @mspoonauer.&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/i4QF9zqZdmy4sZPuE8hXFa-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[iPhone Duo]]></media:description>                                                            <media:text><![CDATA[iPhone Duo]]></media:text>
                                <media:title type="plain"><![CDATA[iPhone Duo]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/i4QF9zqZdmy4sZPuE8hXFa-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>At the risk of sounding cliche, there's something magical about using the <a href="https://www.tomsguide.com/phones/iphones/iphone-duo-is-official-price-release-date-specs-and-everything-you-need-to-know">iPhone Duo</a>. The way it seamlessly transitions from phone to tablet and back again.  The fact that you can't even feel the crease — though it is visible. And the way the software reacts based on the angle of the device.</p><p>Apple has taken several years to release its first <a href="https://www.tomsguide.com/best-picks/best-foldable-phones">foldable phone</a>, but based on my hands-on impressions its patience has paid off. The iPhone Duo isn't as thin or light as the <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-review-wide-for-the-win">Galaxy Z Fold 8</a>, and it costs $100 more, but the software seems really refined and the overall experience very polished so far. Here's my early pros and cons.</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/2qNfOa5AuVU" allowfullscreen></iframe></div></div><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W2EK0e"></div>                            </div>                            <script src="https://kwizly.com/embed/W2EK0e.js" async></script><h2 id="iphone-duo-release-date-and-price">iPhone Duo release date and price</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="JrD6iXGJ4HLagJrgBA8YGa" name="iphone duo edit 7" alt="iPhone Duo" src="https://cdn.mos.cms.futurecdn.net/JrD6iXGJ4HLagJrgBA8YGa-1920-80.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>The iPhone Duo pre-orders start Friday, October 16 and the release date is October 23. </p><p>The starting price of the iPhone Duo is fairly steep at $1,999 / AU$3,499, which gives you 256GB. You can get 512GB for $2,199 / AU$3,899, 1TB for $2,599 / AU$4,699 and 2TB for $3,199 / AU$5,899.</p><div ><table><caption>iPhone Duo Specs</caption><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>iPhone Duo</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>$1,999 / AU$3,499</p></td></tr><tr><td class="firstcol " ><p><strong>Main Display</strong></p></td><td  ><p>7.6-inch Super Retina XDR (1,878 x 2,670)</p></td></tr><tr><td class="firstcol " ><p><strong>Outer Display</strong></p></td><td  ><p>5.4-inch Super Retina XDR (1,398 x 2,034)</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>A20 Pro</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>256GB, 512GB, 1TB, 2TB</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>12GB</p></td></tr><tr><td class="firstcol " ><p><strong>Front Cameras</strong></p></td><td  ><p>24MP, 24MP</p></td></tr><tr><td class="firstcol " ><p><strong>Rear Cameras</strong></p></td><td  ><p>48MP main (f/1.6), 48MP ultrawide (f/2.2)</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>4,883 mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Charging</strong></p></td><td  ><p>60W wired, 25W MagSafe wireless</p></td></tr><tr><td class="firstcol " ><p><strong>Size</strong></p></td><td  ><p>6.48 x 4.64 x 0.21 inches open (164.6 x 117.8 x 5.2mm), 3.31 x 4.64 x 0.44 inches closed (84.1 x 117.8 x 11.3mm)</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>8.96 ounces (254 grams)</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Night Sky, Star White</p></td></tr></tbody></table></div><h2 id="iphone-duo-design-and-displays">iPhone Duo design and displays</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="Mdj8kozN6J8WNXPhazFQFa" name="iPhone Duo edit 1" alt="iPhone Duo" src="https://cdn.mos.cms.futurecdn.net/Mdj8kozN6J8WNXPhazFQFa-1920-80.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>The iPhone Duo features a 5.4-inch cover display and 7.6-inch main screen. The former is wide but not so wide that it feels awkward to use with one hand. And Apple has done a smart thing by placing the Control Center shortcuts on the right side of the screen. </p><p>The 7.6-inch innner display is breathtaking. You can barely see the crease, and the way that Apple designed the iPhone Duo you can't even feel it. Plus, the Duo will support Apple Pencil input.</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="K4dYCSX4YtJxxvZCenRip9" name="iphone duo display" alt="iPhone Duo hands on display" src="https://cdn.mos.cms.futurecdn.net/K4dYCSX4YtJxxvZCenRip9-1920-80.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>When watching movies in Netflix, I didn't see any black bars, but we'll have to see how YouTube and other apps look on this device.</p><p>Another nice touch? The inner FaceTime camera is invisible when not in use, only appearing when you need 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:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Ck8JELAibFWVaimim8EYYK" name="iphone duo keyboard" alt="iPhone Duo hands on" src="https://cdn.mos.cms.futurecdn.net/Ck8JELAibFWVaimim8EYYK-1920-80.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>The iPhone Duo is definitely not the lightest or thinnest foldable. It measures 5.2mm thick when open, compared to 4.5mm for the Fold 8. And the Duo is heavier, too, at 254 grams (8.9 ounces)<strong> </strong>versus 201 grams (7.1 ounces).</p><h2 id="iphone-duo-durability">iPhone Duo durability</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="SoAi2j7o9Dqs6v288A4cEa" name="iPhone Duo edit 3" alt="iPhone Duo" src="https://cdn.mos.cms.futurecdn.net/SoAi2j7o9Dqs6v288A4cEa-1920-80.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>The iPhone Duo outdoes the Galaxy Z Fold 8 and Fold 8 Ultra in that it's IP68 rated. That means it's protected against both water and dust. Samsung's foldables are only protected from water, and you can't really bring them to the beach, for example.</p><p>In addition, the iPhone Duo is built using grade 5 titanium, so it should be pretty sturdy in everyday use. And Apple uses Ceramic Shield to protect the back of the Duo and Ceramic Shield 2 on the front. </p><p>The inner display on the iPhone Duo has a nano-texture cover layer and a scratch resistant coating that Apple says is up to 40 percent stiffer than the competition. </p><h2 id="iphone-duo-cameras">iPhone Duo cameras</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="q4DNX2SeEFU5sCTTt45wEa" name="iphone duo edit 5" alt="iPhone Duo" src="https://cdn.mos.cms.futurecdn.net/q4DNX2SeEFU5sCTTt45wEa-1920-80.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>The iPhone Duo has just two rear cameras: a wide and ultrawide. So you don't get a telephoto lens like you do on the iPhone 18 Pro series.</p><p>You get a 48MP Fusion Main camera with "optical quality" 2x telephoto shots, but it's not the same as a dedicated telephoto lens. There's also a 48MP ultra wide camera for wide field of view shots.</p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@tomsguide/video/7683603714266959118" data-video-id="7683603714266959118" 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-7683603825873275661">♬ original sound - Tom’s Guide</a></section>                    </blockquote></div>                <p>Apple is really playing up the new ways to take photos and video with the foldable nature of the Duo. For example, with Smart Take you can prop up the Duo and it will snap pictures when it thinks everyone is in focus. So there's no need for a timer.</p><p>You can also take a selfie with the rear camera, use Duo Preview to show live previews on the outer display when taking images and (like the Pixel 11 Pro Fold) show little ones animations to get them to smile with Kid Cue.</p><p>You can also hold Duo FaceTime calls where someone else can join the call using the outer display.</p><h2 id="iphone-duo-software-and-apps">iPhone Duo software and apps</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="UDr8c5DLF9rP5aXyr9NwQ5" name="iphone duo software" alt="iphone duo two apps" src="https://cdn.mos.cms.futurecdn.net/UDr8c5DLF9rP5aXyr9NwQ5-1920-80.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>A big selling point of the iPhone Duo is the software experience. And you can tell that Apple has put a lot of thought into how this device works. </p><p>In fact, Apple has redesigned all of its apps so that the controls now live on the right side instead of the bottom, which was a wise move. </p><p>As you'd expect, content reacts based on how the iPhone Duo is positioned and folded. For example, with the phone half-open you'll see the Netflix controls along the bottom and the video up top. The Galaxy Z Fold 8 doesn't have a Flex View mode, but the Fold 8 Ultra does.</p><p>Other third-party apps that have been optimized for the iPhone Duo include Zoom and Slack. </p><p>Multitasking is pretty easy. If you have one app open and want to open another, you move it up slightly and to the right or left side of the display. Then you simply open another app.</p><h2 id="iphone-duo-performance">iPhone Duo performance</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="CN7RzmKPJyev7oUAf2fdFa" name="iPhone duo gaming" alt="iPhone Duo" src="https://cdn.mos.cms.futurecdn.net/CN7RzmKPJyev7oUAf2fdFa-1920-80.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>The iPhone Duo features an A20 Pro processor, which comes in handy for multitasking but also gaming. In fact, the new 7-core GPU promises up to 40% faster graphics performance.</p><p>I had a chance to try this out in an adventure game and the graphics looked downright cinematic. </p><p>Apple also promises up to 35 percent better sustained performance versus the iPhone 17 Pro Max, thanks in part to the custom vapor chamber.</p><h2 id="iphone-duo-battery-life-and-charging">iPhone Duo battery life and charging</h2><p>The dual battery system in the iPhone Duo promises pretty long endurance. Apple rates the device for up to 44 hours of video playback with the outer display and 31 hours with the main display. </p><p>The Duo should charge up quickly as well, as it's rated to get up to 50% in just 20 minutes with a 60W charger. Qi2 charging isn't far behind at 50% in 30 minutes.</p><h2 id="iphone-duo-vs-galaxy-z-fold-8">iPhone Duo vs Galaxy Z Fold 8</h2><p>The nearest competitor to the iPhone Duo is the Samsung Galaxy Z Fold 8, and Apple's foldable has some key advantages.</p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@tomsguide/video/7683645046977072415" data-video-id="7683645046977072415" 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="♬ Loft Window - Slight Overcast" href="https://www.tiktok.com/music/Loft-Window-7674360528990554122">♬ Loft Window - Slight Overcast</a></section>                    </blockquote></div>                <p>The iPhone Duo offers IP68 durability (compared to IP48 for Samsung), and the hinge design allows for software to morph based on the angle. The regular Fold 8 lacks Samsung's similar Flex Mode, as that's exclusive to the Fold 8 Ultra.</p><p>In addition, the iPhone Duo will offer Apple Pencil support while the Galaxy Fold 8 doesn't support the S Pen. And only the Duo has MagSafe built in. With Samsung you need a case. Apple is also making a big push to have apps optimized for foldables, including Slack and Zoom, but it's not clear what will be available by October 23.</p><p>However, the Galaxy Z Fold 8 beats the iPhone Duo in several ways. It's thinner and lighter than Apple's foldable, and you can run 3 apps at once (compared to 2 for Apple). The Fold also offers Face unlock and it comes with more RAM (16GB vs 12GB). Plus, only the Fold 8 offers a desktop mode that turns the phone into a mini PC when plugged into a monitor. And the Fold 8 is $100 less.</p><h2 id="iphone-duo-outlook">iPhone Duo outlook</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="RVQtVtADxHFrALUGQ9mGSR" name="iphone duo outlook" alt="iphone duo" src="https://cdn.mos.cms.futurecdn.net/RVQtVtADxHFrALUGQ9mGSR-1920-80.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>The iPhone Duo is not cheap. And it's a bit heaver and thicker than I was hoping for. But it looks like this could be the foldable phone to beat in terms of Apple's combination of polished design, the robust software experience and enhanced durability. We'll have to see if it's worth the $2,000 price in my full iPhone Duo review.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I just went hands-on with the viral iKarios AI pendant — and I'm still not completely sure what it's for ]]></title>
                                                                                                <dc:content><![CDATA[ <p>One of the strangest pieces of wearable tech I demoed at the <a href="https://www.tomsguide.com/tech-events/best-of-ifa-2026-we-found-the-26-top-new-gadgets">IFA 2026</a> show is the iKairos. Pitched as a “second memory” that captures the most important moments of your life, this AI-powered device doubles as a wearable pendant and a stationary desktop companion. </p><p>All that said, I still don’t fully understand the purpose of the iKairos, and frankly, the folks showing it at IFA didn't seem to really know either. To be fair, the iKairos is still very much a concept. Here's what I do know.</p><h2 id="a-happy-little-wearable">A happy, little wearable</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="9pEtcgkoUPkEr6qE8y5sFH" name="iKairos-04" alt="The iKairos wearable AI pendant at IFA 2026 in Berlin" src="https://cdn.mos.cms.futurecdn.net/9pEtcgkoUPkEr6qE8y5sFH-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>I was admittedly drawn to the iKairos because of the cute, animated face that beams from a circular display on the front. But what purpose does this sort-of interactive digital face serve? </p><p>Personal note-taking is one of the main advertised features of the iKairos; users can whisper all their deepest, darkest secrets to the happy little guy for safekeeping and transcription.</p><p>I suppose, to make these interactions a little less impersonal-feeling, the folks at iKairos gave the wearable a goofy cartoon face capable of blinking and making a handful of vague expressions.</p><h2 id="a-built-in-camera-captures-your-life-sort-of">A built-in camera captures your life… sort of</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="bEwrvTWhgbx6CoGJpMn56H" name="iKairos-01" alt="The iKairos wearable AI pendant at IFA 2026 in Berlin" src="https://cdn.mos.cms.futurecdn.net/bEwrvTWhgbx6CoGJpMn56H-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>The iKairos also sports an onboard camera that can be deployed by sliding the bottom of the device downward. Don’t like the idea of a camera logging and interpreting your every moment? Slide that sucker back up. </p><p>The weird thing about the onboard camera is that the “meaningful memories” it captures aren’t traditional stills or video but weird, AI-generated interpretations of your daily routines and adventures. This, I am not a fan of. </p><h2 id="a-desktop-companion-too">A desktop companion, 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hfYZKs5ektUcTFWKzRDmCH" name="iKairos-02" alt="The iKairos wearable AI pendant at IFA 2026 in Berlin" src="https://cdn.mos.cms.futurecdn.net/hfYZKs5ektUcTFWKzRDmCH-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>When you’re not wearing the iKairos around your neck, it’s meant to live on a small docking station that sits on your desk or bedside. </p><p>Regardless of its position, users can converse with the device and use it for more than just note-taking. Other functions include the ability to set reminders, add events to a calendar, and review summaries of past events. </p><h2 id="the-design-isn-39-t-final">The design isn't final</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:2286px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="sxhCCMMMmNVuxSmWzXVonA" name="iKairos-05" alt="The iKairos wearable AI pendant at IFA 2026 in Berlin" src="https://cdn.mos.cms.futurecdn.net/sxhCCMMMmNVuxSmWzXVonA-1920-80.jpg" mos="" align="middle" fullscreen="" width="2286" height="1286" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>It’s worth noting that the iKairos is still a long way off from being an actual product you can purchase online. That said, the company behind it recently secured a hefty amount of investor funding, so hopefully, we’ll eventually see some form of the iKairos come to fruition; it just may look a whole lot different than the product I just demoed.</p><p>What are your thoughts on the iKairos? Is this a product you’d seriously consider buying? What existing features do you like or dislike, and what do you feel is missing? Let me know below. </p><h2 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h2><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/i-just-went-hands-on-with-the-odyss-n1-a-sleek-ai-necklace-that-automatically-logs-everything-you-eat">I just went hands-on with the Odyss N1 — a sleek AI necklace that automatically tracks everything you eat</a></li><li><a href="https://www.tomsguide.com/wellness/smart-rings/i-just-went-hands-on-with-the-new-circular-ring-3-and-it-beats-the-oura-ring-5-in-3-big-ways">I just went hands-on with the new Circular Ring 3 — and it beats the Oura Ring 5 in 3 big ways</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/i-just-went-hands-on-with-motorolas-first-lte-smartwatch-and-google-and-samsung-should-be-worried">I just went hands-on with Motorola's first LTE smartwatch — and Google and Samsung should be worried</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/fitness-trackers/i-just-went-hands-on-with-the-viral-ikarios-ai-pendant-and-im-still-not-completely-sure-what-its-for</link>
                                                                            <description>
                            <![CDATA[ The iKairos is meant to be an always-with-you "second memory" device. What does that mean? I'll try my best to explain. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">R9kt6VUmzGWW88R9dr4zE4</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/f8Xewm5XDRRZ5YXM7gSL8H-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 08 Sep 2026 20:44:55 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Fitness Trackers]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                    <category><![CDATA[Smartwatches]]></category>
                                                                                                <author><![CDATA[ dan.bracaglia@futurenet.com (Dan Bracaglia) ]]></author>                    <dc:creator><![CDATA[ Dan Bracaglia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3Ev8EFrheNxPemMWSBaKcK-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&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/f8Xewm5XDRRZ5YXM7gSL8H-1280-80.jpg">
                                                            <media:credit><![CDATA[Dan Bracaglia/Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The iKairos wearable AI pendant at IFA 2026 in Berlin]]></media:description>                                                            <media:text><![CDATA[The iKairos wearable AI pendant at IFA 2026 in Berlin]]></media:text>
                                <media:title type="plain"><![CDATA[The iKairos wearable AI pendant at IFA 2026 in Berlin]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/f8Xewm5XDRRZ5YXM7gSL8H-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>One of the strangest pieces of wearable tech I demoed at the <a href="https://www.tomsguide.com/tech-events/best-of-ifa-2026-we-found-the-26-top-new-gadgets">IFA 2026</a> show is the iKairos. Pitched as a “second memory” that captures the most important moments of your life, this AI-powered device doubles as a wearable pendant and a stationary desktop companion. </p><p>All that said, I still don’t fully understand the purpose of the iKairos, and frankly, the folks showing it at IFA didn't seem to really know either. To be fair, the iKairos is still very much a concept. Here's what I do know.</p><h2 id="a-happy-little-wearable">A happy, little wearable</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="9pEtcgkoUPkEr6qE8y5sFH" name="iKairos-04" alt="The iKairos wearable AI pendant at IFA 2026 in Berlin" src="https://cdn.mos.cms.futurecdn.net/9pEtcgkoUPkEr6qE8y5sFH-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>I was admittedly drawn to the iKairos because of the cute, animated face that beams from a circular display on the front. But what purpose does this sort-of interactive digital face serve? </p><p>Personal note-taking is one of the main advertised features of the iKairos; users can whisper all their deepest, darkest secrets to the happy little guy for safekeeping and transcription.</p><p>I suppose, to make these interactions a little less impersonal-feeling, the folks at iKairos gave the wearable a goofy cartoon face capable of blinking and making a handful of vague expressions.</p><h2 id="a-built-in-camera-captures-your-life-sort-of">A built-in camera captures your life… sort of</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="bEwrvTWhgbx6CoGJpMn56H" name="iKairos-01" alt="The iKairos wearable AI pendant at IFA 2026 in Berlin" src="https://cdn.mos.cms.futurecdn.net/bEwrvTWhgbx6CoGJpMn56H-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>The iKairos also sports an onboard camera that can be deployed by sliding the bottom of the device downward. Don’t like the idea of a camera logging and interpreting your every moment? Slide that sucker back up. </p><p>The weird thing about the onboard camera is that the “meaningful memories” it captures aren’t traditional stills or video but weird, AI-generated interpretations of your daily routines and adventures. This, I am not a fan of. </p><h2 id="a-desktop-companion-too">A desktop companion, 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hfYZKs5ektUcTFWKzRDmCH" name="iKairos-02" alt="The iKairos wearable AI pendant at IFA 2026 in Berlin" src="https://cdn.mos.cms.futurecdn.net/hfYZKs5ektUcTFWKzRDmCH-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>When you’re not wearing the iKairos around your neck, it’s meant to live on a small docking station that sits on your desk or bedside. </p><p>Regardless of its position, users can converse with the device and use it for more than just note-taking. Other functions include the ability to set reminders, add events to a calendar, and review summaries of past events. </p><h2 id="the-design-isn-39-t-final">The design isn't final</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:2286px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="sxhCCMMMmNVuxSmWzXVonA" name="iKairos-05" alt="The iKairos wearable AI pendant at IFA 2026 in Berlin" src="https://cdn.mos.cms.futurecdn.net/sxhCCMMMmNVuxSmWzXVonA-1920-80.jpg" mos="" align="middle" fullscreen="" width="2286" height="1286" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>It’s worth noting that the iKairos is still a long way off from being an actual product you can purchase online. That said, the company behind it recently secured a hefty amount of investor funding, so hopefully, we’ll eventually see some form of the iKairos come to fruition; it just may look a whole lot different than the product I just demoed.</p><p>What are your thoughts on the iKairos? Is this a product you’d seriously consider buying? What existing features do you like or dislike, and what do you feel is missing? Let me know below. </p><h2 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h2><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/i-just-went-hands-on-with-the-odyss-n1-a-sleek-ai-necklace-that-automatically-logs-everything-you-eat">I just went hands-on with the Odyss N1 — a sleek AI necklace that automatically tracks everything you eat</a></li><li><a href="https://www.tomsguide.com/wellness/smart-rings/i-just-went-hands-on-with-the-new-circular-ring-3-and-it-beats-the-oura-ring-5-in-3-big-ways">I just went hands-on with the new Circular Ring 3 — and it beats the Oura Ring 5 in 3 big ways</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/i-just-went-hands-on-with-motorolas-first-lte-smartwatch-and-google-and-samsung-should-be-worried">I just went hands-on with Motorola's first LTE smartwatch — and Google and Samsung should be worried</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ This $800 LED face mask actually works. So why am I so mad at it? ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Somewhere in the last five years my bathroom turned into a gadget drawer. Gua sha stones, a pore vacuum, cleansing brushes. So when an $800 LED face mask ( landed in my hands, the FOREO FAQ 202 — all Swiss engineering and glowing silicone — I was exactly the skeptical-but-curious person it was built for. </p><p>Eight hundred dollars is a lot of money to shine colored light at your own face. I wanted to know whether it actually works, or whether it's just the most photogenic placebo I've ever owned.</p><div class="product"><a data-dimension112="58add99c-a87e-11f1-a108-e150b737773b" data-action="Deal Block" data-label="FAQ 202" data-dimension48="FAQ 202" data-dimension25="$800" href="https://www.amazon.com/FAQ-202-Advanced-Wireless-Wearable/dp/B0DPQYHJH7/ref" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1596px;"><p class="vanilla-image-block" style="padding-top:83.96%;"><img id="7ZRotQpJH8pegYzVoThaeA" name="FOREO FAQ 202" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/7ZRotQpJH8pegYzVoThaeA-1920-80.png" mos="" align="middle" fullscreen="" width="1596" height="1340" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/FAQ-202-Advanced-Wireless-Wearable/dp/B0DPQYHJH7/ref" target="_blank" rel="nofollow" data-dimension112="58add99c-a87e-11f1-a108-e150b737773b" data-action="Deal Block" data-label="FAQ 202" data-dimension48="FAQ 202" data-dimension25="$800">FAQ 202: $800</a></strong><br>This ultra-lightweight, wireless flexi-fit mask hugs your face like a second skin while 600 glow points unleash 8 targeted LED wavelengths. App-connected, hands-free Swiss luxury for instant radiance.<a class="view-deal button" href="https://www.amazon.com/FAQ-202-Advanced-Wireless-Wearable/dp/B0DPQYHJH7/ref" target="_blank" rel="nofollow" data-dimension112="58add99c-a87e-11f1-a108-e150b737773b" data-action="Deal Block" data-label="FAQ 202" data-dimension48="FAQ 202" data-dimension25="$800">View Deal</a></p></div><div class="product"><a data-dimension112="be25b324-aaa6-11f1-bd1d-c53aa90345a3" data-action="Deal Block" data-label="FAQ 202" data-dimension48="FAQ 202" data-dimension25="£649" href="https://www.amazon.co.uk/FAQ-Microneedling-Anti-Wrinkle-Hyaluronic-Forehead/dp/B0FTT531Q3/ref" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1596px;"><p class="vanilla-image-block" style="padding-top:83.96%;"><img id="7ZRotQpJH8pegYzVoThaeA" name="FOREO FAQ 202" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/7ZRotQpJH8pegYzVoThaeA-1920-80.png" mos="" align="middle" fullscreen="" width="1596" height="1340" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/FAQ-Microneedling-Anti-Wrinkle-Hyaluronic-Forehead/dp/B0FTT531Q3/ref" target="_blank" rel="nofollow" data-dimension112="be25b324-aaa6-11f1-bd1d-c53aa90345a3" data-action="Deal Block" data-label="FAQ 202" data-dimension48="FAQ 202" data-dimension25="£649">FAQ 202: £649</a></strong><br>This ultra-lightweight, wireless flexi-fit mask hugs your face like a second skin while 600 glow points unleash 8 targeted LED wavelengths. App-connected, hands-free Swiss luxury for instant radiance.<a class="view-deal button" href="https://www.amazon.co.uk/FAQ-Microneedling-Anti-Wrinkle-Hyaluronic-Forehead/dp/B0FTT531Q3/ref" target="_blank" rel="nofollow" data-dimension112="be25b324-aaa6-11f1-bd1d-c53aa90345a3" data-action="Deal Block" data-label="FAQ 202" data-dimension48="FAQ 202" data-dimension25="£649">View Deal</a></p></div><h2 id="first-the-good-news">First, the good news</h2><p>On paper, it's a serious bit of equipment. The FAQ 202 fires eight LED wavelengths, seven visible colors plus near-infrared, through what FOREO calls 600 optimized points of light, and points them at everything from wrinkles and breakouts to uneven tone. </p><p>It's wireless, hands-free and wrapped in flexi-fit silicone, built to be worn while you get on with your day rather than lying still under a lamp.</p><p>The honest answer is that it works. Perhaps not in the reduce-wrinkles-by-32%-in-two-weeks way the marketing promises, which I'd take with a fistful of salt, but in a way I could see in the mirror. </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="SdmzrEZbuqx44VgCkYTvWc" name="Kaycee Hill testing the FOREO FAQ 2 LED face mask" alt="Kaycee Hill testing the FOREO FAQ 2 LED face mask" src="https://cdn.mos.cms.futurecdn.net/SdmzrEZbuqx44VgCkYTvWc-1920-80.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: Kaycee Hill / Tom's Guide)</span></figcaption></figure><p>The red and blue settings were the standouts. After a few weeks of consistent use, my skin texture looked more even, my tone more settled, and the breakouts that usually crop up along my chin and calmed down. </p><p>I looked like a slightly better, well rested version of myself, and for a device I was fully on the fence about, that's a real result.</p><p>So, the technology delivers. It's everything bolted around the technology that I'm side-eying. </p><h2 id="living-with-it">Living with it </h2><p>Starting with setting it up. Out of the box, before you can so much as switch it on, you're downloading an app, pairing the mask to it, and working through the whole connection routine. </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="WJTCJjrs7tqGsJoXFEQkgi" name="FOREO FAQ 202 and Red Light Peptide Serum" alt="FOREO FAQ 202 and Red Light Peptide Serum" src="https://cdn.mos.cms.futurecdn.net/WJTCJjrs7tqGsJoXFEQkgi-1920-80.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: Kaycee Hill / Tom's Guide)</span></figcaption></figure><p>But here's the fair bit: once that's done, the day-to-day is easy. Finding your preferred light is a single button press, and the mask itself is comfortable enough to wear while you get on with something else. The friction is all front-loaded. Get through the setup and it mostly gets out of your way.</p><p>Then there's the serum. FOREO makes its own peptide serum designed to work alongside the mask, and the two are built to complement each other. What I appreciated is how upfront the brand is that it's optional. </p><p>Its own guidance says you're welcome to use whatever serum you already love, as long as you avoid ingredients that don't sit well with LED light. That kind of honesty is more than a lot of beauty tech offers, which I appreciated. </p><h2 id="one-small-wish">One small wish </h2><p>But the thing that gave me serious pause is the subscription. Yes, a subscription. A few of the treatments and features live inside an app that asks for a recurring fee, which means the $800 sticker price isn't always the whole story. </p><p>It's a small thing, and a familiar one by now. Cars ask a monthly fee to warm their own seats. Printers meter their ink. Software arrives by the month rather than in a box. None of it is unique to skincare, and paper spread none of it is unreasonable. </p><p>But I do miss the older bargain, the one where you paid once and the thing was wholly, uncomplicatedly yours.</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="NzRnnWoRvFwcdFgy8yKyE8" name="FOREO app with FAQ LED face mask connected" alt="FOREO app with FAQ LED Face Mask connected" src="https://cdn.mos.cms.futurecdn.net/NzRnnWoRvFwcdFgy8yKyE8-1920-80.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: Kaycee Hill / Tom's Guide )</span></figcaption></figure><p>Let's also be clear about what this is and isn't. It's a good at-home skincare device that, used faithfully, makes a visible difference. It is not a replacement for a facialist, no matter how the branding flirts with the idea. </p><p>At-home LED runs at a fraction of the intensity you'd get in a clinic, and even <a href="https://www.voguescandinavia.com/articles/best-led-face-masks-and-red-light-therapy-devices">the brand's own people concede</a> the trade-off is fewer bulbs and lower output in exchange for convenience. Buy it understanding that, and you won't be disappointed.</p><p>This LED face mask is a difference-maker, in the end. The mask does what it promises, comfortably and consistently, and it has earned its spot in my routine. </p><p>My one small wish is for a version of the future where a good product is simply a good product, no strings attached. Until then, the mask works. That much I can say without hesitation.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WQQNRW"></div>                            </div>                            <script src="https://kwizly.com/embed/WQQNRW.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/home/i-ditched-my-oral-b-for-this-weird-silicone-toothbrush-and-my-teeth-have-never-been-cleaner">The best electric toothbrush I’ve ever used isn’t Oral-B or Philips — it’s the silicone-based Foreo Issa 3</a></li><li><a href="https://www.tomsguide.com/home/i-cut-my-curly-hair-routine-from-2-hours-to-20-minutes-heres-the-lazy-girl-method-thatll-help-you-do-the-same">I cut my curly hair routine from 2 hours to 20 minutes. Here’s the 'lazy girl' method that'll help you do the same</a></li><li><a href="https://www.tomsguide.com/wellness/i-quit-gel-manicures-to-save-my-nails-and-money-heres-my-at-home-recovery-routine">I quit gel manicures to save my nails (and money): here's my at-home recovery routine</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/this-usd800-led-face-mask-actually-works-so-why-am-i-so-mad-at-it</link>
                                                                            <description>
                            <![CDATA[ The FOREO FAQ 202 costs $800 and promises visibly better skin from the comfort of your sofa. After weeks of testing, the verdict is mostly good news. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">EH4WNCSmGDMm5XhMkoHUDU</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/WJTCJjrs7tqGsJoXFEQkgi-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 06 Sep 2026 09:30:00 +0000</pubDate>                                                                                                                                <updated>Mon, 07 Sep 2026 10:28:17 +0000</updated>
                                                                                                                                            <category><![CDATA[Wellness]]></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/xHn6RmpEqg87cvtLwrBu9G-320-70.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/WJTCJjrs7tqGsJoXFEQkgi-1280-80.jpg">
                                                            <media:credit><![CDATA[Kaycee Hill / Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[FOREO FAQ 202 and Red Light Peptide Serum]]></media:description>                                                            <media:text><![CDATA[FOREO FAQ 202 and Red Light Peptide Serum]]></media:text>
                                <media:title type="plain"><![CDATA[FOREO FAQ 202 and Red Light Peptide Serum]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/WJTCJjrs7tqGsJoXFEQkgi-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Somewhere in the last five years my bathroom turned into a gadget drawer. Gua sha stones, a pore vacuum, cleansing brushes. So when an $800 LED face mask ( landed in my hands, the FOREO FAQ 202 — all Swiss engineering and glowing silicone — I was exactly the skeptical-but-curious person it was built for. </p><p>Eight hundred dollars is a lot of money to shine colored light at your own face. I wanted to know whether it actually works, or whether it's just the most photogenic placebo I've ever owned.</p><div class="product"><a data-dimension112="58add99c-a87e-11f1-a108-e150b737773b" data-action="Deal Block" data-label="FAQ 202" data-dimension48="FAQ 202" data-dimension25="$800" href="https://www.amazon.com/FAQ-202-Advanced-Wireless-Wearable/dp/B0DPQYHJH7/ref" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1596px;"><p class="vanilla-image-block" style="padding-top:83.96%;"><img id="7ZRotQpJH8pegYzVoThaeA" name="FOREO FAQ 202" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/7ZRotQpJH8pegYzVoThaeA-1920-80.png" mos="" align="middle" fullscreen="" width="1596" height="1340" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/FAQ-202-Advanced-Wireless-Wearable/dp/B0DPQYHJH7/ref" target="_blank" rel="nofollow" data-dimension112="58add99c-a87e-11f1-a108-e150b737773b" data-action="Deal Block" data-label="FAQ 202" data-dimension48="FAQ 202" data-dimension25="$800">FAQ 202: $800</a></strong><br>This ultra-lightweight, wireless flexi-fit mask hugs your face like a second skin while 600 glow points unleash 8 targeted LED wavelengths. App-connected, hands-free Swiss luxury for instant radiance.<a class="view-deal button" href="https://www.amazon.com/FAQ-202-Advanced-Wireless-Wearable/dp/B0DPQYHJH7/ref" target="_blank" rel="nofollow" data-dimension112="58add99c-a87e-11f1-a108-e150b737773b" data-action="Deal Block" data-label="FAQ 202" data-dimension48="FAQ 202" data-dimension25="$800">View Deal</a></p></div><div class="product"><a data-dimension112="be25b324-aaa6-11f1-bd1d-c53aa90345a3" data-action="Deal Block" data-label="FAQ 202" data-dimension48="FAQ 202" data-dimension25="£649" href="https://www.amazon.co.uk/FAQ-Microneedling-Anti-Wrinkle-Hyaluronic-Forehead/dp/B0FTT531Q3/ref" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1596px;"><p class="vanilla-image-block" style="padding-top:83.96%;"><img id="7ZRotQpJH8pegYzVoThaeA" name="FOREO FAQ 202" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/7ZRotQpJH8pegYzVoThaeA-1920-80.png" mos="" align="middle" fullscreen="" width="1596" height="1340" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.co.uk/FAQ-Microneedling-Anti-Wrinkle-Hyaluronic-Forehead/dp/B0FTT531Q3/ref" target="_blank" rel="nofollow" data-dimension112="be25b324-aaa6-11f1-bd1d-c53aa90345a3" data-action="Deal Block" data-label="FAQ 202" data-dimension48="FAQ 202" data-dimension25="£649">FAQ 202: £649</a></strong><br>This ultra-lightweight, wireless flexi-fit mask hugs your face like a second skin while 600 glow points unleash 8 targeted LED wavelengths. App-connected, hands-free Swiss luxury for instant radiance.<a class="view-deal button" href="https://www.amazon.co.uk/FAQ-Microneedling-Anti-Wrinkle-Hyaluronic-Forehead/dp/B0FTT531Q3/ref" target="_blank" rel="nofollow" data-dimension112="be25b324-aaa6-11f1-bd1d-c53aa90345a3" data-action="Deal Block" data-label="FAQ 202" data-dimension48="FAQ 202" data-dimension25="£649">View Deal</a></p></div><h2 id="first-the-good-news">First, the good news</h2><p>On paper, it's a serious bit of equipment. The FAQ 202 fires eight LED wavelengths, seven visible colors plus near-infrared, through what FOREO calls 600 optimized points of light, and points them at everything from wrinkles and breakouts to uneven tone. </p><p>It's wireless, hands-free and wrapped in flexi-fit silicone, built to be worn while you get on with your day rather than lying still under a lamp.</p><p>The honest answer is that it works. Perhaps not in the reduce-wrinkles-by-32%-in-two-weeks way the marketing promises, which I'd take with a fistful of salt, but in a way I could see in the mirror. </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="SdmzrEZbuqx44VgCkYTvWc" name="Kaycee Hill testing the FOREO FAQ 2 LED face mask" alt="Kaycee Hill testing the FOREO FAQ 2 LED face mask" src="https://cdn.mos.cms.futurecdn.net/SdmzrEZbuqx44VgCkYTvWc-1920-80.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: Kaycee Hill / Tom's Guide)</span></figcaption></figure><p>The red and blue settings were the standouts. After a few weeks of consistent use, my skin texture looked more even, my tone more settled, and the breakouts that usually crop up along my chin and calmed down. </p><p>I looked like a slightly better, well rested version of myself, and for a device I was fully on the fence about, that's a real result.</p><p>So, the technology delivers. It's everything bolted around the technology that I'm side-eying. </p><h2 id="living-with-it">Living with it </h2><p>Starting with setting it up. Out of the box, before you can so much as switch it on, you're downloading an app, pairing the mask to it, and working through the whole connection routine. </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="WJTCJjrs7tqGsJoXFEQkgi" name="FOREO FAQ 202 and Red Light Peptide Serum" alt="FOREO FAQ 202 and Red Light Peptide Serum" src="https://cdn.mos.cms.futurecdn.net/WJTCJjrs7tqGsJoXFEQkgi-1920-80.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: Kaycee Hill / Tom's Guide)</span></figcaption></figure><p>But here's the fair bit: once that's done, the day-to-day is easy. Finding your preferred light is a single button press, and the mask itself is comfortable enough to wear while you get on with something else. The friction is all front-loaded. Get through the setup and it mostly gets out of your way.</p><p>Then there's the serum. FOREO makes its own peptide serum designed to work alongside the mask, and the two are built to complement each other. What I appreciated is how upfront the brand is that it's optional. </p><p>Its own guidance says you're welcome to use whatever serum you already love, as long as you avoid ingredients that don't sit well with LED light. That kind of honesty is more than a lot of beauty tech offers, which I appreciated. </p><h2 id="one-small-wish">One small wish </h2><p>But the thing that gave me serious pause is the subscription. Yes, a subscription. A few of the treatments and features live inside an app that asks for a recurring fee, which means the $800 sticker price isn't always the whole story. </p><p>It's a small thing, and a familiar one by now. Cars ask a monthly fee to warm their own seats. Printers meter their ink. Software arrives by the month rather than in a box. None of it is unique to skincare, and paper spread none of it is unreasonable. </p><p>But I do miss the older bargain, the one where you paid once and the thing was wholly, uncomplicatedly yours.</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="NzRnnWoRvFwcdFgy8yKyE8" name="FOREO app with FAQ LED face mask connected" alt="FOREO app with FAQ LED Face Mask connected" src="https://cdn.mos.cms.futurecdn.net/NzRnnWoRvFwcdFgy8yKyE8-1920-80.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: Kaycee Hill / Tom's Guide )</span></figcaption></figure><p>Let's also be clear about what this is and isn't. It's a good at-home skincare device that, used faithfully, makes a visible difference. It is not a replacement for a facialist, no matter how the branding flirts with the idea. </p><p>At-home LED runs at a fraction of the intensity you'd get in a clinic, and even <a href="https://www.voguescandinavia.com/articles/best-led-face-masks-and-red-light-therapy-devices">the brand's own people concede</a> the trade-off is fewer bulbs and lower output in exchange for convenience. Buy it understanding that, and you won't be disappointed.</p><p>This LED face mask is a difference-maker, in the end. The mask does what it promises, comfortably and consistently, and it has earned its spot in my routine. </p><p>My one small wish is for a version of the future where a good product is simply a good product, no strings attached. Until then, the mask works. That much I can say without hesitation.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-WQQNRW"></div>                            </div>                            <script src="https://kwizly.com/embed/WQQNRW.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/home/i-ditched-my-oral-b-for-this-weird-silicone-toothbrush-and-my-teeth-have-never-been-cleaner">The best electric toothbrush I’ve ever used isn’t Oral-B or Philips — it’s the silicone-based Foreo Issa 3</a></li><li><a href="https://www.tomsguide.com/home/i-cut-my-curly-hair-routine-from-2-hours-to-20-minutes-heres-the-lazy-girl-method-thatll-help-you-do-the-same">I cut my curly hair routine from 2 hours to 20 minutes. Here’s the 'lazy girl' method that'll help you do the same</a></li><li><a href="https://www.tomsguide.com/wellness/i-quit-gel-manicures-to-save-my-nails-and-money-heres-my-at-home-recovery-routine">I quit gel manicures to save my nails (and money): here's my at-home recovery routine</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tested DLSS 5 in NBA 2K27 on a mid-range gaming laptop — it's the future of photorealistic graphics, but there's a catch ]]></title>
                                                                                                <dc:content><![CDATA[ <p>So while NBA 2K27 is officially the first game to launch with <a href="https://www.tomsguide.com/gaming/pc-gaming/i-tested-the-real-dlss-5-forget-the-leaked-mods-its-not-an-ai-filter-this-is-nvidias-photorealistic-game-changer">Nvidia’s newly launched DLSS 5</a>, you’ve probably already seen it pop up in hundreds of more games than that. And I’ll say it again just like I said it before — in photorealistic games, it’s fantastic. But If you venture out of that into anything more stylized, it’s going to look weird.</p><p>That’s why it makes the world of sense in 2K27, but during my hands-on testing with my <a href="https://www.tomsguide.com/computing/gaming-laptops/i-review-gaming-laptops-for-a-living-and-this-is-my-favorite-of-2025">Asus ROG Zephyrus G14</a> (armed with an RTX 5070 Ti), I noticed something bizarre. The moment I entered a menu or triggered a replay, it suddenly felt like it was trudging through molasses.</p><p>I dug into the raw telemetry data to figure out what was going on, and what I found completely changed my understanding of Nvidia’s “3D-guided neural rendering.” That intensive new graphics pipeline of DLSS 5 may indeed be a graphical revolution — but on my humble laptop (and lower end desktops), I get the sense Frame Generation is a requirement to make it playable.</p><h2 id="the-laptop-i-m-playing-on">The laptop I’m playing on</h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>Intel Core Ultra 9 386H</p></td></tr><tr><td class="firstcol " ><p><strong>GPU</strong></p></td><td  ><p>RTX 5070 Ti (115 watts)</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>32GB LPDDR5X</p></td></tr><tr><td class="firstcol " ><p><strong>SSD</strong></p></td><td  ><p>1TB PCIe Gen 4</p></td></tr></tbody></table></div><p>I’m seeing a lot of people test it on massive desktop rigs. I’ll of course get round to doing this when I’m not on my honeymoon (my wife will kill me if I started benchmarking DLSS 5 in Cancun), but first I wanted to show you some numbers on something that isn’t really being covered here — my Asus ROG Zephyrus G14 gaming laptop.</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="2akjJwtoAsyJWCruapJF9E" name="Asus ROG Zephyrus G14 (2026)" alt="Asus ROG Zephyrus G14 (2026)" src="https://cdn.mos.cms.futurecdn.net/2akjJwtoAsyJWCruapJF9E-1920-80.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>Nvidia’s been talking about how the model running this mode of neural rendering has been made super efficient over the past few months. In fact, when it first debuted, it ran on a separate RTX 5090 desktop GPU; whereas now, it’s able to run on a single card with the game.</p><p>So let’s give it a go in a notebook with a lower power level running through those graphics.</p><h2 id="by-the-numbers">By the numbers</h2><p>To figure out why the game was suddenly stuttering, I ran the telemetry on three different game states with DLSS 5 turned on and off. And as you can see, while the gameplay numbers are very close matching, elsewhere, the difference is pretty significant.</p><div ><table><tbody><tr><td class="firstcol " ><p><strong>Scenario</strong></p></td><td  ><p><strong>Setting</strong></p></td><td  ><p><strong>Avg FPS</strong></p></td><td  ><p><strong>1% Low FPS</strong></p></td><td  ><p><strong>PC Latency (ms)</strong></p></td><td  ><p><strong>GPU Util (%)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Menu screen</strong></p></td><td  ><p>DLSS 5 Off</p></td><td  ><p>109.8</p></td><td  ><p>85.3</p></td><td  ><p>35.8</p></td><td  ><p>91.5</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>DLSS 5 On</p></td><td  ><p>30.4</p></td><td  ><p>27.9</p></td><td  ><p>102.1</p></td><td  ><p>96.9</p></td></tr><tr><td class="firstcol " ><p><strong>Gameplay</strong></p></td><td  ><p>DLSS 5 Off</p></td><td  ><p>115.8</p></td><td  ><p>19.8</p></td><td  ><p>79.8</p></td><td  ><p>41</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>DLSS 5 On</p></td><td  ><p>115.2</p></td><td  ><p>19.8</p></td><td  ><p>111.2</p></td><td  ><p>86</p></td></tr><tr><td class="firstcol " ><p><strong>Replay</strong></p></td><td  ><p>DLSS 5 Off</p></td><td  ><p>92.6</p></td><td  ><p>57</p></td><td  ><p>56.6</p></td><td  ><p>92.9</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>DLSS 5 On</p></td><td  ><p>26.9</p></td><td  ><p>16.2</p></td><td  ><p>128.8</p></td><td  ><p>97.7</p></td></tr></tbody></table></div><p>In fact, this kind of lines up with <a href="https://www.pcgamer.com/hardware/graphics-cards/dlss-5-comes-with-a-massive-50-60-percent-performance-hit-so-i-hope-you-like-lower-frame-rates-with-your-dose-of-ai-image-enhancement/" target="_blank">PC Gamer’s report</a> of a 50-60% drop in performance. So what’s going on here? Let’s talk about it.</p><h2 id="the-heavy-cost-of-the-transformer">The heavy cost of the transformer</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="n9SYNVP4yTgoCse4GzHQaL" name="DLSS 5" alt="DLSS 5" src="https://cdn.mos.cms.futurecdn.net/n9SYNVP4yTgoCse4GzHQaL-1920-80.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: Nvidia)</span></figcaption></figure><p>So why does turning <em>off </em>the new tech triple frame rate in menus and replays? Because DLSS 5 is not just an upscale filter. It is a highly complex transformer model that interacts with the on-screen geometry and injects neural rendering.</p><p>Speaking to Nvidia, it’s clear that this AI pipeline is a heavy one, and the answer to why you don’t see that same impact in gameplay is a simple one: <strong>Frame Generation</strong>.</p><p>During live gameplay, I engaged the 6x Frame Generation multiplier to take that slower neurally rendered base and fill the gaps. However, developers typically disable frame gen during static menus, UI-heavy pause screens or camera-cut replays.</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="sGWd4w3FSK3c3NZvRKTvTQ" name="DLSS 5" alt="DLSS 5" src="https://cdn.mos.cms.futurecdn.net/sGWd4w3FSK3c3NZvRKTvTQ-1920-80.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: Nvidia)</span></figcaption></figure><p>You can see how much this first iteration of DLSS 5 is sweating the system by looking at a couple of factors in the gameplay. Yes, the framerate is barely touched, but the 1% Lows takes a dip and the latency is upped quite drastically, as well as the GPU utilization spiking.</p><p>In a controller-centric game like NBA 2K27, that’s not necessarily a noticeable hit, but I can imagine that when this in its current form is moved to games that require faster inputs with a keyboard and mouse, it could become more apparent.</p><p>Take away the prop of frame generation in menus, and you see the DLSS 5 penalty more realistically on an RTX 5070 Ti laptop GPU.</p><h2 id="but-it-looks-incredible">But it looks incredible</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/dgiemBJh8Ntef9MvZNJ43R-1920-80.png" alt="NBA 2K27" /><figcaption><small role="credit">2K Games</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/2vmZFSEToxZQnXLg9PiZAR-1920-80.png" alt="NBA 2K27" /><figcaption><small role="credit">2K Games</small></figcaption></figure></figure><p>Like I said in my first impressions, when faced with photorealistic graphics, DLSS 5 is undeniably impressive. There is one very specific takeaway when I looked at these “before and after” pairs of screen captures: the core game look is preserved impressively.</p><p>DLSS 5 does a flawless job of preserving the game’s visual integrity. The shots of Jalen Brunson and Victor Wembanyama show off the micro-details on the skin and the way the sweat catches the harsh stadium lighting. The upscaler isn’t adding any aggressive smoothing or plastic-looking artifacts — it’s remarkably lifelike.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/zt3qUDcUT3hUT3uCggfbCR-1920-80.png" alt="NBA 2K27" /><figcaption><small role="credit">2K Games</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/75Z5j9Mo3Xtosb8oN2e9CR-1920-80.png" alt="NBA 2K27" /><figcaption><small role="credit">2K Games</small></figcaption></figure></figure><p>Then there’s the fabric and material textures. Brunson’s Knicks jersey and the fabric of the couch in the cutscene get an upgrade to show off the stitching more with high-resolution clarity, and without any noticeable AI-induced blurring.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/jDbGWSTjdSLRHjA7eAq48R-1920-80.png" alt="NBA 2K27" /><figcaption><small role="credit">2K Games</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/q4xFZMUkJMWp6Z9tBJ3rvP-1920-80.png" alt="NBA 2K27" /><figcaption><small role="credit">2K Games</small></figcaption></figure></figure><p>The lighting reacts to on-screen characters more realistically, there isn’t any noticeable AI “fizzing” or ghosting around finer textures like hair — something upscalers have had problems with in the past. </p><h2 id="is-this-a-frame-generated-future">Is this a frame-generated future?</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/YWWyKjCTaivXpgCJPxyaBR-1920-80.png" alt="NBA 2K27" /><figcaption><small role="credit">2K Games</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/aZfs5KRJDBPYAFnnv8zE9R-1920-80.png" alt="NBA 2K27" /><figcaption><small role="credit">2K Games</small></figcaption></figure></figure><p>DLSS 5 integration proved to me that the uncanny valley is dead, but it also proves that native frame rates are on their way out with it.</p><p>Nvidia themselves keep saying that Moore’s law is dead, and getting crafty with AI is what will bridge that generational gap. That threshold has been crossed — photorealism is getting too heavy for high-end silicon to render natively. </p><p>And DLSS 5 proves that future of photorealism isn’t just about rendering better pixels; it’s about accepting that a good chunk of the frames you see on your screen aren’t <em>technically </em>going to be “real” at all. </p><p>We’ve been coming to this moment in the PC gaming space for a while now, and it’s also happening on consoles too. </p><p>And personally, I have no problem with it if it looks this good — provided it’s used the right way (such as in photorealistic games).</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/tech-events/best-of-ifa-2026-we-found-the-26-top-new-gadgets"><strong>Best of IFA 2026: We found the 26 top new gadgets</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/laptops/macbook-pro-14-inch-vs-asus-proart-p14-nvidia-rtx-spark"><strong>I held the Asus ProArt P14 next to my MacBook Pro 14 — and Apple should be genuinely terrified of Nvidia’s RTX Spark</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/gaming/handheld-gaming/i-tested-acers-wild-flip-and-swivel-handheld-why-project-dualplay-mini-is-the-ultimate-netbook-love-letter"><strong>I tested Acer's wild Project DualPlay Mini — and it's a gaming handheld and laptop in one gadget</strong></a><strong></strong></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/gaming/pc-gaming/i-benchmarked-the-real-dlss-5-in-nba-2k27-and-the-future-of-photorealistic-graphics-has-one-big-catch</link>
                                                                            <description>
                            <![CDATA[ I benchmarked Nvidia’s DLSS 5 in NBA 2K27 on an RTX 5070 Ti laptop. Here is why the neural rendering model requires frame generation to stay playable. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">28R4VdDndCAzgMBfVtV3TM</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/j8Wmy2eeJWccYHQige6uD5-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 06 Sep 2026 07:00:00 +0000</pubDate>                                                                                                                                <updated>Sun, 06 Sep 2026 12:21:56 +0000</updated>
                                                                                                                                            <category><![CDATA[PC Gaming]]></category>
                                                    <category><![CDATA[Gaming Laptops]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                    <category><![CDATA[Computing Peripherals]]></category>
                                                    <category><![CDATA[Laptops]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&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/j8Wmy2eeJWccYHQige6uD5-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[DLSS 5]]></media:description>                                                            <media:text><![CDATA[DLSS 5]]></media:text>
                                <media:title type="plain"><![CDATA[DLSS 5]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/j8Wmy2eeJWccYHQige6uD5-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>So while NBA 2K27 is officially the first game to launch with <a href="https://www.tomsguide.com/gaming/pc-gaming/i-tested-the-real-dlss-5-forget-the-leaked-mods-its-not-an-ai-filter-this-is-nvidias-photorealistic-game-changer">Nvidia’s newly launched DLSS 5</a>, you’ve probably already seen it pop up in hundreds of more games than that. And I’ll say it again just like I said it before — in photorealistic games, it’s fantastic. But If you venture out of that into anything more stylized, it’s going to look weird.</p><p>That’s why it makes the world of sense in 2K27, but during my hands-on testing with my <a href="https://www.tomsguide.com/computing/gaming-laptops/i-review-gaming-laptops-for-a-living-and-this-is-my-favorite-of-2025">Asus ROG Zephyrus G14</a> (armed with an RTX 5070 Ti), I noticed something bizarre. The moment I entered a menu or triggered a replay, it suddenly felt like it was trudging through molasses.</p><p>I dug into the raw telemetry data to figure out what was going on, and what I found completely changed my understanding of Nvidia’s “3D-guided neural rendering.” That intensive new graphics pipeline of DLSS 5 may indeed be a graphical revolution — but on my humble laptop (and lower end desktops), I get the sense Frame Generation is a requirement to make it playable.</p><h2 id="the-laptop-i-m-playing-on">The laptop I’m playing on</h2><div ><table><tbody><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>Intel Core Ultra 9 386H</p></td></tr><tr><td class="firstcol " ><p><strong>GPU</strong></p></td><td  ><p>RTX 5070 Ti (115 watts)</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>32GB LPDDR5X</p></td></tr><tr><td class="firstcol " ><p><strong>SSD</strong></p></td><td  ><p>1TB PCIe Gen 4</p></td></tr></tbody></table></div><p>I’m seeing a lot of people test it on massive desktop rigs. I’ll of course get round to doing this when I’m not on my honeymoon (my wife will kill me if I started benchmarking DLSS 5 in Cancun), but first I wanted to show you some numbers on something that isn’t really being covered here — my Asus ROG Zephyrus G14 gaming laptop.</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="2akjJwtoAsyJWCruapJF9E" name="Asus ROG Zephyrus G14 (2026)" alt="Asus ROG Zephyrus G14 (2026)" src="https://cdn.mos.cms.futurecdn.net/2akjJwtoAsyJWCruapJF9E-1920-80.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>Nvidia’s been talking about how the model running this mode of neural rendering has been made super efficient over the past few months. In fact, when it first debuted, it ran on a separate RTX 5090 desktop GPU; whereas now, it’s able to run on a single card with the game.</p><p>So let’s give it a go in a notebook with a lower power level running through those graphics.</p><h2 id="by-the-numbers">By the numbers</h2><p>To figure out why the game was suddenly stuttering, I ran the telemetry on three different game states with DLSS 5 turned on and off. And as you can see, while the gameplay numbers are very close matching, elsewhere, the difference is pretty significant.</p><div ><table><tbody><tr><td class="firstcol " ><p><strong>Scenario</strong></p></td><td  ><p><strong>Setting</strong></p></td><td  ><p><strong>Avg FPS</strong></p></td><td  ><p><strong>1% Low FPS</strong></p></td><td  ><p><strong>PC Latency (ms)</strong></p></td><td  ><p><strong>GPU Util (%)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Menu screen</strong></p></td><td  ><p>DLSS 5 Off</p></td><td  ><p>109.8</p></td><td  ><p>85.3</p></td><td  ><p>35.8</p></td><td  ><p>91.5</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>DLSS 5 On</p></td><td  ><p>30.4</p></td><td  ><p>27.9</p></td><td  ><p>102.1</p></td><td  ><p>96.9</p></td></tr><tr><td class="firstcol " ><p><strong>Gameplay</strong></p></td><td  ><p>DLSS 5 Off</p></td><td  ><p>115.8</p></td><td  ><p>19.8</p></td><td  ><p>79.8</p></td><td  ><p>41</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>DLSS 5 On</p></td><td  ><p>115.2</p></td><td  ><p>19.8</p></td><td  ><p>111.2</p></td><td  ><p>86</p></td></tr><tr><td class="firstcol " ><p><strong>Replay</strong></p></td><td  ><p>DLSS 5 Off</p></td><td  ><p>92.6</p></td><td  ><p>57</p></td><td  ><p>56.6</p></td><td  ><p>92.9</p></td></tr><tr><td class="firstcol empty" ></td><td  ><p>DLSS 5 On</p></td><td  ><p>26.9</p></td><td  ><p>16.2</p></td><td  ><p>128.8</p></td><td  ><p>97.7</p></td></tr></tbody></table></div><p>In fact, this kind of lines up with <a href="https://www.pcgamer.com/hardware/graphics-cards/dlss-5-comes-with-a-massive-50-60-percent-performance-hit-so-i-hope-you-like-lower-frame-rates-with-your-dose-of-ai-image-enhancement/" target="_blank">PC Gamer’s report</a> of a 50-60% drop in performance. So what’s going on here? Let’s talk about it.</p><h2 id="the-heavy-cost-of-the-transformer">The heavy cost of the transformer</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="n9SYNVP4yTgoCse4GzHQaL" name="DLSS 5" alt="DLSS 5" src="https://cdn.mos.cms.futurecdn.net/n9SYNVP4yTgoCse4GzHQaL-1920-80.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: Nvidia)</span></figcaption></figure><p>So why does turning <em>off </em>the new tech triple frame rate in menus and replays? Because DLSS 5 is not just an upscale filter. It is a highly complex transformer model that interacts with the on-screen geometry and injects neural rendering.</p><p>Speaking to Nvidia, it’s clear that this AI pipeline is a heavy one, and the answer to why you don’t see that same impact in gameplay is a simple one: <strong>Frame Generation</strong>.</p><p>During live gameplay, I engaged the 6x Frame Generation multiplier to take that slower neurally rendered base and fill the gaps. However, developers typically disable frame gen during static menus, UI-heavy pause screens or camera-cut replays.</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="sGWd4w3FSK3c3NZvRKTvTQ" name="DLSS 5" alt="DLSS 5" src="https://cdn.mos.cms.futurecdn.net/sGWd4w3FSK3c3NZvRKTvTQ-1920-80.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: Nvidia)</span></figcaption></figure><p>You can see how much this first iteration of DLSS 5 is sweating the system by looking at a couple of factors in the gameplay. Yes, the framerate is barely touched, but the 1% Lows takes a dip and the latency is upped quite drastically, as well as the GPU utilization spiking.</p><p>In a controller-centric game like NBA 2K27, that’s not necessarily a noticeable hit, but I can imagine that when this in its current form is moved to games that require faster inputs with a keyboard and mouse, it could become more apparent.</p><p>Take away the prop of frame generation in menus, and you see the DLSS 5 penalty more realistically on an RTX 5070 Ti laptop GPU.</p><h2 id="but-it-looks-incredible">But it looks incredible</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/dgiemBJh8Ntef9MvZNJ43R-1920-80.png" alt="NBA 2K27" /><figcaption><small role="credit">2K Games</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/2vmZFSEToxZQnXLg9PiZAR-1920-80.png" alt="NBA 2K27" /><figcaption><small role="credit">2K Games</small></figcaption></figure></figure><p>Like I said in my first impressions, when faced with photorealistic graphics, DLSS 5 is undeniably impressive. There is one very specific takeaway when I looked at these “before and after” pairs of screen captures: the core game look is preserved impressively.</p><p>DLSS 5 does a flawless job of preserving the game’s visual integrity. The shots of Jalen Brunson and Victor Wembanyama show off the micro-details on the skin and the way the sweat catches the harsh stadium lighting. The upscaler isn’t adding any aggressive smoothing or plastic-looking artifacts — it’s remarkably lifelike.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/zt3qUDcUT3hUT3uCggfbCR-1920-80.png" alt="NBA 2K27" /><figcaption><small role="credit">2K Games</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/75Z5j9Mo3Xtosb8oN2e9CR-1920-80.png" alt="NBA 2K27" /><figcaption><small role="credit">2K Games</small></figcaption></figure></figure><p>Then there’s the fabric and material textures. Brunson’s Knicks jersey and the fabric of the couch in the cutscene get an upgrade to show off the stitching more with high-resolution clarity, and without any noticeable AI-induced blurring.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/jDbGWSTjdSLRHjA7eAq48R-1920-80.png" alt="NBA 2K27" /><figcaption><small role="credit">2K Games</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/q4xFZMUkJMWp6Z9tBJ3rvP-1920-80.png" alt="NBA 2K27" /><figcaption><small role="credit">2K Games</small></figcaption></figure></figure><p>The lighting reacts to on-screen characters more realistically, there isn’t any noticeable AI “fizzing” or ghosting around finer textures like hair — something upscalers have had problems with in the past. </p><h2 id="is-this-a-frame-generated-future">Is this a frame-generated future?</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/YWWyKjCTaivXpgCJPxyaBR-1920-80.png" alt="NBA 2K27" /><figcaption><small role="credit">2K Games</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/aZfs5KRJDBPYAFnnv8zE9R-1920-80.png" alt="NBA 2K27" /><figcaption><small role="credit">2K Games</small></figcaption></figure></figure><p>DLSS 5 integration proved to me that the uncanny valley is dead, but it also proves that native frame rates are on their way out with it.</p><p>Nvidia themselves keep saying that Moore’s law is dead, and getting crafty with AI is what will bridge that generational gap. That threshold has been crossed — photorealism is getting too heavy for high-end silicon to render natively. </p><p>And DLSS 5 proves that future of photorealism isn’t just about rendering better pixels; it’s about accepting that a good chunk of the frames you see on your screen aren’t <em>technically </em>going to be “real” at all. </p><p>We’ve been coming to this moment in the PC gaming space for a while now, and it’s also happening on consoles too. </p><p>And personally, I have no problem with it if it looks this good — provided it’s used the right way (such as in photorealistic games).</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/tech-events/best-of-ifa-2026-we-found-the-26-top-new-gadgets"><strong>Best of IFA 2026: We found the 26 top new gadgets</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/laptops/macbook-pro-14-inch-vs-asus-proart-p14-nvidia-rtx-spark"><strong>I held the Asus ProArt P14 next to my MacBook Pro 14 — and Apple should be genuinely terrified of Nvidia’s RTX Spark</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/gaming/handheld-gaming/i-tested-acers-wild-flip-and-swivel-handheld-why-project-dualplay-mini-is-the-ultimate-netbook-love-letter"><strong>I tested Acer's wild Project DualPlay Mini — and it's a gaming handheld and laptop in one gadget</strong></a><strong></strong></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I just went hands-on with the Odyss N1 — a sleek AI necklace that automatically tracks everything you eat ]]></title>
                                                                                                <dc:content><![CDATA[ <p>We've got fitness trackers, smartwatches, and smart rings that can precisely log our sleep, workouts, stress, and more with minimal user legwork, but one holistic tracking pain point that persists is food logging. </p><p>Sure, lots of companion apps, including Garmin Connect and the Oura app, let you manually log your calorie and nutritional intake, but what if there was an easier way? </p><p>The Odyss N1 AI necklace is aiming to be the missing link. Still a concept, I had the chance to demo the Odyss N1 at <a href="https://www.tomsguide.com/tech-events/best-of-ifa-2026-we-found-the-26-top-new-gadgets">IFA 2026</a> in Berlin, and even though I'm slightly skeptical of its capabilities, I'm seriously intrigued by what it potentially offers. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="adp7NC6isGrgiKKNNbM8mZ" name="Odyss-02" alt="Close-up of the Odyss N1 AI-powered necklace that tracks what you eat" src="https://cdn.mos.cms.futurecdn.net/adp7NC6isGrgiKKNNbM8mZ-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><h3 class="article-body__section" id="section-odyss-n1-ai-necklace-design"><span>Odyss N1 AI necklace: design</span></h3><p>The Odyss N1 consists of a small, triangular metal pendant with a built-in camera and accelerometer used to track what you eat, when you eat, and how much you eat.</p><p>The necklace itself is actually a cable that connects the pendant to a battery module that sits at the back of your neck. This power module also boasts haptic feedback for notifications. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bNn9ciK87xCezTzjhQforZ" name="Odyss-06" alt="Close-up of the Odyss N1 AI-powered necklace that tracks what you eat" src="https://cdn.mos.cms.futurecdn.net/bNn9ciK87xCezTzjhQforZ-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>The pendant is constructed of metal and available in three colors: black, silver, and gold. It's also remarkably high-quality and jewelry-like.</p><p>A single physical button adorns the top of the pendant. Pressing it turns off all the food logging features. Another privacy feature: the Odyss N1 doesn't save any raw imaging data, ever. </p><h3 class="article-body__section" id="section-odyss-n1-ai-necklace-how-it-works"><span>Odyss N1 AI necklace: how it works</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="VB82hXzQ6XdSmfRdEMHXaZ" name="Odyss-04" alt="Close-up of the Odyss N1 AI-powered necklace that tracks what you eat" src="https://cdn.mos.cms.futurecdn.net/VB82hXzQ6XdSmfRdEMHXaZ-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>The Odyss N1 feeds visual and motion data into an AI-powered algorithm, which also takes into account prior contextual data to try to accurately predict what exactly you're eating, including details on how it was cooked. Users can, of course, edit the details logged at any time. Better yet, the Odyss N1 learns from your edits.</p><p>The more you wear the Odyss N1 and/or update the logged info, the smarter it gets. I'm told that users will need to wear it for at least two weeks to fully calibrate the device for accuracy, but after that, it should be good to go.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="QLvr7cszW5TMueLFy8FrWZ" name="Odyss-01" alt="Close-up of the Odyss N1 AI-powered necklace that tracks what you eat" src="https://cdn.mos.cms.futurecdn.net/QLvr7cszW5TMueLFy8FrWZ-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>What happens to all that logged food data? The companion app uses it to track your overall nutritional trends and even make recommendations to help you improve your diet.</p><p>In addition to nutrition, the app generates diet analysis reports focused on three key metrics: quality, energy, and rhythm. </p><p>While the Odyss N1 is still just a concept, the plan is to make its food logging data accessible to other popular holistic tracking apps. Likewise, the Odyss app is designed to import and analyze health data from other wearable tech and factor it into your nutritional recommendations and insights.</p><h3 class="article-body__section" id="section-odyss-n1-ai-necklace-outlook"><span>Odyss N1 AI necklace: Outlook </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ngLXg7SjXH7ooPVdgWmhvZ" name="Odyss-03" alt="Close-up of the Odyss N1 AI-powered necklace that tracks what you eat" src="https://cdn.mos.cms.futurecdn.net/ngLXg7SjXH7ooPVdgWmhvZ-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>The Odyss N1 is more than a cool idea. It's a potentially groundbreaking piece of wearable tech that truly attempts to solve a problem. Assuming it plays nicely with other popular health apps, isn't too pricey, and actually works as intended, I could definitely see the Odyss N1 catching on.</p><p>On the other hand,  one downside of the design is that you pretty much need to wear it all the time for the food tracking feature to work effectively. Moreover, battery life appears to be limited to a day or two at best, requiring users to frequently take it off for a recharge.</p><p>What are your thoughts on the Odyss N1 AI smart necklace? Is it something you'd consider wearing? Also, how much do you think it should sell for? Let me know in the comments below. </p><h2 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h2><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/forget-whoop-3-major-differences-between-the-subscription-free-luna-band-and-garmin-cirqa">Forget Whoop — 3 major differences between the subscription-free Luna Band and Garmin Cirqa</a></li><li><a href="https://www.tomsguide.com/wellness/smart-rings/i-just-went-hands-on-with-the-new-circular-ring-3-and-it-beats-the-oura-ring-5-in-3-big-ways">I just went hands-on with the new Circular Ring 3 — and it beats the Oura Ring 5 in 3 big ways</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/garmin-launches-nutrition-tracking-but-youll-have-to-subscribe-to-connect-to-get-it">Garmin launches nutrition tracking — but you’ll have to subscribe to Connect+ to get it</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/fitness-trackers/i-just-went-hands-on-with-the-odyss-n1-a-sleek-ai-necklace-that-automatically-logs-everything-you-eat</link>
                                                                            <description>
                            <![CDATA[ The Odyss N1 is a sleek AI necklace aimed at revolutionizing how you log meals by taking all of the legwork out of the task. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">k7YTbW3baH6jvNjJ2DQPJN</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/MkDAozpLwhETPYrqvqRseZ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 05 Sep 2026 16:07:23 +0000</pubDate>                                                                                                                                <updated>Sat, 05 Sep 2026 16:09:22 +0000</updated>
                                                                                                                                            <category><![CDATA[Fitness Trackers]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                    <category><![CDATA[Smartwatches]]></category>
                                                                                                <author><![CDATA[ dan.bracaglia@futurenet.com (Dan Bracaglia) ]]></author>                    <dc:creator><![CDATA[ Dan Bracaglia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3Ev8EFrheNxPemMWSBaKcK-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&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/MkDAozpLwhETPYrqvqRseZ-1280-80.jpg">
                                                            <media:credit><![CDATA[Dan Bracaglia/Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Close-up of the Odyss N1 AI-powered necklace that tracks what you eat]]></media:description>                                                            <media:text><![CDATA[Close-up of the Odyss N1 AI-powered necklace that tracks what you eat]]></media:text>
                                <media:title type="plain"><![CDATA[Close-up of the Odyss N1 AI-powered necklace that tracks what you eat]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/MkDAozpLwhETPYrqvqRseZ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>We've got fitness trackers, smartwatches, and smart rings that can precisely log our sleep, workouts, stress, and more with minimal user legwork, but one holistic tracking pain point that persists is food logging. </p><p>Sure, lots of companion apps, including Garmin Connect and the Oura app, let you manually log your calorie and nutritional intake, but what if there was an easier way? </p><p>The Odyss N1 AI necklace is aiming to be the missing link. Still a concept, I had the chance to demo the Odyss N1 at <a href="https://www.tomsguide.com/tech-events/best-of-ifa-2026-we-found-the-26-top-new-gadgets">IFA 2026</a> in Berlin, and even though I'm slightly skeptical of its capabilities, I'm seriously intrigued by what it potentially offers. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="adp7NC6isGrgiKKNNbM8mZ" name="Odyss-02" alt="Close-up of the Odyss N1 AI-powered necklace that tracks what you eat" src="https://cdn.mos.cms.futurecdn.net/adp7NC6isGrgiKKNNbM8mZ-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><h3 class="article-body__section" id="section-odyss-n1-ai-necklace-design"><span>Odyss N1 AI necklace: design</span></h3><p>The Odyss N1 consists of a small, triangular metal pendant with a built-in camera and accelerometer used to track what you eat, when you eat, and how much you eat.</p><p>The necklace itself is actually a cable that connects the pendant to a battery module that sits at the back of your neck. This power module also boasts haptic feedback for notifications. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bNn9ciK87xCezTzjhQforZ" name="Odyss-06" alt="Close-up of the Odyss N1 AI-powered necklace that tracks what you eat" src="https://cdn.mos.cms.futurecdn.net/bNn9ciK87xCezTzjhQforZ-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>The pendant is constructed of metal and available in three colors: black, silver, and gold. It's also remarkably high-quality and jewelry-like.</p><p>A single physical button adorns the top of the pendant. Pressing it turns off all the food logging features. Another privacy feature: the Odyss N1 doesn't save any raw imaging data, ever. </p><h3 class="article-body__section" id="section-odyss-n1-ai-necklace-how-it-works"><span>Odyss N1 AI necklace: how it works</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="VB82hXzQ6XdSmfRdEMHXaZ" name="Odyss-04" alt="Close-up of the Odyss N1 AI-powered necklace that tracks what you eat" src="https://cdn.mos.cms.futurecdn.net/VB82hXzQ6XdSmfRdEMHXaZ-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>The Odyss N1 feeds visual and motion data into an AI-powered algorithm, which also takes into account prior contextual data to try to accurately predict what exactly you're eating, including details on how it was cooked. Users can, of course, edit the details logged at any time. Better yet, the Odyss N1 learns from your edits.</p><p>The more you wear the Odyss N1 and/or update the logged info, the smarter it gets. I'm told that users will need to wear it for at least two weeks to fully calibrate the device for accuracy, but after that, it should be good to go.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="QLvr7cszW5TMueLFy8FrWZ" name="Odyss-01" alt="Close-up of the Odyss N1 AI-powered necklace that tracks what you eat" src="https://cdn.mos.cms.futurecdn.net/QLvr7cszW5TMueLFy8FrWZ-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>What happens to all that logged food data? The companion app uses it to track your overall nutritional trends and even make recommendations to help you improve your diet.</p><p>In addition to nutrition, the app generates diet analysis reports focused on three key metrics: quality, energy, and rhythm. </p><p>While the Odyss N1 is still just a concept, the plan is to make its food logging data accessible to other popular holistic tracking apps. Likewise, the Odyss app is designed to import and analyze health data from other wearable tech and factor it into your nutritional recommendations and insights.</p><h3 class="article-body__section" id="section-odyss-n1-ai-necklace-outlook"><span>Odyss N1 AI necklace: Outlook </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ngLXg7SjXH7ooPVdgWmhvZ" name="Odyss-03" alt="Close-up of the Odyss N1 AI-powered necklace that tracks what you eat" src="https://cdn.mos.cms.futurecdn.net/ngLXg7SjXH7ooPVdgWmhvZ-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>The Odyss N1 is more than a cool idea. It's a potentially groundbreaking piece of wearable tech that truly attempts to solve a problem. Assuming it plays nicely with other popular health apps, isn't too pricey, and actually works as intended, I could definitely see the Odyss N1 catching on.</p><p>On the other hand,  one downside of the design is that you pretty much need to wear it all the time for the food tracking feature to work effectively. Moreover, battery life appears to be limited to a day or two at best, requiring users to frequently take it off for a recharge.</p><p>What are your thoughts on the Odyss N1 AI smart necklace? Is it something you'd consider wearing? Also, how much do you think it should sell for? Let me know in the comments below. </p><h2 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h2><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/forget-whoop-3-major-differences-between-the-subscription-free-luna-band-and-garmin-cirqa">Forget Whoop — 3 major differences between the subscription-free Luna Band and Garmin Cirqa</a></li><li><a href="https://www.tomsguide.com/wellness/smart-rings/i-just-went-hands-on-with-the-new-circular-ring-3-and-it-beats-the-oura-ring-5-in-3-big-ways">I just went hands-on with the new Circular Ring 3 — and it beats the Oura Ring 5 in 3 big ways</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/garmin-launches-nutrition-tracking-but-youll-have-to-subscribe-to-connect-to-get-it">Garmin launches nutrition tracking — but you’ll have to subscribe to Connect+ to get it</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I just went hands-on with Motorola's first LTE smartwatch — and Google and Samsung should be worried ]]></title>
                                                                                                <dc:content><![CDATA[ <p>One of the biggest surprises out of <a href="https://www.tomsguide.com/tech-events/best-of-ifa-2026-we-found-the-26-top-new-gadgets">IFA 2026 </a>in Berlin, from a wearable tech perspective, is the debut of Motorola’s first LTE smartwatch. The new Moto Watch Ultra boasts some darn impressive features and specs, like support for Gemini AI, detailed sleep insights, and a brushed stainless steel case, but can it really compete with the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a> out there?</p><p>I got my first look at the new Motorola Moto Watch Ultra at IFA 2026 and was pleasantly surprised by all that it offers. So, should Google and Samsung be worried? Maybe! Here’s everything you need to know about the Moto Watch Ultra. </p><h3 class="article-body__section" id="section-moto-watch-ultra-price-and-availability"><span>Moto Watch Ultra: price and availability </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="YBhMT6yBBXxyW3JTQe3GCb" name="Moto Watch Ultra-4" alt="Close-up of the new Moto Watch Ultra LTE smartwatch at IFA 2026 in Berin" src="https://cdn.mos.cms.futurecdn.net/YBhMT6yBBXxyW3JTQe3GCb-1920-80.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: Anthony Spadafora/Tom's Guide)</span></figcaption></figure><p>The Moto Watch Ultra will initially debut in European markets for around 429 euros. According to Motorola, it should hit store shelves within the next few weeks. </p><p>In Uncle Sam's house, the Moto Watch Ultra will be available starting on September 10th for $349 via Motorola and Amazon. That makes it a better value than other flagship smartwatches, like the <a href="https://www.tomsguide.com/wellness/smartwatches/google-pixel-watch5-review">Google Pixel Watch 5</a> (from $399),  <a href="https://www.tomsguide.com/wellness/smartwatches/i-wore-the-samsung-galaxy-watch-9-for-a-month-the-new-health-tools-impress-but-that-doesnt-mean-you-should-upgrade">Samsung Galaxy Watch 9</a> (from $379), and <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-series-11-review">Apple Watch Series 11</a> (from $399).</p><h3 class="article-body__section" id="section-moto-watch-ultra-design"><span>Moto Watch Ultra: design</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="TuahqyBcrowTeXY8k4uTxa" name="Moto Watch Ultra-2" alt="Close-up of the new Moto Watch Ultra LTE smartwatch at IFA 2026 in Berin" src="https://cdn.mos.cms.futurecdn.net/TuahqyBcrowTeXY8k4uTxa-1920-80.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: Anthony Spadafora/Tom's Guide)</span></figcaption></figure><p>Despite its slightly more affordable price, the Moto Watch Ultra features a surprisingly premium design. The case is made entirely from brushed stainless steel and is paired with a 1.5-inch OLED touchscreen. Max screen brightness is 2,700 nits, a little behind the Pixel Watch 5 and Galaxy Watch 9 (3,000 nits) but ahead of the Apple Watch 11 (2,000 nits). </p><p>Two physical controls adorn one side of the case, including a standard button and a digital crown that doubles as a button. </p><p>The 46mm case is on the chunkier side and is noticeably thicker (12.1mm) than many of the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a> I've tested. Weighing in at 51 g, it's also heavier than most full-featured flagships but lighter than rugged models like the <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-3-review">Apple Watch Ultra 3</a> and <a href="https://www.tomsguide.com/wellness/smartwatches/galaxy-watch-ultra-2-hands-on-review">Galaxy Watch Ultra 2</a>. </p><h3 class="article-body__section" id="section-moto-watch-ultra-os-and-connectivity"><span>Moto Watch Ultra: OS and connectivity </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:1859px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="G94dvF85yNwk8fgSre4J8Z" name="MotoWatchUltra-08" alt="Close-up of the new Moto Watch Ultra" src="https://cdn.mos.cms.futurecdn.net/G94dvF85yNwk8fgSre4J8Z-1920-80.jpg" mos="" align="middle" fullscreen="" width="1859" height="1046" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Motorola )</span></figcaption></figure><p>The Moto Watch Ultra runs on Google’s excellent/refined Wear OS platform, which also means support for useful apps like Google Wallet and Google Translate, as well as Gemini AI features. The smartwatch ships running Wear OS 6, and Motorola promises support for up to two future OS updates.  </p><p>An LTE antenna unlocks on-the-go connectivity without a paired smartphone, though you’ll need a data plan to make use of it. The Moto Watch Ultra also boasts an onboard microphone and speaker for taking on-wrist calls. </p><h3 class="article-body__section" id="section-moto-watch-ultra-health-and-fitness-tracking"><span>Moto Watch Ultra: Health and fitness tracking </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="i9rKNNtdsd7f5nw6DTTqCb" name="Moto Watch Ultra-3" alt="Close-up of the new Moto Watch Ultra LTE smartwatch at IFA 2026 in Berin" src="https://cdn.mos.cms.futurecdn.net/i9rKNNtdsd7f5nw6DTTqCb-1920-80.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: Anthony Spadafora/Tom's Guide)</span></figcaption></figure><p>For health and fitness tracking, Motorola has partnered with the Finnish smartwatch maker <a href="https://www.tomsguide.com/wellness/smartwatches/watch-out-garmin-this-new-polar-watch-has-a-built-in-flashlight-and-a-tiny-price-tag">Polar</a>. Like most modern smartwatches, the Moto Watch Ultra logs your sleep quality, including sleep stages, workouts, productivity, and energy levels. </p><p>Dual-band GPS ensures accurate tracking when logging outdoor activities, without the need to carry a paired smartphone. It also features a personalized running coach to help you train for events like marathons. </p><h3 class="article-body__section" id="section-moto-watch-ultra-battery-life"><span>Moto Watch Ultra: Battery life</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:2236px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="fZYwpEgc32pwvcEhUCevEA" name="MotoWatchUltra-05" alt="Close-up of the Moto Watch Ultra smartwatch" src="https://cdn.mos.cms.futurecdn.net/fZYwpEgc32pwvcEhUCevEA-1920-80.jpg" mos="" align="middle" fullscreen="" width="2236" height="1258" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Motorola )</span></figcaption></figure><p>Motorola is a bit vague about battery life, saying only that the Moto Watch Ultra should last up to two days when not using the always-on display mode. The brand also mentioned that a 15-minute charge should provide enough power for 24 hours of use. This seemingly suggests a full recharge takes only 30 minutes (but I will confirm).</p><p>48 hours of battery life without the always-on display puts the Moto Watch Ultra a little ahead of the Apple Watch 11, which lasts roughly 38 hours per charge sans always-on. The Pixel Watch 5, meanwhile, lasts for 72 hours or more without the always-on screen function.</p><h3 class="article-body__section" id="section-moto-watch-ultra-outlook"><span>Moto Watch Ultra: Outlook </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:2009px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6j6YSt4EGLtmEzvHZwNGMA" name="MotoWatchUltra-06" alt="Close-up of the Moto Watch Ultra smartwatch" src="https://cdn.mos.cms.futurecdn.net/6j6YSt4EGLtmEzvHZwNGMA-1920-80.jpg" mos="" align="middle" fullscreen="" width="2009" height="1130" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Motorola )</span></figcaption></figure><p>I’m always excited to see a new full-featured smartwatch come to market that doesn’t have Apple, Pixel, or Galaxy in its name. </p><p>The Moto Watch Ultra is cheaper than its closest competitors, namely the Pixel Watch 5 and Galaxy Watch 9, while boasting an arguably more premium design.</p><p>Motorola was wise to again partner with Polar for all things fitness and holistic; the brand is a trusted player in the space. Similarly, Google’s Wear OS platform ensures a smooth, bug-free user experience. </p><p>Ultimately, if the Moto Watch Ultra proves as capable as the <a href="https://www.tomsguide.com/best-picks/best-smartwatches-android">best smartwatches for Android</a>, it could be the perfect antidote to a market currently dominated by Google and Samsung.</p><p>What are your thoughts on the new Moto Watch Ultra LTE smartwatch? Would you consider swapping out your Pixel Watch or Galaxy Watch for it? Are there any important features it’s missing? Let me know in the comments below. </p><h2 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h2><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/forget-whoop-3-major-differences-between-the-subscription-free-luna-band-and-garmin-cirqa">Forget Whoop — 3 major differences between the subscription-free Luna Band and Garmin Cirqa</a></li><li><a href="https://www.tomsguide.com/wellness/smart-rings/i-just-went-hands-on-with-the-new-circular-ring-3-and-it-beats-the-oura-ring-5-in-3-big-ways">I just went hands-on with the new Circular Ring 3 — and it beats the Oura Ring 5 in 3 big ways</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/i-hiked-7-miles-with-the-garmin-instinct-3-vs-samsung-galaxy-watch-9-and-the-winner-is-clear-as-day">I hiked 7 miles with the Garmin Instinct 3 vs Samsung Galaxy Watch 9 — and the winner is clear as day</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/smartwatches/i-just-went-hands-on-with-motorolas-first-lte-smartwatch-and-google-and-samsung-should-be-worried</link>
                                                                            <description>
                            <![CDATA[ The Moto Watch Ultra is Motorola’s first smartwatch with LTE. It also runs on Google’s Wear OS and even supports Gemini AI features. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">F7s8pDzALBoQp6LJpfoekS</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/9ymhi2rEvxfYgVxuunX2Lb-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 05 Sep 2026 14:38:28 +0000</pubDate>                                                                                                                                <updated>Sat, 05 Sep 2026 15:17:57 +0000</updated>
                                                                                                                                            <category><![CDATA[Smartwatches]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                                                                <author><![CDATA[ dan.bracaglia@futurenet.com (Dan Bracaglia) ]]></author>                    <dc:creator><![CDATA[ Dan Bracaglia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3Ev8EFrheNxPemMWSBaKcK-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&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/9ymhi2rEvxfYgVxuunX2Lb-1280-80.jpg">
                                                            <media:credit><![CDATA[Anthony Spadafora/Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Close-up of the new Moto Watch Ultra LTE smartwatch at IFA 2026 in Berin]]></media:description>                                                            <media:text><![CDATA[Close-up of the new Moto Watch Ultra LTE smartwatch at IFA 2026 in Berin]]></media:text>
                                <media:title type="plain"><![CDATA[Close-up of the new Moto Watch Ultra LTE smartwatch at IFA 2026 in Berin]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/9ymhi2rEvxfYgVxuunX2Lb-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>One of the biggest surprises out of <a href="https://www.tomsguide.com/tech-events/best-of-ifa-2026-we-found-the-26-top-new-gadgets">IFA 2026 </a>in Berlin, from a wearable tech perspective, is the debut of Motorola’s first LTE smartwatch. The new Moto Watch Ultra boasts some darn impressive features and specs, like support for Gemini AI, detailed sleep insights, and a brushed stainless steel case, but can it really compete with the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a> out there?</p><p>I got my first look at the new Motorola Moto Watch Ultra at IFA 2026 and was pleasantly surprised by all that it offers. So, should Google and Samsung be worried? Maybe! Here’s everything you need to know about the Moto Watch Ultra. </p><h3 class="article-body__section" id="section-moto-watch-ultra-price-and-availability"><span>Moto Watch Ultra: price and availability </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="YBhMT6yBBXxyW3JTQe3GCb" name="Moto Watch Ultra-4" alt="Close-up of the new Moto Watch Ultra LTE smartwatch at IFA 2026 in Berin" src="https://cdn.mos.cms.futurecdn.net/YBhMT6yBBXxyW3JTQe3GCb-1920-80.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: Anthony Spadafora/Tom's Guide)</span></figcaption></figure><p>The Moto Watch Ultra will initially debut in European markets for around 429 euros. According to Motorola, it should hit store shelves within the next few weeks. </p><p>In Uncle Sam's house, the Moto Watch Ultra will be available starting on September 10th for $349 via Motorola and Amazon. That makes it a better value than other flagship smartwatches, like the <a href="https://www.tomsguide.com/wellness/smartwatches/google-pixel-watch5-review">Google Pixel Watch 5</a> (from $399),  <a href="https://www.tomsguide.com/wellness/smartwatches/i-wore-the-samsung-galaxy-watch-9-for-a-month-the-new-health-tools-impress-but-that-doesnt-mean-you-should-upgrade">Samsung Galaxy Watch 9</a> (from $379), and <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-series-11-review">Apple Watch Series 11</a> (from $399).</p><h3 class="article-body__section" id="section-moto-watch-ultra-design"><span>Moto Watch Ultra: design</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="TuahqyBcrowTeXY8k4uTxa" name="Moto Watch Ultra-2" alt="Close-up of the new Moto Watch Ultra LTE smartwatch at IFA 2026 in Berin" src="https://cdn.mos.cms.futurecdn.net/TuahqyBcrowTeXY8k4uTxa-1920-80.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: Anthony Spadafora/Tom's Guide)</span></figcaption></figure><p>Despite its slightly more affordable price, the Moto Watch Ultra features a surprisingly premium design. The case is made entirely from brushed stainless steel and is paired with a 1.5-inch OLED touchscreen. Max screen brightness is 2,700 nits, a little behind the Pixel Watch 5 and Galaxy Watch 9 (3,000 nits) but ahead of the Apple Watch 11 (2,000 nits). </p><p>Two physical controls adorn one side of the case, including a standard button and a digital crown that doubles as a button. </p><p>The 46mm case is on the chunkier side and is noticeably thicker (12.1mm) than many of the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a> I've tested. Weighing in at 51 g, it's also heavier than most full-featured flagships but lighter than rugged models like the <a href="https://www.tomsguide.com/wellness/smartwatches/apple-watch-ultra-3-review">Apple Watch Ultra 3</a> and <a href="https://www.tomsguide.com/wellness/smartwatches/galaxy-watch-ultra-2-hands-on-review">Galaxy Watch Ultra 2</a>. </p><h3 class="article-body__section" id="section-moto-watch-ultra-os-and-connectivity"><span>Moto Watch Ultra: OS and connectivity </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:1859px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="G94dvF85yNwk8fgSre4J8Z" name="MotoWatchUltra-08" alt="Close-up of the new Moto Watch Ultra" src="https://cdn.mos.cms.futurecdn.net/G94dvF85yNwk8fgSre4J8Z-1920-80.jpg" mos="" align="middle" fullscreen="" width="1859" height="1046" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Motorola )</span></figcaption></figure><p>The Moto Watch Ultra runs on Google’s excellent/refined Wear OS platform, which also means support for useful apps like Google Wallet and Google Translate, as well as Gemini AI features. The smartwatch ships running Wear OS 6, and Motorola promises support for up to two future OS updates.  </p><p>An LTE antenna unlocks on-the-go connectivity without a paired smartphone, though you’ll need a data plan to make use of it. The Moto Watch Ultra also boasts an onboard microphone and speaker for taking on-wrist calls. </p><h3 class="article-body__section" id="section-moto-watch-ultra-health-and-fitness-tracking"><span>Moto Watch Ultra: Health and fitness tracking </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="i9rKNNtdsd7f5nw6DTTqCb" name="Moto Watch Ultra-3" alt="Close-up of the new Moto Watch Ultra LTE smartwatch at IFA 2026 in Berin" src="https://cdn.mos.cms.futurecdn.net/i9rKNNtdsd7f5nw6DTTqCb-1920-80.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: Anthony Spadafora/Tom's Guide)</span></figcaption></figure><p>For health and fitness tracking, Motorola has partnered with the Finnish smartwatch maker <a href="https://www.tomsguide.com/wellness/smartwatches/watch-out-garmin-this-new-polar-watch-has-a-built-in-flashlight-and-a-tiny-price-tag">Polar</a>. Like most modern smartwatches, the Moto Watch Ultra logs your sleep quality, including sleep stages, workouts, productivity, and energy levels. </p><p>Dual-band GPS ensures accurate tracking when logging outdoor activities, without the need to carry a paired smartphone. It also features a personalized running coach to help you train for events like marathons. </p><h3 class="article-body__section" id="section-moto-watch-ultra-battery-life"><span>Moto Watch Ultra: Battery life</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:2236px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="fZYwpEgc32pwvcEhUCevEA" name="MotoWatchUltra-05" alt="Close-up of the Moto Watch Ultra smartwatch" src="https://cdn.mos.cms.futurecdn.net/fZYwpEgc32pwvcEhUCevEA-1920-80.jpg" mos="" align="middle" fullscreen="" width="2236" height="1258" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Motorola )</span></figcaption></figure><p>Motorola is a bit vague about battery life, saying only that the Moto Watch Ultra should last up to two days when not using the always-on display mode. The brand also mentioned that a 15-minute charge should provide enough power for 24 hours of use. This seemingly suggests a full recharge takes only 30 minutes (but I will confirm).</p><p>48 hours of battery life without the always-on display puts the Moto Watch Ultra a little ahead of the Apple Watch 11, which lasts roughly 38 hours per charge sans always-on. The Pixel Watch 5, meanwhile, lasts for 72 hours or more without the always-on screen function.</p><h3 class="article-body__section" id="section-moto-watch-ultra-outlook"><span>Moto Watch Ultra: Outlook </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:2009px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="6j6YSt4EGLtmEzvHZwNGMA" name="MotoWatchUltra-06" alt="Close-up of the Moto Watch Ultra smartwatch" src="https://cdn.mos.cms.futurecdn.net/6j6YSt4EGLtmEzvHZwNGMA-1920-80.jpg" mos="" align="middle" fullscreen="" width="2009" height="1130" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Motorola )</span></figcaption></figure><p>I’m always excited to see a new full-featured smartwatch come to market that doesn’t have Apple, Pixel, or Galaxy in its name. </p><p>The Moto Watch Ultra is cheaper than its closest competitors, namely the Pixel Watch 5 and Galaxy Watch 9, while boasting an arguably more premium design.</p><p>Motorola was wise to again partner with Polar for all things fitness and holistic; the brand is a trusted player in the space. Similarly, Google’s Wear OS platform ensures a smooth, bug-free user experience. </p><p>Ultimately, if the Moto Watch Ultra proves as capable as the <a href="https://www.tomsguide.com/best-picks/best-smartwatches-android">best smartwatches for Android</a>, it could be the perfect antidote to a market currently dominated by Google and Samsung.</p><p>What are your thoughts on the new Moto Watch Ultra LTE smartwatch? Would you consider swapping out your Pixel Watch or Galaxy Watch for it? Are there any important features it’s missing? Let me know in the comments below. </p><h2 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h2><ul><li><a href="https://www.tomsguide.com/wellness/fitness-trackers/forget-whoop-3-major-differences-between-the-subscription-free-luna-band-and-garmin-cirqa">Forget Whoop — 3 major differences between the subscription-free Luna Band and Garmin Cirqa</a></li><li><a href="https://www.tomsguide.com/wellness/smart-rings/i-just-went-hands-on-with-the-new-circular-ring-3-and-it-beats-the-oura-ring-5-in-3-big-ways">I just went hands-on with the new Circular Ring 3 — and it beats the Oura Ring 5 in 3 big ways</a></li><li><a href="https://www.tomsguide.com/wellness/smartwatches/i-hiked-7-miles-with-the-garmin-instinct-3-vs-samsung-galaxy-watch-9-and-the-winner-is-clear-as-day">I hiked 7 miles with the Garmin Instinct 3 vs Samsung Galaxy Watch 9 — and the winner is clear as day</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ This tiny AI box could save me from upgrading my perfectly good laptop ]]></title>
                                                                                                <dc:content><![CDATA[ <p>There's been a sudden surge of AI agents that can help you perform tasks on your PC, even while you're away. You've probably heard about tools like <a href="https://www.tomsguide.com/ai/openclaw-is-the-viral-ai-assistant-that-lives-on-your-device-what-you-need-to-know">OpenClaw</a>, which can run autonomously on your behalf. But one of the problems with running these kinds of agents locally is that they often require plenty of hardware resources to function properly.</p><p>I'm not someone who changes laptops every year. I still use a <a href="https://www.tomsguide.com/computing/macbooks/the-macbook-air-m3-is-my-daily-driver-and-it-just-crashed-to-usd799-for-prime-day">MacBook Air M3</a> from 2023, and I'll probably continue using it until it gives up on me, which hopefully won't be for another five to seven years. But that also means my laptop isn't necessarily built for running powerful local AI agents, and upgrading my entire computer just for that doesn't make much sense.</p><p>Well, for people like me, Violoop might have an interesting solution. The company has just showcased its new hardware AI agent at <a href="https://www.tomsguide.com/tag/ifa-2026">IFA 2026</a>, and unlike software agents that run directly on your laptop, use its resources, and potentially drain more battery, Violoop is a separate device that connects to your computer and handles much of the AI processing itself.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yVJ3VTKvbAdvhcrzgS6TVi" name="violoop-hands-on-1" alt="Hands-on with the Violoop AI box at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/yVJ3VTKvbAdvhcrzgS6TVi-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>Similar to software-based agents, Violoop is screen-aware. It can understand what's happening on your display and help perform tasks based on that context. For example, if someone asks you to send them an address, Violoop can pull up the relevant information and fill it in for you. If you're looking at a long PDF that you don't have time to read, you can ask it to summarize the document instead.</p><p>The idea is that the device gradually understands you better the more you use it. Violoop builds what the company calls a continuous memory graph, which learns about your workflows, preferences, and patterns over time so the agent has more context when you're asking it to do something.</p><p>Of course, having an AI constantly looking at what's on your screen and building a memory around what you do immediately raises some privacy questions. Violoop says it has taken a local-first approach here. Screen data is processed directly on the device and, according to the company, is never transmitted to the cloud.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XGFFhczbzUjbCwk4qmUnZi" name="violoop-hands-on-3" alt="Hands-on with the Violoop AI box at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/XGFFhczbzUjbCwk4qmUnZi-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>Inside, there's an 8-billion-parameter local AI model with 26 TOPS of on-device AI performance handling these tasks. When Violoop does need to use the cloud, the company says it sends "only the information necessary" to complete the task, while your screen itself is never streamed.</p><p>There's also a dedicated STM32H563 security processor for handling approvals around sensitive tasks. The company says you'll be able to connect your preferred AI services, including ChatGPT, Claude, Gemini, and others.</p><p>The hardware itself is also pretty interesting. There's a small display on the front showing things like the time and what the AI agent is currently doing. The whole thing almost looks like a tiny old-school computer monitor sitting next to your laptop, which I actually quite like.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="fHuRpEZMWPS6N2kTr2R6ai" name="violoop-hands-on-4" alt="Hands-on with the Violoop AI box at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/fHuRpEZMWPS6N2kTr2R6ai-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>One thing worth noting is that Violoop isn't powered directly through your laptop's USB-C port. It requires its own external power source. Around the back, you'll find three connections: USB-C, HDMI, and a dedicated power input.</p><p>There's also a physical button on top that acts as a hardware-level approval key. When the agent wants to perform a sensitive action or something that involves multiple steps, you can physically press the button to approve it rather than letting the AI simply go ahead on its own.</p><p>Perhaps the most interesting part for me is that Violoop isn't tied to one operating system. The company says it works with both Windows and macOS, and setup is supposed to be largely plug-and-play. At least, that's what Violoop tells me.</p><p>Violoop is launching on <a href="http://kickstarter.com/projects/bvio/violoop-plug-in-ai-for-your-computer">Kickstarter</a> on September 15, 2026, with an introductory price of $399. The company expects to begin shipping in mid-October, after which the device is expected to be more widely available for $799.</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/laptops/best-laptops-of-ifa-2026-wild-colors-ultrathin-designs-and-rollable-displays">Best laptops of IFA 2026: Wild colors, ultrathin designs and rollable displays</a></li><li><a href="https://www.tomsguide.com/gaming/handheld-gaming/acer-predator-atlas-7-hands-on-ifa-2026">I tried Acer's new 7-inch gaming handheld at IFA 2026 — this might be the sweet spot</a></li><li><a href="https://www.tomsguide.com/computing/laptops/dell-14s-hands-on-ifa-2026">I used Dell's latest MacBook Neo rival — and I'm not complaining about having another one</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/laptops/violoop-hands-on-ifa-2026</link>
                                                                            <description>
                            <![CDATA[ Violoop is a standalone hardware AI agent that connects to your laptop and handles AI processing without using your computer's own resources. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">6QgKVL2ajjhomyufGQV57g</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/B6hUjNrNcpYQiezaSjWsUi-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 05 Sep 2026 14:18:20 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Laptops]]></category>
                                                    <category><![CDATA[Computing Peripherals]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sanuj Bhatia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/8p5BvMVA7cnu5AWkxnTjRC-320-70.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/B6hUjNrNcpYQiezaSjWsUi-1280-80.jpg">
                                                            <media:credit><![CDATA[Sanuj Bhatia / Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Hands-on with the Violoop AI box at IFA 2026]]></media:description>                                                            <media:text><![CDATA[Hands-on with the Violoop AI box at IFA 2026]]></media:text>
                                <media:title type="plain"><![CDATA[Hands-on with the Violoop AI box at IFA 2026]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/B6hUjNrNcpYQiezaSjWsUi-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>There's been a sudden surge of AI agents that can help you perform tasks on your PC, even while you're away. You've probably heard about tools like <a href="https://www.tomsguide.com/ai/openclaw-is-the-viral-ai-assistant-that-lives-on-your-device-what-you-need-to-know">OpenClaw</a>, which can run autonomously on your behalf. But one of the problems with running these kinds of agents locally is that they often require plenty of hardware resources to function properly.</p><p>I'm not someone who changes laptops every year. I still use a <a href="https://www.tomsguide.com/computing/macbooks/the-macbook-air-m3-is-my-daily-driver-and-it-just-crashed-to-usd799-for-prime-day">MacBook Air M3</a> from 2023, and I'll probably continue using it until it gives up on me, which hopefully won't be for another five to seven years. But that also means my laptop isn't necessarily built for running powerful local AI agents, and upgrading my entire computer just for that doesn't make much sense.</p><p>Well, for people like me, Violoop might have an interesting solution. The company has just showcased its new hardware AI agent at <a href="https://www.tomsguide.com/tag/ifa-2026">IFA 2026</a>, and unlike software agents that run directly on your laptop, use its resources, and potentially drain more battery, Violoop is a separate device that connects to your computer and handles much of the AI processing itself.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="yVJ3VTKvbAdvhcrzgS6TVi" name="violoop-hands-on-1" alt="Hands-on with the Violoop AI box at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/yVJ3VTKvbAdvhcrzgS6TVi-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>Similar to software-based agents, Violoop is screen-aware. It can understand what's happening on your display and help perform tasks based on that context. For example, if someone asks you to send them an address, Violoop can pull up the relevant information and fill it in for you. If you're looking at a long PDF that you don't have time to read, you can ask it to summarize the document instead.</p><p>The idea is that the device gradually understands you better the more you use it. Violoop builds what the company calls a continuous memory graph, which learns about your workflows, preferences, and patterns over time so the agent has more context when you're asking it to do something.</p><p>Of course, having an AI constantly looking at what's on your screen and building a memory around what you do immediately raises some privacy questions. Violoop says it has taken a local-first approach here. Screen data is processed directly on the device and, according to the company, is never transmitted to the cloud.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="XGFFhczbzUjbCwk4qmUnZi" name="violoop-hands-on-3" alt="Hands-on with the Violoop AI box at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/XGFFhczbzUjbCwk4qmUnZi-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>Inside, there's an 8-billion-parameter local AI model with 26 TOPS of on-device AI performance handling these tasks. When Violoop does need to use the cloud, the company says it sends "only the information necessary" to complete the task, while your screen itself is never streamed.</p><p>There's also a dedicated STM32H563 security processor for handling approvals around sensitive tasks. The company says you'll be able to connect your preferred AI services, including ChatGPT, Claude, Gemini, and others.</p><p>The hardware itself is also pretty interesting. There's a small display on the front showing things like the time and what the AI agent is currently doing. The whole thing almost looks like a tiny old-school computer monitor sitting next to your laptop, which I actually quite like.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="fHuRpEZMWPS6N2kTr2R6ai" name="violoop-hands-on-4" alt="Hands-on with the Violoop AI box at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/fHuRpEZMWPS6N2kTr2R6ai-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>One thing worth noting is that Violoop isn't powered directly through your laptop's USB-C port. It requires its own external power source. Around the back, you'll find three connections: USB-C, HDMI, and a dedicated power input.</p><p>There's also a physical button on top that acts as a hardware-level approval key. When the agent wants to perform a sensitive action or something that involves multiple steps, you can physically press the button to approve it rather than letting the AI simply go ahead on its own.</p><p>Perhaps the most interesting part for me is that Violoop isn't tied to one operating system. The company says it works with both Windows and macOS, and setup is supposed to be largely plug-and-play. At least, that's what Violoop tells me.</p><p>Violoop is launching on <a href="http://kickstarter.com/projects/bvio/violoop-plug-in-ai-for-your-computer">Kickstarter</a> on September 15, 2026, with an introductory price of $399. The company expects to begin shipping in mid-October, after which the device is expected to be more widely available for $799.</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/laptops/best-laptops-of-ifa-2026-wild-colors-ultrathin-designs-and-rollable-displays">Best laptops of IFA 2026: Wild colors, ultrathin designs and rollable displays</a></li><li><a href="https://www.tomsguide.com/gaming/handheld-gaming/acer-predator-atlas-7-hands-on-ifa-2026">I tried Acer's new 7-inch gaming handheld at IFA 2026 — this might be the sweet spot</a></li><li><a href="https://www.tomsguide.com/computing/laptops/dell-14s-hands-on-ifa-2026">I used Dell's latest MacBook Neo rival — and I'm not complaining about having another one</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I put Tecno's zero-bezel phone next to an iPhone 17 Pro Max — the difference is wild ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Tecno always manages to bring some crazy concepts to trade shows. Last year, we saw the company debut an <a href="https://www.tomsguide.com/phones/android-phones/i-just-went-hands-on-with-the-worlds-slimmest-smartphone-at-mwc">iPhone Air competitor</a> — even before the <a href="https://www.tomsguide.com/phones/iphones/iphone-air-vs-iphone-17-pro-vs-pro-max-which-new-iphone-should-you-buy">iPhone Air</a> became a thing — that too with a huge 5,160 mAh battery inside. </p><p>Then at MWC 2026, we saw its <a href="https://www.tomsguide.com/phones/android-phones/this-modular-phone-concept-lets-you-connect-anything-from-an-external-microphone-to-a-whole-camera-lens-via-magnets">modular phone concept</a>. And Tecno isn't holding back at <a href="https://www.tomsguide.com/tech-events/best-of-ifa-2026-we-found-the-26-top-new-gadgets">IFA 2026</a> either, as it has just shown off a new concept phone with practically zero bezel around the display.</p><p>Now, for those unfamiliar, the bezel is basically the black border that surrounds the display on your phone. Smartphone makers have been trying to shrink it for years, with the ultimate goal of maximizing the screen-to-body ratio and making the display take up as much of the front as possible. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7gYrSffGrL7uByXtTQSY4N" name="tecno-concept-bezel-free-3" alt="Hands-on with the Tecno bezel-free smartphone at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/7gYrSffGrL7uByXtTQSY4N-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>There was slow but steady progress for a while, but bezel innovation has sort of stalled over the past couple of years. And to be fair, I don't think we really needed much more progress. Flagships like the <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-review">iPhone 17 Pro Max</a> and <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-s26-ultra-vs-galaxy-s25-ultra">Galaxy S26 Ultra</a> already have incredibly thin bezels, to the point where they barely bother me anymore. </p><p>But Tecno's new concept proves that it's technically possible to go even further and shrink those bezels to (almost) zero. </p><p>The company has managed to practically eliminate the black border around the display, as long as you don't mind the actual frame of the phone still being there. Tecno says this is strictly a concept for now, but it could give us an early look at where smartphone displays are heading next. </p><p>The concept phone features a 6.78-inch display with a 144 Hz refresh rate, and a screen appears to go all the way to the furthest edges of the device. Of course, the physical frame is still there to hold everything together, but there's virtually no visible black border separating it from the display. If you look closely from certain angles, you can still make out a teeny-tiny border, but you really have to look for 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YP9CDYLt5G5kmArgowcQ5N" name="tecno-vs-iphone-1" alt="Hands-on with the Tecno bezel-free smartphone at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/YP9CDYLt5G5kmArgowcQ5N-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>In isolation, though, I don't think you immediately realize how different it looks. So I put the Tecno concept next to an <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-review">iPhone 17 Pro Max</a>, and that's where the difference became much easier to see. The iPhone already has incredibly thin bezels at around 1.36 mm, but next to Tecno's concept, even those look <em>slightly</em> noticeable. </p><p>Getting the bezel this thin wasn't simple. Tecno says it had to completely redesign the display manufacturing process to achieve it. The company had to invent an inverted screen assembly process, which means the entire display module is now inserted from the back of the phone instead of from the front, as is usually the case.</p><p>Apart from the bezel-less display, the rest of the phone isn't quite as exciting, but then again, this is a concept device, so it doesn't really need to be. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="KpDWn4FZCXbf5PtkiQoRoM" name="tecno-concept-bezel-free-4" alt="Hands-on with the Tecno bezel-free smartphone at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/KpDWn4FZCXbf5PtkiQoRoM-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>One thing that did surprise me was the weight, or rather the lack of it. The phone felt incredibly light in the hand, and that's coming from someone who daily-drives an <a href="https://www.tomsguide.com/phones/iphones/iphone-air-review">iPhone Air</a>. </p><p>What's even more impressive is that Tecno has managed to fit a massive 6,000 mAh battery inside. The concept is powered by the MediaTek Dimensity 7300e, which obviously isn't going to win any benchmark competitions, but performance isn't really the point of this device. </p><p>The star here is that zero-border display, and Tecno has shown that something like this is actually possible. It's a shame that the phone may never make it beyond the concept stage, because after seeing it in person, I definitely want this kind of display on a phone I can actually buy soon. </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/earbuds/i-just-went-hands-on-with-the-worlds-smallest-earbuds-heres-what-happened-and-yes-they-have-anc-now">I just went hands-on with the world's smallest earbuds — here's what happened (and yes, they have ANC now)</a></li><li><a href="https://www.tomsguide.com/phones/motorola-phones/motorola-just-gave-the-razr-a-crystal-studded-glow-up-with-35-swarovski-crystals-and-i-cant-believe-how-much-i-like-it">Motorola just gave the Razr a gem-studded glow-up with 35 Swarovski Crystals — and I can't believe how much I like it</a></li><li><a href="https://www.tomsguide.com/phones/iphones/ive-tested-every-major-foldable-phone-this-year-and-the-iphone-ultra-can-beat-them-all-with-this-one-killer-feature">I've tested every major foldable phone this year, and the iPhone Ultra can beat them all with this one killer feature</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/android-phones/tecno-bezel-less-phone-hands-on-ifa-2026</link>
                                                                            <description>
                            <![CDATA[ Tecno's new IFA 2026 concept phone features a 6.78-inch display with virtually no visible bezel separating the screen from the frame. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">FyxhuSd5C4Rs3NEnAvjjLJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/V3o2ZbGdFyyLPdt3U3fthX-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 05 Sep 2026 12:03:05 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Android Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sanuj Bhatia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/8p5BvMVA7cnu5AWkxnTjRC-320-70.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/V3o2ZbGdFyyLPdt3U3fthX-1280-80.jpg">
                                                            <media:credit><![CDATA[Sanuj Bhatia / Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Hands-on with Tecno&#039;s bezel-less concept smartphone at IFA 2026]]></media:description>                                                            <media:text><![CDATA[Hands-on with Tecno&#039;s bezel-less concept smartphone at IFA 2026]]></media:text>
                                <media:title type="plain"><![CDATA[Hands-on with Tecno&#039;s bezel-less concept smartphone at IFA 2026]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/V3o2ZbGdFyyLPdt3U3fthX-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Tecno always manages to bring some crazy concepts to trade shows. Last year, we saw the company debut an <a href="https://www.tomsguide.com/phones/android-phones/i-just-went-hands-on-with-the-worlds-slimmest-smartphone-at-mwc">iPhone Air competitor</a> — even before the <a href="https://www.tomsguide.com/phones/iphones/iphone-air-vs-iphone-17-pro-vs-pro-max-which-new-iphone-should-you-buy">iPhone Air</a> became a thing — that too with a huge 5,160 mAh battery inside. </p><p>Then at MWC 2026, we saw its <a href="https://www.tomsguide.com/phones/android-phones/this-modular-phone-concept-lets-you-connect-anything-from-an-external-microphone-to-a-whole-camera-lens-via-magnets">modular phone concept</a>. And Tecno isn't holding back at <a href="https://www.tomsguide.com/tech-events/best-of-ifa-2026-we-found-the-26-top-new-gadgets">IFA 2026</a> either, as it has just shown off a new concept phone with practically zero bezel around the display.</p><p>Now, for those unfamiliar, the bezel is basically the black border that surrounds the display on your phone. Smartphone makers have been trying to shrink it for years, with the ultimate goal of maximizing the screen-to-body ratio and making the display take up as much of the front as possible. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="7gYrSffGrL7uByXtTQSY4N" name="tecno-concept-bezel-free-3" alt="Hands-on with the Tecno bezel-free smartphone at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/7gYrSffGrL7uByXtTQSY4N-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>There was slow but steady progress for a while, but bezel innovation has sort of stalled over the past couple of years. And to be fair, I don't think we really needed much more progress. Flagships like the <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-review">iPhone 17 Pro Max</a> and <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-s26-ultra-vs-galaxy-s25-ultra">Galaxy S26 Ultra</a> already have incredibly thin bezels, to the point where they barely bother me anymore. </p><p>But Tecno's new concept proves that it's technically possible to go even further and shrink those bezels to (almost) zero. </p><p>The company has managed to practically eliminate the black border around the display, as long as you don't mind the actual frame of the phone still being there. Tecno says this is strictly a concept for now, but it could give us an early look at where smartphone displays are heading next. </p><p>The concept phone features a 6.78-inch display with a 144 Hz refresh rate, and a screen appears to go all the way to the furthest edges of the device. Of course, the physical frame is still there to hold everything together, but there's virtually no visible black border separating it from the display. If you look closely from certain angles, you can still make out a teeny-tiny border, but you really have to look for 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="YP9CDYLt5G5kmArgowcQ5N" name="tecno-vs-iphone-1" alt="Hands-on with the Tecno bezel-free smartphone at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/YP9CDYLt5G5kmArgowcQ5N-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>In isolation, though, I don't think you immediately realize how different it looks. So I put the Tecno concept next to an <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-review">iPhone 17 Pro Max</a>, and that's where the difference became much easier to see. The iPhone already has incredibly thin bezels at around 1.36 mm, but next to Tecno's concept, even those look <em>slightly</em> noticeable. </p><p>Getting the bezel this thin wasn't simple. Tecno says it had to completely redesign the display manufacturing process to achieve it. The company had to invent an inverted screen assembly process, which means the entire display module is now inserted from the back of the phone instead of from the front, as is usually the case.</p><p>Apart from the bezel-less display, the rest of the phone isn't quite as exciting, but then again, this is a concept device, so it doesn't really need to be. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="KpDWn4FZCXbf5PtkiQoRoM" name="tecno-concept-bezel-free-4" alt="Hands-on with the Tecno bezel-free smartphone at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/KpDWn4FZCXbf5PtkiQoRoM-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>One thing that did surprise me was the weight, or rather the lack of it. The phone felt incredibly light in the hand, and that's coming from someone who daily-drives an <a href="https://www.tomsguide.com/phones/iphones/iphone-air-review">iPhone Air</a>. </p><p>What's even more impressive is that Tecno has managed to fit a massive 6,000 mAh battery inside. The concept is powered by the MediaTek Dimensity 7300e, which obviously isn't going to win any benchmark competitions, but performance isn't really the point of this device. </p><p>The star here is that zero-border display, and Tecno has shown that something like this is actually possible. It's a shame that the phone may never make it beyond the concept stage, because after seeing it in person, I definitely want this kind of display on a phone I can actually buy soon. </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/earbuds/i-just-went-hands-on-with-the-worlds-smallest-earbuds-heres-what-happened-and-yes-they-have-anc-now">I just went hands-on with the world's smallest earbuds — here's what happened (and yes, they have ANC now)</a></li><li><a href="https://www.tomsguide.com/phones/motorola-phones/motorola-just-gave-the-razr-a-crystal-studded-glow-up-with-35-swarovski-crystals-and-i-cant-believe-how-much-i-like-it">Motorola just gave the Razr a gem-studded glow-up with 35 Swarovski Crystals — and I can't believe how much I like it</a></li><li><a href="https://www.tomsguide.com/phones/iphones/ive-tested-every-major-foldable-phone-this-year-and-the-iphone-ultra-can-beat-them-all-with-this-one-killer-feature">I've tested every major foldable phone this year, and the iPhone Ultra can beat them all with this one killer feature</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I just tried Ecovacs' robot vacuum of the future — and as a pet owner, I'm beyond floored ]]></title>
                                                                                                <dc:content><![CDATA[ <p>As the joyful caregiver for an 18-pound Long-haired Chihuahua-Dachshund-Miniature Pinscher mix, I know a thing or two about dirty floors. Belvedere, mensch that he is, sheds like a madman. He’s also known to be a bit messy when it comes to wolfing down delicacies like raspberries, his favorite treat.</p><p>As a result, my partner and I spend countless hours a week vacuuming and swiffering to keep the dog-hair tumbleweeds and sticky floors to a minimum. If only there were a robot that could actually handle cleaning up after my all-time best pal. </p><p>Enter: The Ecovacs Deebot X12S OmniCycle.</p><h2 id="1-it-s-a-high-power-vacuum-and-wet-mop-in-one">1. It’s a high-power vacuum and wet mop in 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tX3t9wGKJp5B6xkFpwg8YX" name="EcoVacs-X12S-03" alt="close-up of the Ecovacs Deebot X12S robotm vacuum at IFA 2026 in Berlin" src="https://cdn.mos.cms.futurecdn.net/tX3t9wGKJp5B6xkFpwg8YX-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>I just got my hands on the new Ecovacs Deebot X12S OmniCycle robot vacuum at the <a href="https://www.tomsguide.com/tech-events/best-of-ifa-2026-we-found-the-26-top-new-gadgets">IFA show in Berlin</a>, and dear readers, I am floored (some pun intended) by all its features and specs. </p><p>It’s been nearly a decade since I seriously considered purchasing a robot vacuum to assist around the house, and now I’m questioning why; they've really come a long way! </p><p>Make no mistake: the Deebot X12S OmniCycle is Ecovacs’ creme de la creme of consumer robot vacuums, but it’s honestly so much more than that. Sure, it’s got enough power to suck a bad joke right out of the air (or 27,000 Pa of suction), but it’s also a full-blown, automated wet mop with automatic spray action. </p><p>Translation: the grime on your hardwood floors and carpets stands no chance against this bad boy. For sticky messes, built-in sprayers soak down the gunk, while a plush, wet/dry roller underneath soaks up all the nastiness, leaving a floor so shiny, you’ll be seeing your own reflection. </p><h2 id="2-auto-cleaning-eliminates-the-yuck-factor">2. Auto-cleaning eliminates the ‘yuck’ factor</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="DJjK9QyTHufLePYAdruyFX" name="EcoVacs-X12S-06" alt="close-up of the Ecovacs Deebot X12S robotm vacuum at IFA 2026 in Berlin" src="https://cdn.mos.cms.futurecdn.net/DJjK9QyTHufLePYAdruyFX-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>But wait, a robot vacuum that doubles as a robot mop must require all sorts of regular maintenance? No, sir. Ecovacs sells a couple of different docks for the X12S, but all of them feature a thorough auto-clean function that uses pressure washing to thoroughly sanitize the robot’s roller and other mopping components. </p><h2 id="3-rapid-charging-limits-cleaning-downtime">3. Rapid-charging limits cleaning downtime </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="9viaVWXWJ7DH7AYpKCLzNo" name="Ecovacs-DEEBOT-X12S-b" alt="Close-up of the new Ecovacs Deebot X12S robot vacuum at IFA 2026 in Berlin" src="https://cdn.mos.cms.futurecdn.net/9viaVWXWJ7DH7AYpKCLzNo-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Need a lot of rooms cleaned? No problem. The Ecovacs Deebot X12S OmniCycle supports rapid charging while docked. So, in the five or so minutes it takes to run the mop auto-clean function, your robot vac is also topping up the battery to power ahead cleaning the next room.</p><p>Moreover, thanks to rapid charging, the Ecovacs Deebot X12S OmniCycle sports a less bulky battery than the robot vacuums of yore, while also being able to clean more rooms back-to-back. </p><h2 id="4-extra-attention-for-edges-and-baseboards">4. Extra attention for edges and baseboards</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="QzK8sJFUrPvFgkTpLqXhQX" name="EcoVacs-X12S-01" alt="close-up of the Ecovacs Deebot X12S robotm vacuum at IFA 2026 in Berlin" src="https://cdn.mos.cms.futurecdn.net/QzK8sJFUrPvFgkTpLqXhQX-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>I’m a bit of a neat freak, and scuzzy baseboards are my Achilles' heel. Fortunately, the Ecovacs Deebot X12S OmniCycle is designed to pay particular attention to baseboards and floor/carpet edges. But how? An admittedly cute yet highly effective little sweeper arm uses onboard sensors to determine where the floor ends and then scoops any/all debris into the robot’s suction mouth as it makes its rounds.</p><h2 id="will-the-ecovacs-deebot-x12s-be-belvedere-approved">Will the Ecovacs Deebot X12S be Belvedere-approved?</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="kMoaAMDyV87Fabzktem9Bo" name="Belvedere" alt="A handsome, 18-lb mixed pup named Belvedere looking dapper as heck" src="https://cdn.mos.cms.futurecdn.net/kMoaAMDyV87Fabzktem9Bo-1920-80.jpg" 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: Dan Bracaglia)</span></figcaption></figure><p>Ultimately, there’s only one way to know for sure whether or not Ecovacs' latest 2-in-1 robot vacuum will <em>actually</em> be up to the task of tidying up after my rambunctious lil furry monster. </p><p>With that in mind, stay tuned for my full Ecovacs Deebot X12S review, coming soon. </p><h2 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h2><ul><li><a href="https://www.tomsguide.com/wellness/smart-rings/i-just-went-hands-on-with-the-new-circular-ring-3-and-it-beats-the-oura-ring-5-in-3-big-ways">I just went hands-on with the new Circular Ring 3 — and it beats the Oura Ring 5 in 3 big ways</a></li><li><a href="https://www.tomsguide.com/home/smart-home/forget-robot-vacuums-ecovacs-most-exciting-product-at-ces-2026-was-its-upcoming-ai-powered-pet-companion">Forget robot vacuums — Ecovacs' most exciting product at CES 2026 was its upcoming AI-powered pet companion</a></li><li><a href="https://www.tomsguide.com/home/ecovacs-deebot-n20-review">'Cleaning up after my pet has never been easier': I just tested this sub-$200 robot vacuum that's perfect for beginners</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/home/home-appliances/i-just-tried-ecovacs-robot-vacuum-of-the-future-and-as-a-pet-owner-im-beyond-floored</link>
                                                                            <description>
                            <![CDATA[ The Ecovacs Deebot X12S OmniCycle is a turbo-charged, self-cleaning robot that doubles as both a vacuum and a wet mop. But can it actually keep up with my furball of a dog? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">5r2AtvGRVqA98gkWNqhk3N</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/W5HyjGZP4mgnc59BmbSGMX-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 05 Sep 2026 10:38:57 +0000</pubDate>                                                                                                                                <updated>Sat, 05 Sep 2026 10:46:06 +0000</updated>
                                                                                                                                            <category><![CDATA[Home Appliances]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                                                                <author><![CDATA[ dan.bracaglia@futurenet.com (Dan Bracaglia) ]]></author>                    <dc:creator><![CDATA[ Dan Bracaglia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/3Ev8EFrheNxPemMWSBaKcK-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;&lt;br&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/W5HyjGZP4mgnc59BmbSGMX-1280-80.jpg">
                                                            <media:credit><![CDATA[Dan Bracaglia/Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[close-up of the Ecovacs Deebot X12S robotm vacuum at IFA 2026 in Berlin]]></media:description>                                                            <media:text><![CDATA[close-up of the Ecovacs Deebot X12S robotm vacuum at IFA 2026 in Berlin]]></media:text>
                                <media:title type="plain"><![CDATA[close-up of the Ecovacs Deebot X12S robotm vacuum at IFA 2026 in Berlin]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/W5HyjGZP4mgnc59BmbSGMX-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>As the joyful caregiver for an 18-pound Long-haired Chihuahua-Dachshund-Miniature Pinscher mix, I know a thing or two about dirty floors. Belvedere, mensch that he is, sheds like a madman. He’s also known to be a bit messy when it comes to wolfing down delicacies like raspberries, his favorite treat.</p><p>As a result, my partner and I spend countless hours a week vacuuming and swiffering to keep the dog-hair tumbleweeds and sticky floors to a minimum. If only there were a robot that could actually handle cleaning up after my all-time best pal. </p><p>Enter: The Ecovacs Deebot X12S OmniCycle.</p><h2 id="1-it-s-a-high-power-vacuum-and-wet-mop-in-one">1. It’s a high-power vacuum and wet mop in 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tX3t9wGKJp5B6xkFpwg8YX" name="EcoVacs-X12S-03" alt="close-up of the Ecovacs Deebot X12S robotm vacuum at IFA 2026 in Berlin" src="https://cdn.mos.cms.futurecdn.net/tX3t9wGKJp5B6xkFpwg8YX-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>I just got my hands on the new Ecovacs Deebot X12S OmniCycle robot vacuum at the <a href="https://www.tomsguide.com/tech-events/best-of-ifa-2026-we-found-the-26-top-new-gadgets">IFA show in Berlin</a>, and dear readers, I am floored (some pun intended) by all its features and specs. </p><p>It’s been nearly a decade since I seriously considered purchasing a robot vacuum to assist around the house, and now I’m questioning why; they've really come a long way! </p><p>Make no mistake: the Deebot X12S OmniCycle is Ecovacs’ creme de la creme of consumer robot vacuums, but it’s honestly so much more than that. Sure, it’s got enough power to suck a bad joke right out of the air (or 27,000 Pa of suction), but it’s also a full-blown, automated wet mop with automatic spray action. </p><p>Translation: the grime on your hardwood floors and carpets stands no chance against this bad boy. For sticky messes, built-in sprayers soak down the gunk, while a plush, wet/dry roller underneath soaks up all the nastiness, leaving a floor so shiny, you’ll be seeing your own reflection. </p><h2 id="2-auto-cleaning-eliminates-the-yuck-factor">2. Auto-cleaning eliminates the ‘yuck’ factor</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="DJjK9QyTHufLePYAdruyFX" name="EcoVacs-X12S-06" alt="close-up of the Ecovacs Deebot X12S robotm vacuum at IFA 2026 in Berlin" src="https://cdn.mos.cms.futurecdn.net/DJjK9QyTHufLePYAdruyFX-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>But wait, a robot vacuum that doubles as a robot mop must require all sorts of regular maintenance? No, sir. Ecovacs sells a couple of different docks for the X12S, but all of them feature a thorough auto-clean function that uses pressure washing to thoroughly sanitize the robot’s roller and other mopping components. </p><h2 id="3-rapid-charging-limits-cleaning-downtime">3. Rapid-charging limits cleaning downtime </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="9viaVWXWJ7DH7AYpKCLzNo" name="Ecovacs-DEEBOT-X12S-b" alt="Close-up of the new Ecovacs Deebot X12S robot vacuum at IFA 2026 in Berlin" src="https://cdn.mos.cms.futurecdn.net/9viaVWXWJ7DH7AYpKCLzNo-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Need a lot of rooms cleaned? No problem. The Ecovacs Deebot X12S OmniCycle supports rapid charging while docked. So, in the five or so minutes it takes to run the mop auto-clean function, your robot vac is also topping up the battery to power ahead cleaning the next room.</p><p>Moreover, thanks to rapid charging, the Ecovacs Deebot X12S OmniCycle sports a less bulky battery than the robot vacuums of yore, while also being able to clean more rooms back-to-back. </p><h2 id="4-extra-attention-for-edges-and-baseboards">4. Extra attention for edges and baseboards</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="QzK8sJFUrPvFgkTpLqXhQX" name="EcoVacs-X12S-01" alt="close-up of the Ecovacs Deebot X12S robotm vacuum at IFA 2026 in Berlin" src="https://cdn.mos.cms.futurecdn.net/QzK8sJFUrPvFgkTpLqXhQX-1920-80.jpg" 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: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>I’m a bit of a neat freak, and scuzzy baseboards are my Achilles' heel. Fortunately, the Ecovacs Deebot X12S OmniCycle is designed to pay particular attention to baseboards and floor/carpet edges. But how? An admittedly cute yet highly effective little sweeper arm uses onboard sensors to determine where the floor ends and then scoops any/all debris into the robot’s suction mouth as it makes its rounds.</p><h2 id="will-the-ecovacs-deebot-x12s-be-belvedere-approved">Will the Ecovacs Deebot X12S be Belvedere-approved?</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="kMoaAMDyV87Fabzktem9Bo" name="Belvedere" alt="A handsome, 18-lb mixed pup named Belvedere looking dapper as heck" src="https://cdn.mos.cms.futurecdn.net/kMoaAMDyV87Fabzktem9Bo-1920-80.jpg" 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: Dan Bracaglia)</span></figcaption></figure><p>Ultimately, there’s only one way to know for sure whether or not Ecovacs' latest 2-in-1 robot vacuum will <em>actually</em> be up to the task of tidying up after my rambunctious lil furry monster. </p><p>With that in mind, stay tuned for my full Ecovacs Deebot X12S review, coming soon. </p><h2 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h2><ul><li><a href="https://www.tomsguide.com/wellness/smart-rings/i-just-went-hands-on-with-the-new-circular-ring-3-and-it-beats-the-oura-ring-5-in-3-big-ways">I just went hands-on with the new Circular Ring 3 — and it beats the Oura Ring 5 in 3 big ways</a></li><li><a href="https://www.tomsguide.com/home/smart-home/forget-robot-vacuums-ecovacs-most-exciting-product-at-ces-2026-was-its-upcoming-ai-powered-pet-companion">Forget robot vacuums — Ecovacs' most exciting product at CES 2026 was its upcoming AI-powered pet companion</a></li><li><a href="https://www.tomsguide.com/home/ecovacs-deebot-n20-review">'Cleaning up after my pet has never been easier': I just tested this sub-$200 robot vacuum that's perfect for beginners</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tried Acer's new 7-inch gaming handheld at IFA 2026 — this might be the sweet spot ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Our hands-on session with the <a href="https://www.tomsguide.com/gaming/handheld-gaming/acer-predator-atlas-8-hands-on-review">Acer Predator Atlas 8 at Computex 2026</a> left us quite impressed. And now, at<a href="https://www.tomsguide.com/tag/ifa-2026"> IFA 2026</a>, Acer is bringing much of that same experience to a smaller handheld with the new Predator Atlas 7.</p><p>Acer's idea with the Predator Atlas 7 is pretty simple: push Intel's Arc G3 Extreme to... the extreme, while offering the same flagship handheld performance in a more compact 7-inch form factor.</p><p>The Atlas 7 is noticeably easier to hold than its bigger sibling, while still feeling sturdy and premium in the hand. Interestingly, though, it doesn't feel dramatically lighter than the Atlas 8. </p><p>And (thankfully) there's a good reason for that: Acer has somehow managed to squeeze in the same massive 80Wh battery in the Atlas 7 that we saw with the Atlas 8. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Mt5MTRpiosGXCk4axPgvQT" name="acer-predator-atlas-7-5" alt="Hands on with the Acer Predator Atlas 7" src="https://cdn.mos.cms.futurecdn.net/Mt5MTRpiosGXCk4axPgvQT-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Acer Predator Atlas 7 (left) vs. Predator Atlas 8 (right) </span><span class="credit" itemprop="copyrightHolder">(Image credit: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>Considering there's now a smaller display to power, I'm particularly interested to see what that does for battery life. <a href="https://www.tomsguide.com/round-up/best-handheld-gaming-consoles">Handheld gaming PCs</a> aren't exactly known for lasting very long away from a charger, so keeping that 80Wh battery could turn out to be one of the Atlas 7's biggest advantages. </p><p>Speaking of the display, you're getting a 7-inch 1080p IPS panel with a 16:9 aspect ratio and support for up to a 120Hz refresh rate. There is Variable Refresh Rate (VRR) support as well, and Acer has also used Corning Gorilla Glass Victus on top of the display, giving the handheld some added protection against everyday scratches and accidental drops. </p><p>The Predator Atlas 7 will be available in two configurations, powered by either Intel's Arc G3 or the more powerful <a href="https://www.tomsguide.com/gaming/handheld-gaming/intel-arc-g3-is-here-to-shake-up-handheld-gaming-and-amd-should-be-terrified-acer-predator-atlas-8-is-the-first-out-the-gate">Arc G3 Extreme</a>. You will be able to configure it with up to 24GB of LPDDR5X RAM and 1TB of storage. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="X4JbFy7htYjvPMojAJDqvS" name="acer-predator-atlas-7-2" alt="Hands on with the Acer Predator Atlas 7" src="https://cdn.mos.cms.futurecdn.net/X4JbFy7htYjvPMojAJDqvS-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>Acer is also putting considerable effort into keeping temperatures under control. Inside, you'll find one Predator AeroBlade metal fan working alongside a second plastic fan to cool the handheld. </p><p>I got to play <a href="https://www.tomsguide.com/gaming/forza-horizon-6-review">Forza Horizon 6</a> on the Atlas 7, and on its default settings, the handheld ran the game without any noticeable lag or major hiccups. I then pushed the graphics settings all the way up, and that's where I started noticing a few dropped frames and occasional stutters. </p><p>That's not particularly surprising, especially considering the unit I tried isn't running final hardware and software yet. But for a handheld this compact, the performance was still pretty impressive, and once again shows just how capable the Arc G3 Extreme can be inside a PC gaming handheld. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DdRZF29bpru69EcPSVS5QU" name="acer-predator-atlas-7-3" alt="Hands on with the Acer Predator Atlas 7" src="https://cdn.mos.cms.futurecdn.net/DdRZF29bpru69EcPSVS5QU-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>The port selection is pretty good for a handheld this size, too. You get two Thunderbolt 4 ports along the top, alongside a microSD card slot and 3.5mm headphone jack, with the power and volume controls also positioned around the top edge.</p><p>And thankfully, even though the Atlas 7 will presumably come in at a lower price than the Atlas 8, Acer hasn't removed one of my favorite little touches from the bigger model. The joysticks still have RGB lighting around them, which looks particularly cool in person and gives the handheld a little more personality than the usual plain black joysticks.  </p><p>The Acer Predator Atlas 7 is expected to arrive in the U.S. sometime this fall, although Acer hasn't announced pricing just yet.</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/i-tested-acers-wild-flip-and-swivel-handheld-why-project-dualplay-mini-is-the-ultimate-netbook-love-letter">I tested Acer's wild Project DualPlay Mini — and it's a gaming handheld and laptop in one gadget</a></li><li><a href="https://www.tomsguide.com/gaming/handheld-gaming/thinking-about-buying-a-handheld-console-heres-how-to-choose-the-right-one-for-you">5 tips for buying a gaming handheld — decide between Switch 2, Steam Deck and more</a></li><li><a href="https://www.tomsguide.com/computing/laptops/nvidias-rtx-spark-n1x-drops-this-october-why-apple-silicon-should-be-terrified-and-our-price-predictions">Nvidia’s RTX Spark N1X drops this October: Why Apple Silicon should be terrified (and our price predictions)</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/gaming/handheld-gaming/acer-predator-atlas-7-hands-on-ifa-2026</link>
                                                                            <description>
                            <![CDATA[ Acer's Predator Atlas 7 wants to offer flagship handheld performance in a more compact 7-inch form factor. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">TBdkLWZC4VFVYVcsWm9dkj</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/vBpGYQiEPN6HYW3SaAJ7EU-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 04 Sep 2026 10:36:24 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Handheld Gaming]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sanuj Bhatia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/8p5BvMVA7cnu5AWkxnTjRC-320-70.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/vBpGYQiEPN6HYW3SaAJ7EU-1280-80.jpg">
                                                            <media:credit><![CDATA[Sanuj Bhatia / Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Hands on with the Acer Predator Atlas 7]]></media:description>                                                            <media:text><![CDATA[Hands on with the Acer Predator Atlas 7]]></media:text>
                                <media:title type="plain"><![CDATA[Hands on with the Acer Predator Atlas 7]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/vBpGYQiEPN6HYW3SaAJ7EU-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Our hands-on session with the <a href="https://www.tomsguide.com/gaming/handheld-gaming/acer-predator-atlas-8-hands-on-review">Acer Predator Atlas 8 at Computex 2026</a> left us quite impressed. And now, at<a href="https://www.tomsguide.com/tag/ifa-2026"> IFA 2026</a>, Acer is bringing much of that same experience to a smaller handheld with the new Predator Atlas 7.</p><p>Acer's idea with the Predator Atlas 7 is pretty simple: push Intel's Arc G3 Extreme to... the extreme, while offering the same flagship handheld performance in a more compact 7-inch form factor.</p><p>The Atlas 7 is noticeably easier to hold than its bigger sibling, while still feeling sturdy and premium in the hand. Interestingly, though, it doesn't feel dramatically lighter than the Atlas 8. </p><p>And (thankfully) there's a good reason for that: Acer has somehow managed to squeeze in the same massive 80Wh battery in the Atlas 7 that we saw with the Atlas 8. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Mt5MTRpiosGXCk4axPgvQT" name="acer-predator-atlas-7-5" alt="Hands on with the Acer Predator Atlas 7" src="https://cdn.mos.cms.futurecdn.net/Mt5MTRpiosGXCk4axPgvQT-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Acer Predator Atlas 7 (left) vs. Predator Atlas 8 (right) </span><span class="credit" itemprop="copyrightHolder">(Image credit: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>Considering there's now a smaller display to power, I'm particularly interested to see what that does for battery life. <a href="https://www.tomsguide.com/round-up/best-handheld-gaming-consoles">Handheld gaming PCs</a> aren't exactly known for lasting very long away from a charger, so keeping that 80Wh battery could turn out to be one of the Atlas 7's biggest advantages. </p><p>Speaking of the display, you're getting a 7-inch 1080p IPS panel with a 16:9 aspect ratio and support for up to a 120Hz refresh rate. There is Variable Refresh Rate (VRR) support as well, and Acer has also used Corning Gorilla Glass Victus on top of the display, giving the handheld some added protection against everyday scratches and accidental drops. </p><p>The Predator Atlas 7 will be available in two configurations, powered by either Intel's Arc G3 or the more powerful <a href="https://www.tomsguide.com/gaming/handheld-gaming/intel-arc-g3-is-here-to-shake-up-handheld-gaming-and-amd-should-be-terrified-acer-predator-atlas-8-is-the-first-out-the-gate">Arc G3 Extreme</a>. You will be able to configure it with up to 24GB of LPDDR5X RAM and 1TB of storage. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="X4JbFy7htYjvPMojAJDqvS" name="acer-predator-atlas-7-2" alt="Hands on with the Acer Predator Atlas 7" src="https://cdn.mos.cms.futurecdn.net/X4JbFy7htYjvPMojAJDqvS-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>Acer is also putting considerable effort into keeping temperatures under control. Inside, you'll find one Predator AeroBlade metal fan working alongside a second plastic fan to cool the handheld. </p><p>I got to play <a href="https://www.tomsguide.com/gaming/forza-horizon-6-review">Forza Horizon 6</a> on the Atlas 7, and on its default settings, the handheld ran the game without any noticeable lag or major hiccups. I then pushed the graphics settings all the way up, and that's where I started noticing a few dropped frames and occasional stutters. </p><p>That's not particularly surprising, especially considering the unit I tried isn't running final hardware and software yet. But for a handheld this compact, the performance was still pretty impressive, and once again shows just how capable the Arc G3 Extreme can be inside a PC gaming handheld. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="DdRZF29bpru69EcPSVS5QU" name="acer-predator-atlas-7-3" alt="Hands on with the Acer Predator Atlas 7" src="https://cdn.mos.cms.futurecdn.net/DdRZF29bpru69EcPSVS5QU-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>The port selection is pretty good for a handheld this size, too. You get two Thunderbolt 4 ports along the top, alongside a microSD card slot and 3.5mm headphone jack, with the power and volume controls also positioned around the top edge.</p><p>And thankfully, even though the Atlas 7 will presumably come in at a lower price than the Atlas 8, Acer hasn't removed one of my favorite little touches from the bigger model. The joysticks still have RGB lighting around them, which looks particularly cool in person and gives the handheld a little more personality than the usual plain black joysticks.  </p><p>The Acer Predator Atlas 7 is expected to arrive in the U.S. sometime this fall, although Acer hasn't announced pricing just yet.</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/i-tested-acers-wild-flip-and-swivel-handheld-why-project-dualplay-mini-is-the-ultimate-netbook-love-letter">I tested Acer's wild Project DualPlay Mini — and it's a gaming handheld and laptop in one gadget</a></li><li><a href="https://www.tomsguide.com/gaming/handheld-gaming/thinking-about-buying-a-handheld-console-heres-how-to-choose-the-right-one-for-you">5 tips for buying a gaming handheld — decide between Switch 2, Steam Deck and more</a></li><li><a href="https://www.tomsguide.com/computing/laptops/nvidias-rtx-spark-n1x-drops-this-october-why-apple-silicon-should-be-terrified-and-our-price-predictions">Nvidia’s RTX Spark N1X drops this October: Why Apple Silicon should be terrified (and our price predictions)</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I used Dell's latest MacBook Neo rival — and I'm not complaining about having another one ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Laptops are in a pretty unique place in 2026. On one end, we have companies pushing performance to the absolute maximum, with new flagship laptops soon to be powered by chips like <a href="https://www.tomsguide.com/computing/cpus/nvidia-rtx-spark-is-here-and-no-its-not-called-n1x-everything-you-need-to-know-about-the-super-chip-thats-about-to-change-laptops-forever">Nvidia's RTX Spark</a>. On the other hand, we have brands <a href="https://www.tomsguide.com/computing/laptops/forget-the-macbook-neo-these-4-windows-laptops-are-just-as-powerful">going directly after Apple's MacBook Neo</a>, pushing prices lower while still trying to deliver as much value as possible.</p><p>Dell is jumping on the latter bandwagon at <a href="https://www.tomsguide.com/tag/ifa-2026">IFA 2026</a> with its new Dell 14S. The company already has the <a href="https://www.tomsguide.com/computing/laptops/dell-xps-13-2026-review">XPS 13</a>, which sits as its more premium <a href="https://www.tomsguide.com/computing/macbooks/apple-macbook-neo-review">MacBook Neo</a> competitor, but the Dell 14S is targeting a slightly different buyer. </p><p>Dell tells me this laptop will sit one tier below the XPS 13, aimed primarily at pre-college and high school students who want something sturdy and capable without spending too much money.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FDGAp6LP9cXZjezzgLZywW" name="dell-14s-2026-hands-on-3" alt="Hands-on with the Dell 14S at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/FDGAp6LP9cXZjezzgLZywW-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>On first inspection, the Dell 14S feels extremely similar to the more expensive XPS 13 in the hand. You get an all-aluminum build that feels premium, and unlike some <a href="https://www.tomsguide.com/computing/laptops/acer-swift-blade-14-ifa-2026-hands-on">other thin-and-light laptops</a> I've tried here at IFA, there isn't much flex in the keyboard deck when you press down hard. The display lid doesn't feel flimsy either.</p><p>It's certainly not the lightest laptop I've used at IFA this year, but I'll happily take some extra weight when the trade-off is a machine that feels this solid.</p><p>I also really like what Dell is doing with the colors. Similar to Apple with the MacBook Neo, Dell isn't sticking with the usual dark finishes. The 14S comes in four much more playful colors: Linen (beige-silver), Dusty Rose (pink), Washed Denim (light blue), and Velvet Green. </p><p>Washed Denim (the one on the top in the image below) is easily my favorite of the bunch, although all four look much better in person than their names might suggest. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="oZwTuMLEX9A8KUgyE9BCsW" name="dell-14s-2026-hands-on-5" alt="Hands-on with the Dell 14S at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/oZwTuMLEX9A8KUgyE9BCsW-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>And despite being positioned below the XPS 13, Dell isn't cutting too much when it comes to performance either. The Dell 14S will be available with Intel's Core Series 3 "Wildcat Lake" processors, with options including Core 5 and Core 7 chips. </p><p>Other internal hardware includes up to 8GB of RAM and 256GB of onboard storage. Those aren't exactly flagship specifications, but they're pretty much what you'd expect given the price range Dell is targeting and with the <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">ongoing RAMageddon</a>. The port selection is also surprisingly good. You get two USB-C ports, but Dell has also included a full-sized HDMI port, something you don't even get on the more expensive XPS 13.</p><p>In terms of display options, you're getting two options. The higher-end model comes with a 2.8K panel with a 120Hz refresh rate, while the other configuration drops down to a 2K display running at 60Hz.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="eByQcWo8TiB65pcmkwZzgW" name="dell-14s-2026-hands-on-4" alt="Hands-on with the Dell 14S at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/eByQcWo8TiB65pcmkwZzgW-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>The biggest question right now is the price. Dell hasn't announced U.S. pricing yet, but the company tells me the 14S will sit below the XPS 13 in its lineup. Considering the XPS 13 starts at around $699, I wouldn't be surprised if the Dell 14S lands somewhere around the $599 to $649 mark.</p><p>And if Dell can actually hit that price, I think the 14S could be a very interesting <a href="https://www.tomsguide.com/computing/laptops/is-the-macbook-neo-as-good-as-a-budget-windows-laptop-here-are-our-lab-tested-results">MacBook Neo competitor</a>. There's no exact launch date for now, but Dell tells me that the 14S will launch in the U.S. sometime this fall, with pricing to be announced closer to availability.</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/laptops/forget-framework-i-just-popped-open-acers-new-modular-laptop-and-it-could-be-the-end-of-throwaway-pcs">I tore apart Acer’s £1,599 Vero 16 with my bare hands — Framework finally has a lethal rival</a></li><li><a href="https://www.tomsguide.com/computing/laptops/is-the-macbook-neo-as-good-as-a-budget-windows-laptop-here-are-our-lab-tested-results">We benchmarked the MacBook Neo vs budget Windows laptops — here's the truth</a></li><li><a href="https://www.tomsguide.com/computing/gaming-laptops/i-tested-6-rtx-spark-laptops-for-gaming-and-the-winner-completely-shocked-me">I tested 6 RTX Spark laptops for gaming — and the winner completely shocked me</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/laptops/dell-14s-hands-on-ifa-2026</link>
                                                                            <description>
                            <![CDATA[ The MacBook Neo rivals are piling up, but Dell's new 14S makes a strong case for itself. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">pGa8Yi5SKAQW7GPqq4nDuV</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/7RG7oWBjJ2cYQXdsTpGnAW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 04 Sep 2026 08:30:00 +0000</pubDate>                                                                                                                                <updated>Fri, 04 Sep 2026 08:43:08 +0000</updated>
                                                                                                                                            <category><![CDATA[Laptops]]></category>
                                                    <category><![CDATA[Computing Peripherals]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sanuj Bhatia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/8p5BvMVA7cnu5AWkxnTjRC-320-70.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/7RG7oWBjJ2cYQXdsTpGnAW-1280-80.jpg">
                                                            <media:credit><![CDATA[Sanuj Bhatia / Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Hands-on with the Dell 14S at IFA 2026]]></media:description>                                                            <media:text><![CDATA[Hands-on with the Dell 14S at IFA 2026]]></media:text>
                                <media:title type="plain"><![CDATA[Hands-on with the Dell 14S at IFA 2026]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/7RG7oWBjJ2cYQXdsTpGnAW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Laptops are in a pretty unique place in 2026. On one end, we have companies pushing performance to the absolute maximum, with new flagship laptops soon to be powered by chips like <a href="https://www.tomsguide.com/computing/cpus/nvidia-rtx-spark-is-here-and-no-its-not-called-n1x-everything-you-need-to-know-about-the-super-chip-thats-about-to-change-laptops-forever">Nvidia's RTX Spark</a>. On the other hand, we have brands <a href="https://www.tomsguide.com/computing/laptops/forget-the-macbook-neo-these-4-windows-laptops-are-just-as-powerful">going directly after Apple's MacBook Neo</a>, pushing prices lower while still trying to deliver as much value as possible.</p><p>Dell is jumping on the latter bandwagon at <a href="https://www.tomsguide.com/tag/ifa-2026">IFA 2026</a> with its new Dell 14S. The company already has the <a href="https://www.tomsguide.com/computing/laptops/dell-xps-13-2026-review">XPS 13</a>, which sits as its more premium <a href="https://www.tomsguide.com/computing/macbooks/apple-macbook-neo-review">MacBook Neo</a> competitor, but the Dell 14S is targeting a slightly different buyer. </p><p>Dell tells me this laptop will sit one tier below the XPS 13, aimed primarily at pre-college and high school students who want something sturdy and capable without spending too much money.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FDGAp6LP9cXZjezzgLZywW" name="dell-14s-2026-hands-on-3" alt="Hands-on with the Dell 14S at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/FDGAp6LP9cXZjezzgLZywW-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>On first inspection, the Dell 14S feels extremely similar to the more expensive XPS 13 in the hand. You get an all-aluminum build that feels premium, and unlike some <a href="https://www.tomsguide.com/computing/laptops/acer-swift-blade-14-ifa-2026-hands-on">other thin-and-light laptops</a> I've tried here at IFA, there isn't much flex in the keyboard deck when you press down hard. The display lid doesn't feel flimsy either.</p><p>It's certainly not the lightest laptop I've used at IFA this year, but I'll happily take some extra weight when the trade-off is a machine that feels this solid.</p><p>I also really like what Dell is doing with the colors. Similar to Apple with the MacBook Neo, Dell isn't sticking with the usual dark finishes. The 14S comes in four much more playful colors: Linen (beige-silver), Dusty Rose (pink), Washed Denim (light blue), and Velvet Green. </p><p>Washed Denim (the one on the top in the image below) is easily my favorite of the bunch, although all four look much better in person than their names might suggest. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="oZwTuMLEX9A8KUgyE9BCsW" name="dell-14s-2026-hands-on-5" alt="Hands-on with the Dell 14S at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/oZwTuMLEX9A8KUgyE9BCsW-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>And despite being positioned below the XPS 13, Dell isn't cutting too much when it comes to performance either. The Dell 14S will be available with Intel's Core Series 3 "Wildcat Lake" processors, with options including Core 5 and Core 7 chips. </p><p>Other internal hardware includes up to 8GB of RAM and 256GB of onboard storage. Those aren't exactly flagship specifications, but they're pretty much what you'd expect given the price range Dell is targeting and with the <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">ongoing RAMageddon</a>. The port selection is also surprisingly good. You get two USB-C ports, but Dell has also included a full-sized HDMI port, something you don't even get on the more expensive XPS 13.</p><p>In terms of display options, you're getting two options. The higher-end model comes with a 2.8K panel with a 120Hz refresh rate, while the other configuration drops down to a 2K display running at 60Hz.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="eByQcWo8TiB65pcmkwZzgW" name="dell-14s-2026-hands-on-4" alt="Hands-on with the Dell 14S at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/eByQcWo8TiB65pcmkwZzgW-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>The biggest question right now is the price. Dell hasn't announced U.S. pricing yet, but the company tells me the 14S will sit below the XPS 13 in its lineup. Considering the XPS 13 starts at around $699, I wouldn't be surprised if the Dell 14S lands somewhere around the $599 to $649 mark.</p><p>And if Dell can actually hit that price, I think the 14S could be a very interesting <a href="https://www.tomsguide.com/computing/laptops/is-the-macbook-neo-as-good-as-a-budget-windows-laptop-here-are-our-lab-tested-results">MacBook Neo competitor</a>. There's no exact launch date for now, but Dell tells me that the 14S will launch in the U.S. sometime this fall, with pricing to be announced closer to availability.</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/laptops/forget-framework-i-just-popped-open-acers-new-modular-laptop-and-it-could-be-the-end-of-throwaway-pcs">I tore apart Acer’s £1,599 Vero 16 with my bare hands — Framework finally has a lethal rival</a></li><li><a href="https://www.tomsguide.com/computing/laptops/is-the-macbook-neo-as-good-as-a-budget-windows-laptop-here-are-our-lab-tested-results">We benchmarked the MacBook Neo vs budget Windows laptops — here's the truth</a></li><li><a href="https://www.tomsguide.com/computing/gaming-laptops/i-tested-6-rtx-spark-laptops-for-gaming-and-the-winner-completely-shocked-me">I tested 6 RTX Spark laptops for gaming — and the winner completely shocked me</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I went hands-on with Lenovo’s RTX Spark-powered Yoga 9n 2-in-1 laptop — and it’s a creative powerhouse ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The Lenovo Yoga 9n 2-in-1 wants to be the ultimate convertible laptop for creative work. Announced during <a href="https://www.tomsguide.com/tech-events/ifa-2026-what-to-expect">IFA 2026</a>, Lenovo’s upcoming 2-in-1 packs an <a href="https://www.tomsguide.com/computing/cpus/nvidia-rtx-spark-is-here-and-no-its-not-called-n1x-everything-you-need-to-know-about-the-super-chip-thats-about-to-change-laptops-forever">Nvidia RTX Spark</a> chip for demanding workflows and features dual-surface pen input for increased flexibility. The OLED display and ability to handle AI work on-device are other highlights.</p><p>I got to see the Lenovo Yoga 9n 2-in-1 at a Lenovo IFA event and left with a strong first impression. Though I wasn’t able to get a taste of what RTX Spark is capable of, I was impressed by the slender 2-in-1 design and the ability to write or sketch directly on the touchpad. If you’re an artist, this seems like a great machine to bring your creations to life.</p><p>We don't yet have pricing for it, but the Lenovo Yoga 9n 2-in-1 seems like a convertible to watch out for. Here's why you should keep it on your radar.</p><h2 id="lenovo-yoga-9n-2-in-1-hands-on-specs">Lenovo Yoga 9n 2-in-1 hands-on: Specs</h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Lenovo Yoga 9n 2-in-1</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>TBA</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>16-inch 2.8K (2880 x 1800), 30-120Hz, VRR, 16:10</p></td></tr><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>Nvidia RTX Spark (Nvidia Grace CPU with up to 20 cores)</p></td></tr><tr><td class="firstcol " ><p><strong>GPU</strong></p></td><td  ><p>Nvidia Blackwell RTX GPU with up to 6144 cores</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>Up to 64GB 256-bit 9400MHz LPDDR5X</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>Up to 2TB PCIe SSD Gen 4 QLC M.2 2242</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>1x HDMI 2.1, 2x USB-A, 2x USB-C, 1x 3.5mm headphone jack, 1x SD card slot</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Wi-Fi 7, Bluetooth 5.4</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>14.17 × 9.57 × 0.69 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>4.28 pounds</p></td></tr></tbody></table></div><h2 id="lenovo-yoga-9n-2-in-1-hands-on-design-and-display">Lenovo Yoga 9n 2-in-1 hands-on: Design and display</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="euNWHbyEVvxcacAmi77yv4" name="Lenovo Yoga 9n 2-in-1--1-LIST" alt="Lenovo Yoga 9n 2-in-1" src="https://cdn.mos.cms.futurecdn.net/euNWHbyEVvxcacAmi77yv4-1920-80.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 its name suggests, the Lenovo Yoga 9n 2-in-1 is a convertible laptop with a 360-degree hinge that lets you switch between Laptop, Tablet, Tent, Stand, and Canvas modes. </p><p>The last mode is particularly interesting because it’s slightly angled rather than completely flat, making writing and drawing easier. Basically, the Yoga 9n can transform to suit your needs.</p><p>Measuring 14.17 × 9.57 × 0.69 inches and weighing 4.28 pounds, the Yoga 9n 2-in-1 is relatively large and bulky, which can make using it as a tablet cumbersome. </p><p>However, if you set it on a table or your lap, its weight shouldn’t be an issue. In my experience, the aluminum frame feels sturdy, and the 360 hinge makes it easy to open the laptop to your preferred mode.</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="Fy767oDoRKEisnnCeL2gGG" name="Lenovo Yoga 9n 2-in-1--8" alt="Lenovo Yoga 9n 2-in-1" src="https://cdn.mos.cms.futurecdn.net/Fy767oDoRKEisnnCeL2gGG-1920-80.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 are a decent number of ports here to support your peripherals. This includes an HDMI port, two USB-A ports, a pair of USB4/USB-C ports, a 3.5mm headphone jack, and a single SD card slot. I especially appreciate the inclusion of USB-A ports for legacy devices.</p><p>Since this is a 16-inch laptop, it has a spacious keyboard deck—one that even includes a full number pad. The membrane keys have a nice bounce and a short travel distance. The touchpad, or the Force Pad as Lenovo calls it, is not only large but also supports drawing with the Yoga Pen Gen 2. I wrote and doodled on it and found it smooth and responsive.</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="Qoknw6QTV9o5pJAYrjFmyM" name="Lenovo Yoga 9n 2-in-1--6" alt="Lenovo Yoga 9n 2-in-1" src="https://cdn.mos.cms.futurecdn.net/Qoknw6QTV9o5pJAYrjFmyM-1920-80.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 didn’t get to test the speakers, but the six-speaker Dolby Atmos audio system has two tweeters built into the rotating soundbar, keeping them front-firing in every mode. There’s also a pair of woofers to round out the audio. Lenovo says that intelligent noise suppression and spatial audio will support meetings, livestreams, presentations, and more.</p><p>The 16-inch PureSight Pro OLED display (as Lenovo calls it) promises “creator-grade color accuracy,” according to the company. To my eyes, the 2.8K resolution panel looked sharp and vivid. The 120Hz refresh rate ensures that everything from pen input and animation previews to gaming and more moves smoothly.</p><h2 id="lenovo-yoga-9n-2-in-1-hands-on-performance">Lenovo Yoga 9n 2-in-1 hands-on: Performance</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="mybUXrsSQc96rGfcpzhXEA" name="Lenovo Yoga 9n 2-in-1--3" alt="Lenovo Yoga 9n 2-in-1" src="https://cdn.mos.cms.futurecdn.net/mybUXrsSQc96rGfcpzhXEA-1920-80.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 won’t be able to discuss the Yoga 9n 2-in-1’s performance until we’ve run it through our lab tests. Given how Lenovo is positioning this as a creator-focused machine and its use of Nvidia’s promising RTX Spark chip, I expect excellent overall performance.</p><p>The RTX Spark features a custom CPU, a Blackwell GPU, and unified RAM all on one chip. This allows the entire processor to share information faster than with separate, dedicated components. </p><p>Thanks to this efficiency, there’s also the promise of all-day battery life. The RTX Spark chip on the Yoga 9n will have up to 64GB of unified memory.</p><p>With the RTX Spark platform, Nvidia is working with Microsoft to shift personal computing on Windows from a passive tool to something proactive. </p><p>To that end, Nvidia’s chip can accelerate creative and AI tools such as Adobe Premiere Pro and local models like FLUX. Your mileage may vary depending on how much you rely on AI for work, but if you need to run it locally, you have that option.</p><h2 id="lenovo-yoga-9n-2-in-1-hands-on-outlook">Lenovo Yoga 9n 2-in-1 hands-on: Outlook</h2><p>The Lenovo Yoga 9n 2-in-1 promises to be a versatile convertible for creatives and a powerful OLED laptop for those of us who aren’t artistically inclined.</p><p>I’ll need more time with it before rendering judgment, but based on what I saw, this is a notebook worth keeping an eye on. Hopefully, the Lenovo Yoga 9n 2-in-1 won’t cost too much when it eventually launches.</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/i-tested-acers-wild-flip-and-swivel-handheld-why-project-dualplay-mini-is-the-ultimate-netbook-love-letter">I tested Acer’s wild flip-and-swivel handheld — why Project DualPlay Mini is the ultimate netbook love letter</a></li><li><a href="https://www.tomsguide.com/gaming/pc-gaming/i-tested-the-real-dlss-5-forget-the-leaked-mods-its-not-an-ai-filter-this-is-nvidias-photorealistic-game-changer">I wanted to hate Nvidia’s DLSS 5 ‘AI filter’ — but the real DLSS 5 is photorealistic black magic</a></li><li><a href="https://www.tomsguide.com/computing/gaming-laptops/i-tested-6-rtx-spark-laptops-for-gaming-and-the-winner-completely-shocked-me">I tested 6 RTX Spark laptops for gaming — and the winner completely shocked me</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/laptops/lenovo-yoga-9n-2-in-1-hands-on</link>
                                                                            <description>
                            <![CDATA[ The Lenovo Yoga 9n 2-in-1 could be the ultimate convertible for creative work. Here's what we think of this upcoming Nvidia RTX Spark-powered laptop. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">VLZfgRHFToA5A6BoqAKbNS</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/UmUngcSKKMio6oMkiwVLTk-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 03 Sep 2026 16:00:29 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Laptops]]></category>
                                                    <category><![CDATA[Computing Peripherals]]></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-320-70.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/UmUngcSKKMio6oMkiwVLTk-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Lenovo Yoga 9n 2-in-1]]></media:description>                                                            <media:text><![CDATA[Lenovo Yoga 9n 2-in-1]]></media:text>
                                <media:title type="plain"><![CDATA[Lenovo Yoga 9n 2-in-1]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/UmUngcSKKMio6oMkiwVLTk-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The Lenovo Yoga 9n 2-in-1 wants to be the ultimate convertible laptop for creative work. Announced during <a href="https://www.tomsguide.com/tech-events/ifa-2026-what-to-expect">IFA 2026</a>, Lenovo’s upcoming 2-in-1 packs an <a href="https://www.tomsguide.com/computing/cpus/nvidia-rtx-spark-is-here-and-no-its-not-called-n1x-everything-you-need-to-know-about-the-super-chip-thats-about-to-change-laptops-forever">Nvidia RTX Spark</a> chip for demanding workflows and features dual-surface pen input for increased flexibility. The OLED display and ability to handle AI work on-device are other highlights.</p><p>I got to see the Lenovo Yoga 9n 2-in-1 at a Lenovo IFA event and left with a strong first impression. Though I wasn’t able to get a taste of what RTX Spark is capable of, I was impressed by the slender 2-in-1 design and the ability to write or sketch directly on the touchpad. If you’re an artist, this seems like a great machine to bring your creations to life.</p><p>We don't yet have pricing for it, but the Lenovo Yoga 9n 2-in-1 seems like a convertible to watch out for. Here's why you should keep it on your radar.</p><h2 id="lenovo-yoga-9n-2-in-1-hands-on-specs">Lenovo Yoga 9n 2-in-1 hands-on: Specs</h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Lenovo Yoga 9n 2-in-1</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>TBA</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>16-inch 2.8K (2880 x 1800), 30-120Hz, VRR, 16:10</p></td></tr><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>Nvidia RTX Spark (Nvidia Grace CPU with up to 20 cores)</p></td></tr><tr><td class="firstcol " ><p><strong>GPU</strong></p></td><td  ><p>Nvidia Blackwell RTX GPU with up to 6144 cores</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>Up to 64GB 256-bit 9400MHz LPDDR5X</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>Up to 2TB PCIe SSD Gen 4 QLC M.2 2242</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>1x HDMI 2.1, 2x USB-A, 2x USB-C, 1x 3.5mm headphone jack, 1x SD card slot</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Wi-Fi 7, Bluetooth 5.4</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>14.17 × 9.57 × 0.69 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>4.28 pounds</p></td></tr></tbody></table></div><h2 id="lenovo-yoga-9n-2-in-1-hands-on-design-and-display">Lenovo Yoga 9n 2-in-1 hands-on: Design and display</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="euNWHbyEVvxcacAmi77yv4" name="Lenovo Yoga 9n 2-in-1--1-LIST" alt="Lenovo Yoga 9n 2-in-1" src="https://cdn.mos.cms.futurecdn.net/euNWHbyEVvxcacAmi77yv4-1920-80.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 its name suggests, the Lenovo Yoga 9n 2-in-1 is a convertible laptop with a 360-degree hinge that lets you switch between Laptop, Tablet, Tent, Stand, and Canvas modes. </p><p>The last mode is particularly interesting because it’s slightly angled rather than completely flat, making writing and drawing easier. Basically, the Yoga 9n can transform to suit your needs.</p><p>Measuring 14.17 × 9.57 × 0.69 inches and weighing 4.28 pounds, the Yoga 9n 2-in-1 is relatively large and bulky, which can make using it as a tablet cumbersome. </p><p>However, if you set it on a table or your lap, its weight shouldn’t be an issue. In my experience, the aluminum frame feels sturdy, and the 360 hinge makes it easy to open the laptop to your preferred mode.</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="Fy767oDoRKEisnnCeL2gGG" name="Lenovo Yoga 9n 2-in-1--8" alt="Lenovo Yoga 9n 2-in-1" src="https://cdn.mos.cms.futurecdn.net/Fy767oDoRKEisnnCeL2gGG-1920-80.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 are a decent number of ports here to support your peripherals. This includes an HDMI port, two USB-A ports, a pair of USB4/USB-C ports, a 3.5mm headphone jack, and a single SD card slot. I especially appreciate the inclusion of USB-A ports for legacy devices.</p><p>Since this is a 16-inch laptop, it has a spacious keyboard deck—one that even includes a full number pad. The membrane keys have a nice bounce and a short travel distance. The touchpad, or the Force Pad as Lenovo calls it, is not only large but also supports drawing with the Yoga Pen Gen 2. I wrote and doodled on it and found it smooth and responsive.</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="Qoknw6QTV9o5pJAYrjFmyM" name="Lenovo Yoga 9n 2-in-1--6" alt="Lenovo Yoga 9n 2-in-1" src="https://cdn.mos.cms.futurecdn.net/Qoknw6QTV9o5pJAYrjFmyM-1920-80.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 didn’t get to test the speakers, but the six-speaker Dolby Atmos audio system has two tweeters built into the rotating soundbar, keeping them front-firing in every mode. There’s also a pair of woofers to round out the audio. Lenovo says that intelligent noise suppression and spatial audio will support meetings, livestreams, presentations, and more.</p><p>The 16-inch PureSight Pro OLED display (as Lenovo calls it) promises “creator-grade color accuracy,” according to the company. To my eyes, the 2.8K resolution panel looked sharp and vivid. The 120Hz refresh rate ensures that everything from pen input and animation previews to gaming and more moves smoothly.</p><h2 id="lenovo-yoga-9n-2-in-1-hands-on-performance">Lenovo Yoga 9n 2-in-1 hands-on: Performance</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="mybUXrsSQc96rGfcpzhXEA" name="Lenovo Yoga 9n 2-in-1--3" alt="Lenovo Yoga 9n 2-in-1" src="https://cdn.mos.cms.futurecdn.net/mybUXrsSQc96rGfcpzhXEA-1920-80.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 won’t be able to discuss the Yoga 9n 2-in-1’s performance until we’ve run it through our lab tests. Given how Lenovo is positioning this as a creator-focused machine and its use of Nvidia’s promising RTX Spark chip, I expect excellent overall performance.</p><p>The RTX Spark features a custom CPU, a Blackwell GPU, and unified RAM all on one chip. This allows the entire processor to share information faster than with separate, dedicated components. </p><p>Thanks to this efficiency, there’s also the promise of all-day battery life. The RTX Spark chip on the Yoga 9n will have up to 64GB of unified memory.</p><p>With the RTX Spark platform, Nvidia is working with Microsoft to shift personal computing on Windows from a passive tool to something proactive. </p><p>To that end, Nvidia’s chip can accelerate creative and AI tools such as Adobe Premiere Pro and local models like FLUX. Your mileage may vary depending on how much you rely on AI for work, but if you need to run it locally, you have that option.</p><h2 id="lenovo-yoga-9n-2-in-1-hands-on-outlook">Lenovo Yoga 9n 2-in-1 hands-on: Outlook</h2><p>The Lenovo Yoga 9n 2-in-1 promises to be a versatile convertible for creatives and a powerful OLED laptop for those of us who aren’t artistically inclined.</p><p>I’ll need more time with it before rendering judgment, but based on what I saw, this is a notebook worth keeping an eye on. Hopefully, the Lenovo Yoga 9n 2-in-1 won’t cost too much when it eventually launches.</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/i-tested-acers-wild-flip-and-swivel-handheld-why-project-dualplay-mini-is-the-ultimate-netbook-love-letter">I tested Acer’s wild flip-and-swivel handheld — why Project DualPlay Mini is the ultimate netbook love letter</a></li><li><a href="https://www.tomsguide.com/gaming/pc-gaming/i-tested-the-real-dlss-5-forget-the-leaked-mods-its-not-an-ai-filter-this-is-nvidias-photorealistic-game-changer">I wanted to hate Nvidia’s DLSS 5 ‘AI filter’ — but the real DLSS 5 is photorealistic black magic</a></li><li><a href="https://www.tomsguide.com/computing/gaming-laptops/i-tested-6-rtx-spark-laptops-for-gaming-and-the-winner-completely-shocked-me">I tested 6 RTX Spark laptops for gaming — and the winner completely shocked me</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I went eyes-on with Lenovo’s new 27-inch 4K OLED monitor — and now I want it for work ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The Lenovo ThinkVision P27UL-40 is one seriously impressive monitor. Announced during <a href="https://www.tomsguide.com/tech-events/ifa-2026-what-to-expect">IFA 2026</a>, this is Lenovo’s first 27-inch 4K InkJet Printing OLED Thunderbolt docking monitor for productivity work. It can even synchronize with Lenovo laptops to create a more unified workspace.</p><p>I briefly went hands-on (or eyes-on) with the P27UL-40 during a Lenovo IFA event, and let me tell you, it was a sight to behold. The contrast provided by the OLED panel is excellent and helps make colors truly pop out. </p><p>I’m also a fan of the slender design, which includes a stand with a cutaway for your phone. This is exactly the kind of monitor I’d want for my own work setup.</p><p>Here are my early thoughts on the Lenovo ThinkVision P27UL-40 and why it could be great for those who want a work monitor that’s a cut above the rest.</p><h2 id="lenovo-thinkvision-p27ul-40-hands-on-specs">Lenovo ThinkVision P27UL-40 hands-on: Specs</h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Lenovo ThinkVision P27UL-40</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>$1,299</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p> 27-inches</p></td></tr><tr><td class="firstcol " ><p><strong>Resolution</strong></p></td><td  ><p> 3840 x 2160</p></td></tr><tr><td class="firstcol " ><p><strong>Aspect ratio</strong></p></td><td  ><p>16:9</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>60-120Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Panel type</strong></p></td><td  ><p>OLED</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>1x HDMI, 2x DisplayPort, 2x USB-C, 1x Ethernet, 1x USB-C, 2x USB-A</p></td></tr></tbody></table></div><h2 id="lenovo-thinkvision-p27ul-40-hands-on-display">Lenovo ThinkVision P27UL-40 hands-on: Display</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="RVfcQbd97QhCjb6CeEP4YA" name="Lenovo ThinkVision-2" alt="Lenovo ThinkVision P27UL-40" src="https://cdn.mos.cms.futurecdn.net/RVfcQbd97QhCjb6CeEP4YA-1920-80.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’s a lot of fancy tech in the ThinkVision P27UL-40, but suffice it to say that it offers excellent image quality for whatever’s on the screen.</p><p>The photos you see throughout this article don’t do the 27-inch 4K OLED panel justice, as it looks far superior in person. I actually asked Lenovo to dim the lights around the monitor, and that allowed me to see just how bright and vibrant the panel can get. </p><p>Lenovo says it will cover 99% of the DCI-P3 and 100% sRGB color spaces, and targets 500 nits of HDR brightness.</p><p>You don’t often see 27-inch 4K OLED productivity monitors, since these kind of monitors are usually gaming devices. But as someone who uses monitors for both work and play, I appreciate that Lenovo brought some of its gaming monitor tech to the ThinkVision P27UL-40. Trust me when I say that your eyes won’t be disappointed.</p><h2 id="lenovo-thinkvision-p27ul-40-hands-on-design">Lenovo ThinkVision P27UL-40 hands-on: Design</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="9ocrt8bvhTyhNWYseqUDbG" name="Lenovo ThinkVision-6" alt="Lenovo ThinkVision P27UL-40" src="https://cdn.mos.cms.futurecdn.net/9ocrt8bvhTyhNWYseqUDbG-1920-80.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>The ThinkVision P27UL-40 might have a simple design at first glance, but it has some subtle features to help streamline your workspace and comfort.</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="RcVUjdjGvdzdAMy88Tgh5M" name="Lenovo ThinkVision-7" alt="Lenovo ThinkVision P27UL-40" src="https://cdn.mos.cms.futurecdn.net/RcVUjdjGvdzdAMy88Tgh5M-1920-80.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>The swivel connecting the monitor’s stand to the base makes it easy to twist the monitor left and right. Raising and lowering the monitor along the stand is also simple. </p><p>There’s a cutaway on the stand to tuck your cables through, which keeps your desk nice and tidy. Speaking of cutaways, there’s also another one right on the base for your phone, which is also very convenient.</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="WAaG4HySd7AoLwicsS5ryW" name="Lenovo ThinkVision-5" alt="Lenovo ThinkVision P27UL-40" src="https://cdn.mos.cms.futurecdn.net/WAaG4HySd7AoLwicsS5ryW-1920-80.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>Thanks to the built-in Thunderbolt hub, you can connect your laptop with a single cable to transmit video, data, and power simultaneously. </p><p>If the laptop is from Lenovo, you can synchronize brightness controls and even mirror the power button. I didn’t get to test this, but it sounds like it should streamline things for those with a Lenovo laptop.</p><h2 id="lenovo-thinkvision-p27ul-40-hands-on-outlook">Lenovo ThinkVision P27UL-40 hands-on: Outlook</h2><p>I'll need some proper time with the Lenovo ThinkVision P27UL-40 before rendering a verdict, but based on my brief time, I think this could be a fantastic monitor for work, creative projects, and even gaming. </p><p>Our lab tests will also reveal if the monitor can hit those lofty color reproduction numbers that Lenovo detailed.</p><p>The Lenovo ThinkVision P27UL-40 launches in March 2027 with a price tag of $1,299. That's certainly a little steep, but given everything this monitor promises, it might be worth it. 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/handheld-gaming/i-tested-acers-wild-flip-and-swivel-handheld-why-project-dualplay-mini-is-the-ultimate-netbook-love-letter">I tested Acer’s wild flip-and-swivel handheld — why Project DualPlay Mini is the ultimate netbook love letter</a></li><li><a href="https://www.tomsguide.com/gaming/pc-gaming/i-tested-the-real-dlss-5-forget-the-leaked-mods-its-not-an-ai-filter-this-is-nvidias-photorealistic-game-changer">I wanted to hate Nvidia’s DLSS 5 ‘AI filter’ — but the real DLSS 5 is photorealistic black magic</a></li><li><a href="https://www.tomsguide.com/computing/gaming-laptops/i-tested-6-rtx-spark-laptops-for-gaming-and-the-winner-completely-shocked-me">I tested 6 RTX Spark laptops for gaming — and the winner completely shocked me</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/monitors/lenovo-thinkvision-p27ul-40-hands-on</link>
                                                                            <description>
                            <![CDATA[ The Lenovo ThinkVision P27UL-40 is an upcoming 27-inch 4K OLED monitor built for work and play. We went eyes-on with it, and here's what we think. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">nherKqWoMSUaHJDjk4PFLi</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/cTqJ5Ji9tU5gvGwTvbJy44-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 03 Sep 2026 16:00:21 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Monitors]]></category>
                                                    <category><![CDATA[Computing Peripherals]]></category>
                                                    <category><![CDATA[Computing Hardware]]></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-320-70.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/cTqJ5Ji9tU5gvGwTvbJy44-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Lenovo ThinkVision P27UL-40]]></media:description>                                                            <media:text><![CDATA[Lenovo ThinkVision P27UL-40]]></media:text>
                                <media:title type="plain"><![CDATA[Lenovo ThinkVision P27UL-40]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/cTqJ5Ji9tU5gvGwTvbJy44-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The Lenovo ThinkVision P27UL-40 is one seriously impressive monitor. Announced during <a href="https://www.tomsguide.com/tech-events/ifa-2026-what-to-expect">IFA 2026</a>, this is Lenovo’s first 27-inch 4K InkJet Printing OLED Thunderbolt docking monitor for productivity work. It can even synchronize with Lenovo laptops to create a more unified workspace.</p><p>I briefly went hands-on (or eyes-on) with the P27UL-40 during a Lenovo IFA event, and let me tell you, it was a sight to behold. The contrast provided by the OLED panel is excellent and helps make colors truly pop out. </p><p>I’m also a fan of the slender design, which includes a stand with a cutaway for your phone. This is exactly the kind of monitor I’d want for my own work setup.</p><p>Here are my early thoughts on the Lenovo ThinkVision P27UL-40 and why it could be great for those who want a work monitor that’s a cut above the rest.</p><h2 id="lenovo-thinkvision-p27ul-40-hands-on-specs">Lenovo ThinkVision P27UL-40 hands-on: Specs</h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Lenovo ThinkVision P27UL-40</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>$1,299</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p> 27-inches</p></td></tr><tr><td class="firstcol " ><p><strong>Resolution</strong></p></td><td  ><p> 3840 x 2160</p></td></tr><tr><td class="firstcol " ><p><strong>Aspect ratio</strong></p></td><td  ><p>16:9</p></td></tr><tr><td class="firstcol " ><p><strong>Refresh rate</strong></p></td><td  ><p>60-120Hz</p></td></tr><tr><td class="firstcol " ><p><strong>Panel type</strong></p></td><td  ><p>OLED</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>1x HDMI, 2x DisplayPort, 2x USB-C, 1x Ethernet, 1x USB-C, 2x USB-A</p></td></tr></tbody></table></div><h2 id="lenovo-thinkvision-p27ul-40-hands-on-display">Lenovo ThinkVision P27UL-40 hands-on: Display</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="RVfcQbd97QhCjb6CeEP4YA" name="Lenovo ThinkVision-2" alt="Lenovo ThinkVision P27UL-40" src="https://cdn.mos.cms.futurecdn.net/RVfcQbd97QhCjb6CeEP4YA-1920-80.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’s a lot of fancy tech in the ThinkVision P27UL-40, but suffice it to say that it offers excellent image quality for whatever’s on the screen.</p><p>The photos you see throughout this article don’t do the 27-inch 4K OLED panel justice, as it looks far superior in person. I actually asked Lenovo to dim the lights around the monitor, and that allowed me to see just how bright and vibrant the panel can get. </p><p>Lenovo says it will cover 99% of the DCI-P3 and 100% sRGB color spaces, and targets 500 nits of HDR brightness.</p><p>You don’t often see 27-inch 4K OLED productivity monitors, since these kind of monitors are usually gaming devices. But as someone who uses monitors for both work and play, I appreciate that Lenovo brought some of its gaming monitor tech to the ThinkVision P27UL-40. Trust me when I say that your eyes won’t be disappointed.</p><h2 id="lenovo-thinkvision-p27ul-40-hands-on-design">Lenovo ThinkVision P27UL-40 hands-on: Design</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="9ocrt8bvhTyhNWYseqUDbG" name="Lenovo ThinkVision-6" alt="Lenovo ThinkVision P27UL-40" src="https://cdn.mos.cms.futurecdn.net/9ocrt8bvhTyhNWYseqUDbG-1920-80.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>The ThinkVision P27UL-40 might have a simple design at first glance, but it has some subtle features to help streamline your workspace and comfort.</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="RcVUjdjGvdzdAMy88Tgh5M" name="Lenovo ThinkVision-7" alt="Lenovo ThinkVision P27UL-40" src="https://cdn.mos.cms.futurecdn.net/RcVUjdjGvdzdAMy88Tgh5M-1920-80.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>The swivel connecting the monitor’s stand to the base makes it easy to twist the monitor left and right. Raising and lowering the monitor along the stand is also simple. </p><p>There’s a cutaway on the stand to tuck your cables through, which keeps your desk nice and tidy. Speaking of cutaways, there’s also another one right on the base for your phone, which is also very convenient.</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="WAaG4HySd7AoLwicsS5ryW" name="Lenovo ThinkVision-5" alt="Lenovo ThinkVision P27UL-40" src="https://cdn.mos.cms.futurecdn.net/WAaG4HySd7AoLwicsS5ryW-1920-80.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>Thanks to the built-in Thunderbolt hub, you can connect your laptop with a single cable to transmit video, data, and power simultaneously. </p><p>If the laptop is from Lenovo, you can synchronize brightness controls and even mirror the power button. I didn’t get to test this, but it sounds like it should streamline things for those with a Lenovo laptop.</p><h2 id="lenovo-thinkvision-p27ul-40-hands-on-outlook">Lenovo ThinkVision P27UL-40 hands-on: Outlook</h2><p>I'll need some proper time with the Lenovo ThinkVision P27UL-40 before rendering a verdict, but based on my brief time, I think this could be a fantastic monitor for work, creative projects, and even gaming. </p><p>Our lab tests will also reveal if the monitor can hit those lofty color reproduction numbers that Lenovo detailed.</p><p>The Lenovo ThinkVision P27UL-40 launches in March 2027 with a price tag of $1,299. That's certainly a little steep, but given everything this monitor promises, it might be worth it. 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/handheld-gaming/i-tested-acers-wild-flip-and-swivel-handheld-why-project-dualplay-mini-is-the-ultimate-netbook-love-letter">I tested Acer’s wild flip-and-swivel handheld — why Project DualPlay Mini is the ultimate netbook love letter</a></li><li><a href="https://www.tomsguide.com/gaming/pc-gaming/i-tested-the-real-dlss-5-forget-the-leaked-mods-its-not-an-ai-filter-this-is-nvidias-photorealistic-game-changer">I wanted to hate Nvidia’s DLSS 5 ‘AI filter’ — but the real DLSS 5 is photorealistic black magic</a></li><li><a href="https://www.tomsguide.com/computing/gaming-laptops/i-tested-6-rtx-spark-laptops-for-gaming-and-the-winner-completely-shocked-me">I tested 6 RTX Spark laptops for gaming — and the winner completely shocked me</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I went hands-on with the Lenovo IdeaPad Vibe — and this colorful MacBook Neo rival has way more ports ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The <a href="https://www.tomsguide.com/computing/macbooks/apple-macbook-neo-review">MacBook Neo</a> had better watch out, because the Lenovo IdeaPad Vibe is coming. Starting at $699, this laptop comes in multiple colors and is designed for folks who want a reliable everyday notebook at a reasonable price. Lenovo also says the Vibe won’t skimp on performance or battery life.</p><p>I briefly went hands-on with the IdeaPad Vibe at a Lenovo IFA event and was impressed by what I saw. Not only is it colorful, but it also feels good to hold thanks to its sturdy yet lightweight design. It’s the kind of laptop I’d like to take on the road since it has such a thin and light profile. The promise of configurations with AMD, Snapdragon X, and eventually Intel CPUs is also exciting.</p><p>Here’s what I think of the Lenovo IdeaPad Vibe.</p><h2 id="lenovo-ideapad-vibe-specs">Lenovo IdeaPad Vibe: Specs</h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Lenovo IdeaPad Vibe (14- and 15-inch with AMD)</strong></p></td><td  ><p><strong>Lenovo IdeaPad Vibe (14- and 15-inch with Qualcomm)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price (starting)</strong></p></td><td  ><p>$699</p></td><td  ><p>$699</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>WUXGA (1920 x 1200) OLED / 2.1K OLED, touch</p></td><td  ><p>2.1K OLED, touch</p></td></tr><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>AMD Ryzen AI 400 Series </p></td><td  ><p>Snapdragon X </p></td></tr><tr><td class="firstcol " ><p><strong>GPU</strong></p></td><td  ><p>UMA: Integrated Graphics </p></td><td  ><p>UMA: Integrated Graphics </p></td></tr><tr><td class="firstcol " ><p><strong>Memory</strong></p></td><td  ><p>Up to 32GB</p></td><td  ><p>Up to 24GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>Up to 1TB</p></td><td  ><p>Up to 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>2x USB 3.2 Type-A (Gen 1 5GB/s), 1x HDMI 1.4, 2x USB-C PD 1.2 (Display Port) PD 3.0 (Power Delivery) 5GB/s, 1x headphone jack, 1x Micro SD card slot</p></td><td  ><p>2x USB 3.2 Type-A (Gen 1 5GB/s), 1x HDMI 1.4, 2x USB-C PD 1.2 (Display Port) PD 3.0 (Power Delivery) 5GB/s, 1x headphone jack, 1x Micro SD card slot</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Dreamy Violet, Spicy Gold, Zen Green, Chill Blue, Radiant Coral, Moody Blue, Lowkey Green</p></td><td  ><p>Dreamy Violet, Spicy Gold, Zen Green, Chill Blue, Radiant Coral, Moody Blue, Lowkey Green</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>WiFi 7 and Bluetooth 5.4</p></td><td  ><p>WiFi 7 and Bluetooth 5.4</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>12.35 × 87.59 × 0.59</p></td><td  ><p>12.35 × 87.59 × 0.59 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>3.31 pounds</p></td><td  ><p>3.31 pounds</p></td></tr></tbody></table></div><h2 id="lenovo-ideapad-vibe-price-and-availability">Lenovo IdeaPad Vibe: Price and availability</h2><p>You won’t have to wait long for the Lenovo IdeaPad Vibe to arrive.</p><p>14- and 15-inch models with AMD start shipping in October with an expected starting price of $699. Models with Qualcomm Snapdragon X begin shipping in November with the same expected $699 starting price. Models with Intel chips will be available at a later date.</p><p>Given IdeaPad Vibe’s expected $699 price and holiday launch window, it’s clear Lenovo is positioning its laptop as a MacBook Neo and <a href="https://www.tomsguide.com/computing/laptops/dell-xps-13-2026-review">Dell XPS 13</a> competitor.</p><h2 id="lenovo-ideapad-vibe-design-amp-display">Lenovo IdeaPad Vibe: Design & display</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="jmKkTtb7n6uruQQEk7qFBJ" name="Lenovo IdeaPad Vibe-8" alt="Lenovo IdeaPad Vibe" src="https://cdn.mos.cms.futurecdn.net/jmKkTtb7n6uruQQEk7qFBJ-1920-80.jpg" 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>If you want a colorful laptop, the IdeaPad Vibe has you covered. Lenovo partnered with the Pantone Institute to create a range of color options for its affordable laptop. </p><p>The available colors include Dreamy Violet, Spicy Gold, Zen Green, Chill Blue, Radiant Coral, Moody Blue, and Lowkey Green. These naturalistic colors won’t seem out of place wherever you’re using the Vibe.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="iVZMJurVViLGvuBUveXLbA" name="Lenovo IdeaPad Vibe-5" alt="Lenovo IdeaPad Vibe" src="https://cdn.mos.cms.futurecdn.net/iVZMJurVViLGvuBUveXLbA-1920-80.jpg" 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>The IdeaPad Vibe’s metal chassis complements the colors well and gives it a premium feel. As with the new Dell XPS 13, it’s nice to see budget-friendly Windows laptops that aren’t made of cheap plastic. The 14-inch model measures 12.35 × 87.59 × 0.59 inches and weighs 2.87 pounds, making it extremely portable and unobtrusive.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nVH7gu55ahHYmGATE6vLNJ" name="Lenovo IdeaPad Vibe-2" alt="Lenovo IdeaPad Vibe" src="https://cdn.mos.cms.futurecdn.net/nVH7gu55ahHYmGATE6vLNJ-1920-80.jpg" 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>Unlike many thin and light laptops, the IdeaPad Vibe has a wide array of ports. On the right side, you’ll find a pair of USB-A ports, while on the left, there’s an HDMI port, two USB-C ports, a headphone jack, and a MicroSD card reader. Port-wise, Lenovo’s laptop beats the XPS 13 and MacBook Neo.</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="AktksiEGgeGcoWf2Cdo3Mi" name="Lenovo IdeaPad Vibe-1" alt="Lenovo IdeaPad Vibe" src="https://cdn.mos.cms.futurecdn.net/AktksiEGgeGcoWf2Cdo3Mi-1920-80.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>The 14-inch model will have up to a 1920 x 1200-pixel OLED panel, while the 15-inch variant will sport up to a 2.1K OLED panel, with the latter offering a touch option. We’ll need to get the laptop into our testing lab to see what its display can do, but Lenovo says it’s rated for 100% DCI-P3 coverage. To my eyes, the display appeared sufficiently bright and colorful.</p><h2 id="lenovo-ideapad-vibe-performance-amp-battery-life">Lenovo IdeaPad Vibe: Performance & battery 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ihzkWPKHhTavpoAMxUiKR3" name="Lenovo IdeaPad Vibe-4" alt="Lenovo IdeaPad Vibe" src="https://cdn.mos.cms.futurecdn.net/ihzkWPKHhTavpoAMxUiKR3-1920-80.jpg" 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>Based on its components, the IdeaPad Vibe should be sufficiently powerful for everyday work. And since this is a <a href="https://www.tomsguide.com/computing/laptops/copilot-pcs-make-windows-fun-again-ive-been-waiting-for-this-moment-for-23-years">Copilot+ PC</a>, expect it to handle some on-device AI workloads as well.</p><p>Configurations with AMD Ryzen AI will launch first, followed by Snapdragon X models in November and Intel variants at a later date. You’ll be able to configure the laptop with up to 32GB of RAM for AMD models and up to 24GB for Snapdragon X. Both can be configured with up to 1TB of storage. Interestingly enough, both RAM and SSD are upgradeable.</p><p>All machines in the Idea line will include Lenovo Qira, the company’s personal AI experience that provides contextual assistance across supported PCs, mobile devices, tablets, and even wearables. This feature wasn’t available for testing during my briefing, so I’m curious to see whether it provides useful assistance or becomes another feature you forget exists.</p><p>Lenovo says the IdeaPad Vibe has “all-day” battery life. Given that laptops we’ve tested with Snapdragon X and AMD Ryzen AI can last anywhere from 10 to 20 hours, I’m eager to see how long these laptops will last in real-world use.</p><h2 id="lenovo-ideapad-vibe-outlook">Lenovo IdeaPad Vibe: Outlook</h2><p>The Lenovo IdeaPad Vibe seems like a serious MacBook Neo rival, thanks to its array of colors, budget-friendly starting price, and the promise of all-day battery life and solid everyday performance. And if Lenovo Qira delivers helpful on-device AI, this could make the Vibe even more appealing.</p><p>The MacBook Neo was a warning shot, and it's good to see companies like Lenovo respond with their own affordable laptop that promises a similarly premium design, vivid display, and strong performance. We'll have to wait and see, but right now, I'm pretty excited about the IdeaPad Vibe.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong>I tested Acer’s wild flip-and-swivel handheld — why Project DualPlay Mini is the ultimate netbook love letter</strong></li><li><strong>I wanted to hate Nvidia’s DLSS 5 ‘AI filter’ — but the real DLSS 5 is photorealistic black magic</strong></li><li><strong>I tested 6 RTX Spark laptops for gaming — and the winner completely shocked me</strong></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/laptops/lenovo-ideapad-vibe-hands-on</link>
                                                                            <description>
                            <![CDATA[ We went hands-on with the upcoming Lenovo IdeaPad Vibe, and it could be the next major MacBook Neo rival. Here's what we think of this colorful laptop. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">yvrL7cRgM8cwNUfsXW3zV</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/rztUptRiRnmAkDN2uA7TaB-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 03 Sep 2026 16:00:13 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Laptops]]></category>
                                                    <category><![CDATA[Computing Peripherals]]></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-320-70.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/rztUptRiRnmAkDN2uA7TaB-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Lenovo IdeaPad Vibe]]></media:description>                                                            <media:text><![CDATA[Lenovo IdeaPad Vibe]]></media:text>
                                <media:title type="plain"><![CDATA[Lenovo IdeaPad Vibe]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/rztUptRiRnmAkDN2uA7TaB-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/computing/macbooks/apple-macbook-neo-review">MacBook Neo</a> had better watch out, because the Lenovo IdeaPad Vibe is coming. Starting at $699, this laptop comes in multiple colors and is designed for folks who want a reliable everyday notebook at a reasonable price. Lenovo also says the Vibe won’t skimp on performance or battery life.</p><p>I briefly went hands-on with the IdeaPad Vibe at a Lenovo IFA event and was impressed by what I saw. Not only is it colorful, but it also feels good to hold thanks to its sturdy yet lightweight design. It’s the kind of laptop I’d like to take on the road since it has such a thin and light profile. The promise of configurations with AMD, Snapdragon X, and eventually Intel CPUs is also exciting.</p><p>Here’s what I think of the Lenovo IdeaPad Vibe.</p><h2 id="lenovo-ideapad-vibe-specs">Lenovo IdeaPad Vibe: Specs</h2><div ><table><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Lenovo IdeaPad Vibe (14- and 15-inch with AMD)</strong></p></td><td  ><p><strong>Lenovo IdeaPad Vibe (14- and 15-inch with Qualcomm)</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Price (starting)</strong></p></td><td  ><p>$699</p></td><td  ><p>$699</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>WUXGA (1920 x 1200) OLED / 2.1K OLED, touch</p></td><td  ><p>2.1K OLED, touch</p></td></tr><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>AMD Ryzen AI 400 Series </p></td><td  ><p>Snapdragon X </p></td></tr><tr><td class="firstcol " ><p><strong>GPU</strong></p></td><td  ><p>UMA: Integrated Graphics </p></td><td  ><p>UMA: Integrated Graphics </p></td></tr><tr><td class="firstcol " ><p><strong>Memory</strong></p></td><td  ><p>Up to 32GB</p></td><td  ><p>Up to 24GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>Up to 1TB</p></td><td  ><p>Up to 1TB</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>2x USB 3.2 Type-A (Gen 1 5GB/s), 1x HDMI 1.4, 2x USB-C PD 1.2 (Display Port) PD 3.0 (Power Delivery) 5GB/s, 1x headphone jack, 1x Micro SD card slot</p></td><td  ><p>2x USB 3.2 Type-A (Gen 1 5GB/s), 1x HDMI 1.4, 2x USB-C PD 1.2 (Display Port) PD 3.0 (Power Delivery) 5GB/s, 1x headphone jack, 1x Micro SD card slot</p></td></tr><tr><td class="firstcol " ><p><strong>Colors</strong></p></td><td  ><p>Dreamy Violet, Spicy Gold, Zen Green, Chill Blue, Radiant Coral, Moody Blue, Lowkey Green</p></td><td  ><p>Dreamy Violet, Spicy Gold, Zen Green, Chill Blue, Radiant Coral, Moody Blue, Lowkey Green</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>WiFi 7 and Bluetooth 5.4</p></td><td  ><p>WiFi 7 and Bluetooth 5.4</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>12.35 × 87.59 × 0.59</p></td><td  ><p>12.35 × 87.59 × 0.59 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>3.31 pounds</p></td><td  ><p>3.31 pounds</p></td></tr></tbody></table></div><h2 id="lenovo-ideapad-vibe-price-and-availability">Lenovo IdeaPad Vibe: Price and availability</h2><p>You won’t have to wait long for the Lenovo IdeaPad Vibe to arrive.</p><p>14- and 15-inch models with AMD start shipping in October with an expected starting price of $699. Models with Qualcomm Snapdragon X begin shipping in November with the same expected $699 starting price. Models with Intel chips will be available at a later date.</p><p>Given IdeaPad Vibe’s expected $699 price and holiday launch window, it’s clear Lenovo is positioning its laptop as a MacBook Neo and <a href="https://www.tomsguide.com/computing/laptops/dell-xps-13-2026-review">Dell XPS 13</a> competitor.</p><h2 id="lenovo-ideapad-vibe-design-amp-display">Lenovo IdeaPad Vibe: Design & display</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="jmKkTtb7n6uruQQEk7qFBJ" name="Lenovo IdeaPad Vibe-8" alt="Lenovo IdeaPad Vibe" src="https://cdn.mos.cms.futurecdn.net/jmKkTtb7n6uruQQEk7qFBJ-1920-80.jpg" 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>If you want a colorful laptop, the IdeaPad Vibe has you covered. Lenovo partnered with the Pantone Institute to create a range of color options for its affordable laptop. </p><p>The available colors include Dreamy Violet, Spicy Gold, Zen Green, Chill Blue, Radiant Coral, Moody Blue, and Lowkey Green. These naturalistic colors won’t seem out of place wherever you’re using the Vibe.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="iVZMJurVViLGvuBUveXLbA" name="Lenovo IdeaPad Vibe-5" alt="Lenovo IdeaPad Vibe" src="https://cdn.mos.cms.futurecdn.net/iVZMJurVViLGvuBUveXLbA-1920-80.jpg" 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>The IdeaPad Vibe’s metal chassis complements the colors well and gives it a premium feel. As with the new Dell XPS 13, it’s nice to see budget-friendly Windows laptops that aren’t made of cheap plastic. The 14-inch model measures 12.35 × 87.59 × 0.59 inches and weighs 2.87 pounds, making it extremely portable and unobtrusive.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nVH7gu55ahHYmGATE6vLNJ" name="Lenovo IdeaPad Vibe-2" alt="Lenovo IdeaPad Vibe" src="https://cdn.mos.cms.futurecdn.net/nVH7gu55ahHYmGATE6vLNJ-1920-80.jpg" 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>Unlike many thin and light laptops, the IdeaPad Vibe has a wide array of ports. On the right side, you’ll find a pair of USB-A ports, while on the left, there’s an HDMI port, two USB-C ports, a headphone jack, and a MicroSD card reader. Port-wise, Lenovo’s laptop beats the XPS 13 and MacBook Neo.</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="AktksiEGgeGcoWf2Cdo3Mi" name="Lenovo IdeaPad Vibe-1" alt="Lenovo IdeaPad Vibe" src="https://cdn.mos.cms.futurecdn.net/AktksiEGgeGcoWf2Cdo3Mi-1920-80.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>The 14-inch model will have up to a 1920 x 1200-pixel OLED panel, while the 15-inch variant will sport up to a 2.1K OLED panel, with the latter offering a touch option. We’ll need to get the laptop into our testing lab to see what its display can do, but Lenovo says it’s rated for 100% DCI-P3 coverage. To my eyes, the display appeared sufficiently bright and colorful.</p><h2 id="lenovo-ideapad-vibe-performance-amp-battery-life">Lenovo IdeaPad Vibe: Performance & battery 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ihzkWPKHhTavpoAMxUiKR3" name="Lenovo IdeaPad Vibe-4" alt="Lenovo IdeaPad Vibe" src="https://cdn.mos.cms.futurecdn.net/ihzkWPKHhTavpoAMxUiKR3-1920-80.jpg" 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>Based on its components, the IdeaPad Vibe should be sufficiently powerful for everyday work. And since this is a <a href="https://www.tomsguide.com/computing/laptops/copilot-pcs-make-windows-fun-again-ive-been-waiting-for-this-moment-for-23-years">Copilot+ PC</a>, expect it to handle some on-device AI workloads as well.</p><p>Configurations with AMD Ryzen AI will launch first, followed by Snapdragon X models in November and Intel variants at a later date. You’ll be able to configure the laptop with up to 32GB of RAM for AMD models and up to 24GB for Snapdragon X. Both can be configured with up to 1TB of storage. Interestingly enough, both RAM and SSD are upgradeable.</p><p>All machines in the Idea line will include Lenovo Qira, the company’s personal AI experience that provides contextual assistance across supported PCs, mobile devices, tablets, and even wearables. This feature wasn’t available for testing during my briefing, so I’m curious to see whether it provides useful assistance or becomes another feature you forget exists.</p><p>Lenovo says the IdeaPad Vibe has “all-day” battery life. Given that laptops we’ve tested with Snapdragon X and AMD Ryzen AI can last anywhere from 10 to 20 hours, I’m eager to see how long these laptops will last in real-world use.</p><h2 id="lenovo-ideapad-vibe-outlook">Lenovo IdeaPad Vibe: Outlook</h2><p>The Lenovo IdeaPad Vibe seems like a serious MacBook Neo rival, thanks to its array of colors, budget-friendly starting price, and the promise of all-day battery life and solid everyday performance. And if Lenovo Qira delivers helpful on-device AI, this could make the Vibe even more appealing.</p><p>The MacBook Neo was a warning shot, and it's good to see companies like Lenovo respond with their own affordable laptop that promises a similarly premium design, vivid display, and strong performance. We'll have to wait and see, but right now, I'm pretty excited about the IdeaPad Vibe.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong>I tested Acer’s wild flip-and-swivel handheld — why Project DualPlay Mini is the ultimate netbook love letter</strong></li><li><strong>I wanted to hate Nvidia’s DLSS 5 ‘AI filter’ — but the real DLSS 5 is photorealistic black magic</strong></li><li><strong>I tested 6 RTX Spark laptops for gaming — and the winner completely shocked me</strong></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tested Acer's latest lightweight laptop, and it felt like I was holding nothing at all — but there are some problems ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I've always been a fan of tech that manages to blend slimness and a lightweight design into a form factor that's still equally useful (partly why I daily drive an <a href="https://www.tomsguide.com/phones/iphones/iphone-air-review">iPhone Air</a>). And Acer's new Swift Blade 14 at IFA 2026 takes that idea almost to the extreme. </p><p>The Swift Blade 14 isn't just another <a href="https://www.tomsguide.com/computing/laptops/forget-the-macbook-neo-these-4-windows-laptops-are-just-as-powerful">MacBook Neo competitor</a> or one of the new <a href="https://www.tomsguide.com/computing/gaming-laptops/i-tested-6-rtx-spark-laptops-for-gaming-and-the-winner-completely-shocked-me">Nvidia RTX Spark-powered laptops</a> we've seen here in Berlin. The whole point of this laptop is much simpler: Acer has managed to make a proper 14-inch laptop that weighs just under 800 grams (1.7lbs). </p><p>The Swift Blade 14 looks like pretty much any other thin-and-light laptop at first. It has a slim profile and a catchy design, available in two great-looking colors, namely Marshmallow White and Marshmallow Blue. But then you actually pick it up, and that's when the laptop catches you by surprise. At just 799 grams, it feels almost weightless in the hand. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kjojvL8eytmXmLndyB76PW" name="acer-swift-blade-14-2" alt="Hands-on with the Acer Swift Blade 14 laptop at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/kjojvL8eytmXmLndyB76PW-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>For reference, that's less than the combined weight of a <a href="https://www.tomsguide.com/computing/ipads/ipad-pro-m5-review">13-inch iPad Pro</a> with Apple's Magic Keyboard attached, which really puts into perspective just how light this thing is. </p><p>Of course, getting the weight this low means Acer has had to make some compromises. The chassis initially feels almost plastic-like in the hand, although Acer is actually using a combination of ultra-light carbon fiber and magnesium-aluminum alloy to keep the weight down. </p><p>The keyboard and trackpad are where I noticed the compromises more. The trackpad itself is plenty large, but neither it nor the keyboard has the tactile feel you'd expect from a more premium laptop. </p><p>The keyboard deck also flexes noticeably if you press down on it harder than usual. Thankfully, the display lid itself doesn't feel particularly flimsy, which surprised me considering just how little the entire machine weighs.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LZgvjc7nyTfjqyAVAdyb96" name="acer-swift-blade-14-4" alt="Hands-on with the Acer Swift Blade 14 laptop at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/LZgvjc7nyTfjqyAVAdyb96-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>Acer hasn't completely sacrificed the specs to achieve that weight either. The Swift Blade 14 is powered by Intel's Core Series 3 processors, with configurations going up to the Core 7 350. You also get a gorgeous 14-inch 3K OLED display with great color reproduction and what appeared to be an anti-reflective coating on top.</p><p>Acer tells me there will also be an IPS LCD variant with a 60Hz refresh rate, which will presumably sit at the lower end of the pricing spectrum. Other internals include 12GB of LPDDR5 RAM and up to 1TB of SSD storage. There's also a 50Wh battery underneath, which isn't massive by any means, but should be enough for regular day-to-day use on the go. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="r8oU4CY39V4om9iNjLsaCW" name="acer-swift-blade-14-5" alt="Hands-on with the Acer Swift Blade 14 laptop at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/r8oU4CY39V4om9iNjLsaCW-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>The port selection isn't bad for something this thin either. There are USB-C ports on both sides, including two on the left, while the right side also houses a 3.5mm headphone jack. One little addition I particularly like is the physical camera switch on the side, letting you completely disable the webcam with just a flip. </p><p>Acer hasn't announced U.S. pricing or availability for the Swift Blade 14 just yet. The company says the laptop will be available in Europe toward the end of this year, but there's currently no word on whether it'll eventually make its way to the U.S.</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/laptops/forget-framework-i-just-popped-open-acers-new-modular-laptop-and-it-could-be-the-end-of-throwaway-pcs">I tore apart Acer’s £1,599 Vero 16 with my bare hands — Framework finally has a lethal rival</a></li><li><a href="https://www.tomsguide.com/computing/toms-guide-computing-awards-2026-22-game-changing-laptops-desktops-and-peripherals">Tom’s Guide Computing Awards 2026: 22 game-changing laptops, desktops and peripherals</a></li><li><a href="https://www.tomsguide.com/computing/laptops/i-ditched-my-macbook-pro-for-the-dell-xps-13-heres-why-i-returned-to-windows">I ditched my MacBook Pro for the Dell XPS 13 — here's why I returned to Windows</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/laptops/acer-swift-blade-14-ifa-2026-hands-on</link>
                                                                            <description>
                            <![CDATA[ Acer's new Swift Blade 14 weighs just 799 grams and measures 12.9mm thin. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">7iKvVoFLah5Q6JEERZZsLQ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/eWUPM9QGt4XjJrTZN6RjGW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 03 Sep 2026 09:49:01 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Laptops]]></category>
                                                    <category><![CDATA[Computing Peripherals]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sanuj Bhatia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/8p5BvMVA7cnu5AWkxnTjRC-320-70.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/eWUPM9QGt4XjJrTZN6RjGW-1280-80.jpg">
                                                            <media:credit><![CDATA[Sanuj Bhatia / Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Hands-on with the Acer Swift Blade 14 laptop at IFA 2026]]></media:description>                                                            <media:text><![CDATA[Hands-on with the Acer Swift Blade 14 laptop at IFA 2026]]></media:text>
                                <media:title type="plain"><![CDATA[Hands-on with the Acer Swift Blade 14 laptop at IFA 2026]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/eWUPM9QGt4XjJrTZN6RjGW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I've always been a fan of tech that manages to blend slimness and a lightweight design into a form factor that's still equally useful (partly why I daily drive an <a href="https://www.tomsguide.com/phones/iphones/iphone-air-review">iPhone Air</a>). And Acer's new Swift Blade 14 at IFA 2026 takes that idea almost to the extreme. </p><p>The Swift Blade 14 isn't just another <a href="https://www.tomsguide.com/computing/laptops/forget-the-macbook-neo-these-4-windows-laptops-are-just-as-powerful">MacBook Neo competitor</a> or one of the new <a href="https://www.tomsguide.com/computing/gaming-laptops/i-tested-6-rtx-spark-laptops-for-gaming-and-the-winner-completely-shocked-me">Nvidia RTX Spark-powered laptops</a> we've seen here in Berlin. The whole point of this laptop is much simpler: Acer has managed to make a proper 14-inch laptop that weighs just under 800 grams (1.7lbs). </p><p>The Swift Blade 14 looks like pretty much any other thin-and-light laptop at first. It has a slim profile and a catchy design, available in two great-looking colors, namely Marshmallow White and Marshmallow Blue. But then you actually pick it up, and that's when the laptop catches you by surprise. At just 799 grams, it feels almost weightless in the hand. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kjojvL8eytmXmLndyB76PW" name="acer-swift-blade-14-2" alt="Hands-on with the Acer Swift Blade 14 laptop at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/kjojvL8eytmXmLndyB76PW-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>For reference, that's less than the combined weight of a <a href="https://www.tomsguide.com/computing/ipads/ipad-pro-m5-review">13-inch iPad Pro</a> with Apple's Magic Keyboard attached, which really puts into perspective just how light this thing is. </p><p>Of course, getting the weight this low means Acer has had to make some compromises. The chassis initially feels almost plastic-like in the hand, although Acer is actually using a combination of ultra-light carbon fiber and magnesium-aluminum alloy to keep the weight down. </p><p>The keyboard and trackpad are where I noticed the compromises more. The trackpad itself is plenty large, but neither it nor the keyboard has the tactile feel you'd expect from a more premium laptop. </p><p>The keyboard deck also flexes noticeably if you press down on it harder than usual. Thankfully, the display lid itself doesn't feel particularly flimsy, which surprised me considering just how little the entire machine weighs.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="LZgvjc7nyTfjqyAVAdyb96" name="acer-swift-blade-14-4" alt="Hands-on with the Acer Swift Blade 14 laptop at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/LZgvjc7nyTfjqyAVAdyb96-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>Acer hasn't completely sacrificed the specs to achieve that weight either. The Swift Blade 14 is powered by Intel's Core Series 3 processors, with configurations going up to the Core 7 350. You also get a gorgeous 14-inch 3K OLED display with great color reproduction and what appeared to be an anti-reflective coating on top.</p><p>Acer tells me there will also be an IPS LCD variant with a 60Hz refresh rate, which will presumably sit at the lower end of the pricing spectrum. Other internals include 12GB of LPDDR5 RAM and up to 1TB of SSD storage. There's also a 50Wh battery underneath, which isn't massive by any means, but should be enough for regular day-to-day use on the go. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="r8oU4CY39V4om9iNjLsaCW" name="acer-swift-blade-14-5" alt="Hands-on with the Acer Swift Blade 14 laptop at IFA 2026" src="https://cdn.mos.cms.futurecdn.net/r8oU4CY39V4om9iNjLsaCW-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>The port selection isn't bad for something this thin either. There are USB-C ports on both sides, including two on the left, while the right side also houses a 3.5mm headphone jack. One little addition I particularly like is the physical camera switch on the side, letting you completely disable the webcam with just a flip. </p><p>Acer hasn't announced U.S. pricing or availability for the Swift Blade 14 just yet. The company says the laptop will be available in Europe toward the end of this year, but there's currently no word on whether it'll eventually make its way to the U.S.</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/laptops/forget-framework-i-just-popped-open-acers-new-modular-laptop-and-it-could-be-the-end-of-throwaway-pcs">I tore apart Acer’s £1,599 Vero 16 with my bare hands — Framework finally has a lethal rival</a></li><li><a href="https://www.tomsguide.com/computing/toms-guide-computing-awards-2026-22-game-changing-laptops-desktops-and-peripherals">Tom’s Guide Computing Awards 2026: 22 game-changing laptops, desktops and peripherals</a></li><li><a href="https://www.tomsguide.com/computing/laptops/i-ditched-my-macbook-pro-for-the-dell-xps-13-heres-why-i-returned-to-windows">I ditched my MacBook Pro for the Dell XPS 13 — here's why I returned to Windows</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tested Acer's wild Project DualPlay Mini — and it's a gaming handheld and laptop in one gadget ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I miss netbooks. There, I said it.</p><p>In the late 2000s, Asus Eee PCs and Acer Aspire Ones took over the world. They were ultra-portable and fundamentally awful to use — sluggish Intel Atom chips and zero hope of running 3D games. But damn, I loved them.</p><p>Then I walked up to Project DualPlay Mini on the <a href="https://www.tomsguide.com/tech-events/ifa-2026-what-to-expect">IFA 2026</a> show floor, and it felt like stepping into an alternate timeline where the netbook grew up and went to the gym.</p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@tomsguide/video/7681377120110660877" data-video-id="7681377120110660877" 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="♬ Synthwave - Wiliam Geek" href="https://www.tiktok.com/music/Synthwave-7407812545971587089">♬ Synthwave - Wiliam Geek</a></section>                    </blockquote></div>                <p>Because while everyone is racing to copy the <a href="https://www.tomsguide.com/opinion/steam-deck-oled-is-the-must-buy-handheld-of-2023-and-the-perfect-holiday-gift-for-gamers">Steam Deck</a>, Acer’s 8-inch concept is reviving the lost art of the netbook. It’s a dedicated handheld console when you want to lounge on the train, and an actual clamshell laptop when you need to type an email or play a classic shooter.</p><p>Put simply, I’ve seen a lot of prototypes come and go where I thought, “this is cool, but nothing people will actually buy.” This is the first time I’ve looked at something and openly begged a company to release 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="T9HPzLhR3MZYSmJnuT7Rzj" name="Acer Project DualPlay Mini" alt="Acer Project DualPlay Mini" src="https://cdn.mos.cms.futurecdn.net/T9HPzLhR3MZYSmJnuT7Rzj-1920-80.jpg" 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: Future)</span></figcaption></figure><h2 id="flip-swivel-and-play">Flip, swivel and 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="2nC9zEW7UseGtXPsawme3k" name="Acer Project DualPlay Mini" alt="Acer Project DualPlay Mini" src="https://cdn.mos.cms.futurecdn.net/2nC9zEW7UseGtXPsawme3k-1920-80.jpg" 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: Future)</span></figcaption></figure><p>So let’s get into it, shall we? In its traditional handheld form, it looks weird with its protruding sides. But it's still comfortable to play games on.</p><p>But the central focal point is that flip-and-swivel display. The central hinge feels fundamentally stable, and the display flips with a smooth, gracious ease to reveal a full QWERTY keyboard — not big enough to rewrite War and Peace, but definitely enough for the daily essentials and expanding your game collection beyond just controller-preferred titles on the go.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8Que9XECR3s9pnugmsEpsj" name="Acer Project DualPlay Mini" alt="Acer Project DualPlay Mini" src="https://cdn.mos.cms.futurecdn.net/8Que9XECR3s9pnugmsEpsj-1920-80.jpg" 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: Future)</span></figcaption></figure><p>And that 8-inch touchscreen display manages to hit that golden ratio: large enough to display Windows 11 UI elements and game HUDs without squinting, but small enough to maintain that handheld (and netbook) balance.</p><p>Also, shout-out to the small details too. Legacy is important, and with Acer celebrating its 50th anniversary, you’ll find “Acer 50 since 1976” embossed in Morse code on the rear cover to celebrate its golden jubilee.</p><h2 id="the-big-friction-test">The big friction test</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="xi8AmrCr9bEnbaP7nwsKtj" name="Acer Project DualPlay Mini" alt="Acer Project DualPlay Mini" src="https://cdn.mos.cms.futurecdn.net/xi8AmrCr9bEnbaP7nwsKtj-1920-80.jpg" 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: Future)</span></figcaption></figure><p>Since this is an 8-inch device, we have to address the physical limitations. The keyboard is smaller than other full QWERTYs. It's still sizable enough not to be just a thumb-typing tool, and you'll get a comfortable feel for the WASD when playing a first-person shooter.</p><p>In handheld mode, the keys fold right back in, and you’re back to gaming mode with all the same ergonomic comfort you’d expect from the best <a href="https://www.tomsguide.com/round-up/best-handheld-gaming-consoles">handheld gaming consoles</a> in 2026. But wait, what about the lack of a touchpad?</p><p>You do have to rely on touchscreen Windows, which can be hit-and-miss, but not the end of the world. If Acer wanted to go truly crazy with this, a ThinkPad-style optical track nub would’ve been God mode for them. But with that touch panel up top, I found myself quickly getting into that flow of tapping and typing.</p><h2 id="serious-power-in-a-tiny-shell">Serious power in a tiny shell</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="8yGxTdPzCNb6CWr8RrVttj" name="Acer Project DualPlay Mini" alt="Acer Project DualPlay Mini" src="https://cdn.mos.cms.futurecdn.net/8yGxTdPzCNb6CWr8RrVttj-1920-80.jpg" 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: Future)</span></figcaption></figure><p>Performance-wise, Acer can only say it has an “Intel chip,” but given what I was able to get out of it (100 FPS on Forza Horizon 6 with XeSS3), I’m inclined to believe it’s an Arc G3 Extreme.</p><p>That’s maintained with rear dual-fan active cooling borrowed from the <a href="https://www.tomsguide.com/gaming/handheld-gaming/acer-predator-atlas-8-hands-on-review">Predator Atlas 8</a>, and the result is a massive contrast to the 2008 netbook experience and today. This tiny chassis has the thermal headroom to run full Windows 11 and AAA games — not just a single browser tab.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-Xj2BaX"></div>                            </div>                            <script src="https://kwizly.com/embed/Xj2BaX.js" async></script><h2 id="will-acer-actually-sell-this">Will Acer actually sell this?</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="u2WonKzL7HaigWGHCu7Ysj" name="Acer Project DualPlay Mini" alt="Acer Project DualPlay Mini" src="https://cdn.mos.cms.futurecdn.net/u2WonKzL7HaigWGHCu7Ysj-1920-80.jpg" 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: Future)</span></figcaption></figure><p>So here’s the bad news. Acer explicitly labeled DualPlay Mini as an “innovation concept,” while launching the standard Predator Atlas 7 alongside it.</p><p>But if you’re loud enough, companies will bend.</p><p>The gaming handheld market has become dangerously boring, with every brand releasing identical plastic slates. Project DualPlay Mini proves that form-factor experimentation isn’t dead, and it’s actually cool as hell.</p><p>Acer shouldn’t leave this in the R&D lab; the audience that loved netbooks — and the PC gamers who want a true all-in-one travel machine — are ready to buy it. I can feel it in my bones.</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/i-tested-the-usd1-299-rog-xbox-ally-x20-with-that-oled-display-the-usd300-price-hike-is-surprisingly-palatable">I tested the $1,299 ROG Xbox Ally X20 — with that OLED display, the $300 price hike is surprisingly palatable</a></li><li><a href="https://www.tomsguide.com/computing/laptops/forget-framework-i-just-popped-open-acers-new-modular-laptop-and-it-could-be-the-end-of-throwaway-pcs">Forget Framework — I just popped open Acer's new modular laptop and it could be the end of throwaway PCs</a></li><li><a href="https://www.tomsguide.com/computing/gaming-laptops/i-tested-6-rtx-spark-laptops-for-gaming-and-the-winner-completely-shocked-me">I tested 6 RTX Spark laptops for gaming — and the winner completely shocked me</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/gaming/handheld-gaming/i-tested-acers-wild-flip-and-swivel-handheld-why-project-dualplay-mini-is-the-ultimate-netbook-love-letter</link>
                                                                            <description>
                            <![CDATA[ I tested Acer’s Project DualPlay Mini. With an 8-inch flip-and-swivel screen and a physical QWERTY keyboard, here's why this is a handheld to keep an eye on. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Yvcy5eUzLNEeqTCH25jEum</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/r27J4QLyodE5HbCymwcYei-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 03 Sep 2026 06:30:00 +0000</pubDate>                                                                                                                                <updated>Fri, 04 Sep 2026 13:16:59 +0000</updated>
                                                                                                                                            <category><![CDATA[Handheld Gaming]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&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/r27J4QLyodE5HbCymwcYei-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&amp;#39;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Acer Project DualPlay Mini]]></media:description>                                                            <media:text><![CDATA[Acer Project DualPlay Mini]]></media:text>
                                <media:title type="plain"><![CDATA[Acer Project DualPlay Mini]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/r27J4QLyodE5HbCymwcYei-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I miss netbooks. There, I said it.</p><p>In the late 2000s, Asus Eee PCs and Acer Aspire Ones took over the world. They were ultra-portable and fundamentally awful to use — sluggish Intel Atom chips and zero hope of running 3D games. But damn, I loved them.</p><p>Then I walked up to Project DualPlay Mini on the <a href="https://www.tomsguide.com/tech-events/ifa-2026-what-to-expect">IFA 2026</a> show floor, and it felt like stepping into an alternate timeline where the netbook grew up and went to the gym.</p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@tomsguide/video/7681377120110660877" data-video-id="7681377120110660877" 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="♬ Synthwave - Wiliam Geek" href="https://www.tiktok.com/music/Synthwave-7407812545971587089">♬ Synthwave - Wiliam Geek</a></section>                    </blockquote></div>                <p>Because while everyone is racing to copy the <a href="https://www.tomsguide.com/opinion/steam-deck-oled-is-the-must-buy-handheld-of-2023-and-the-perfect-holiday-gift-for-gamers">Steam Deck</a>, Acer’s 8-inch concept is reviving the lost art of the netbook. It’s a dedicated handheld console when you want to lounge on the train, and an actual clamshell laptop when you need to type an email or play a classic shooter.</p><p>Put simply, I’ve seen a lot of prototypes come and go where I thought, “this is cool, but nothing people will actually buy.” This is the first time I’ve looked at something and openly begged a company to release 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="T9HPzLhR3MZYSmJnuT7Rzj" name="Acer Project DualPlay Mini" alt="Acer Project DualPlay Mini" src="https://cdn.mos.cms.futurecdn.net/T9HPzLhR3MZYSmJnuT7Rzj-1920-80.jpg" 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: Future)</span></figcaption></figure><h2 id="flip-swivel-and-play">Flip, swivel and 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="2nC9zEW7UseGtXPsawme3k" name="Acer Project DualPlay Mini" alt="Acer Project DualPlay Mini" src="https://cdn.mos.cms.futurecdn.net/2nC9zEW7UseGtXPsawme3k-1920-80.jpg" 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: Future)</span></figcaption></figure><p>So let’s get into it, shall we? In its traditional handheld form, it looks weird with its protruding sides. But it's still comfortable to play games on.</p><p>But the central focal point is that flip-and-swivel display. The central hinge feels fundamentally stable, and the display flips with a smooth, gracious ease to reveal a full QWERTY keyboard — not big enough to rewrite War and Peace, but definitely enough for the daily essentials and expanding your game collection beyond just controller-preferred titles on the go.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="8Que9XECR3s9pnugmsEpsj" name="Acer Project DualPlay Mini" alt="Acer Project DualPlay Mini" src="https://cdn.mos.cms.futurecdn.net/8Que9XECR3s9pnugmsEpsj-1920-80.jpg" 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: Future)</span></figcaption></figure><p>And that 8-inch touchscreen display manages to hit that golden ratio: large enough to display Windows 11 UI elements and game HUDs without squinting, but small enough to maintain that handheld (and netbook) balance.</p><p>Also, shout-out to the small details too. Legacy is important, and with Acer celebrating its 50th anniversary, you’ll find “Acer 50 since 1976” embossed in Morse code on the rear cover to celebrate its golden jubilee.</p><h2 id="the-big-friction-test">The big friction test</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="xi8AmrCr9bEnbaP7nwsKtj" name="Acer Project DualPlay Mini" alt="Acer Project DualPlay Mini" src="https://cdn.mos.cms.futurecdn.net/xi8AmrCr9bEnbaP7nwsKtj-1920-80.jpg" 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: Future)</span></figcaption></figure><p>Since this is an 8-inch device, we have to address the physical limitations. The keyboard is smaller than other full QWERTYs. It's still sizable enough not to be just a thumb-typing tool, and you'll get a comfortable feel for the WASD when playing a first-person shooter.</p><p>In handheld mode, the keys fold right back in, and you’re back to gaming mode with all the same ergonomic comfort you’d expect from the best <a href="https://www.tomsguide.com/round-up/best-handheld-gaming-consoles">handheld gaming consoles</a> in 2026. But wait, what about the lack of a touchpad?</p><p>You do have to rely on touchscreen Windows, which can be hit-and-miss, but not the end of the world. If Acer wanted to go truly crazy with this, a ThinkPad-style optical track nub would’ve been God mode for them. But with that touch panel up top, I found myself quickly getting into that flow of tapping and typing.</p><h2 id="serious-power-in-a-tiny-shell">Serious power in a tiny shell</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="8yGxTdPzCNb6CWr8RrVttj" name="Acer Project DualPlay Mini" alt="Acer Project DualPlay Mini" src="https://cdn.mos.cms.futurecdn.net/8yGxTdPzCNb6CWr8RrVttj-1920-80.jpg" 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: Future)</span></figcaption></figure><p>Performance-wise, Acer can only say it has an “Intel chip,” but given what I was able to get out of it (100 FPS on Forza Horizon 6 with XeSS3), I’m inclined to believe it’s an Arc G3 Extreme.</p><p>That’s maintained with rear dual-fan active cooling borrowed from the <a href="https://www.tomsguide.com/gaming/handheld-gaming/acer-predator-atlas-8-hands-on-review">Predator Atlas 8</a>, and the result is a massive contrast to the 2008 netbook experience and today. This tiny chassis has the thermal headroom to run full Windows 11 and AAA games — not just a single browser tab.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-Xj2BaX"></div>                            </div>                            <script src="https://kwizly.com/embed/Xj2BaX.js" async></script><h2 id="will-acer-actually-sell-this">Will Acer actually sell this?</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="u2WonKzL7HaigWGHCu7Ysj" name="Acer Project DualPlay Mini" alt="Acer Project DualPlay Mini" src="https://cdn.mos.cms.futurecdn.net/u2WonKzL7HaigWGHCu7Ysj-1920-80.jpg" 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: Future)</span></figcaption></figure><p>So here’s the bad news. Acer explicitly labeled DualPlay Mini as an “innovation concept,” while launching the standard Predator Atlas 7 alongside it.</p><p>But if you’re loud enough, companies will bend.</p><p>The gaming handheld market has become dangerously boring, with every brand releasing identical plastic slates. Project DualPlay Mini proves that form-factor experimentation isn’t dead, and it’s actually cool as hell.</p><p>Acer shouldn’t leave this in the R&D lab; the audience that loved netbooks — and the PC gamers who want a true all-in-one travel machine — are ready to buy it. I can feel it in my bones.</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/i-tested-the-usd1-299-rog-xbox-ally-x20-with-that-oled-display-the-usd300-price-hike-is-surprisingly-palatable">I tested the $1,299 ROG Xbox Ally X20 — with that OLED display, the $300 price hike is surprisingly palatable</a></li><li><a href="https://www.tomsguide.com/computing/laptops/forget-framework-i-just-popped-open-acers-new-modular-laptop-and-it-could-be-the-end-of-throwaway-pcs">Forget Framework — I just popped open Acer's new modular laptop and it could be the end of throwaway PCs</a></li><li><a href="https://www.tomsguide.com/computing/gaming-laptops/i-tested-6-rtx-spark-laptops-for-gaming-and-the-winner-completely-shocked-me">I tested 6 RTX Spark laptops for gaming — and the winner completely shocked me</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tore apart Acer’s £1,599 Vero 16 with my bare hands — Framework finally has a lethal rival ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Acer Vero laptops used to mean chunky textured PCR plastic laptops that wore their recycled pedigree like an itchy hemp sweater. </p><p>Now, the new Vero 16 flips the script: it’s a sleek, powder-coated, low-carbon aluminum chassis housing a 16-inch 3K OLED display and the beefy Intel Core Ultra Series 3 chipset — albeit with a steep £1,599 starting price (U.S. pricing not confirmed yet).</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cQyQP9viWMcWmn94CSASJ" name="Acer Vero 16" alt="Acer Vero 16" src="https://cdn.mos.cms.futurecdn.net/cQyQP9viWMcWmn94CSASJ-1920-80.jpg" 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: Future)</span></figcaption></figure><p>But here’s the killer app. Acer isn’t just offering user-replaceable SSDs and batteries. They’ve gone all out with a tool-free bottom latch, detachable external hinges, removable I/O ports and a commitment to support two generations of Intel processor upgrades.</p><p>Acer basically took Framework’s modular repairability crusade and baked it into a mainstream 3.4-pound (1.56kg) chassis. So I had to try it myself — is it a justified DIY dream machine, or is it an overpriced “green tax” that regular buyers will ignore in favor of traditional ultrabooks?</p><h2 id="look-mom-no-tools-mostly">Look mom, no tools (mostly)</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="fvSaatYBCuWFnZQYocJkM" name="Acer Vero 16" alt="Acer Vero 16" src="https://cdn.mos.cms.futurecdn.net/fvSaatYBCuWFnZQYocJkM-1920-80.jpg" 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: Future)</span></figcaption></figure><p>So let’s jump straight to the main selling point here. These are just pre-production models, and it took me a second to figure out the latch, as well as the correct way to pull off the back. But once I got it, it’s a total cinch. </p><p>Everything is laid out in a way that’s easy to understand, with a battery connector that’s easy to get to, and the M.2 SSD slot being super simple to access. The latch and back feel strong too!</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="GT6KhiZe6JPGXe5ra2BhZ" name="Acer Vero 16" alt="Acer Vero 16" src="https://cdn.mos.cms.futurecdn.net/GT6KhiZe6JPGXe5ra2BhZ-1920-80.jpg" 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: Future)</span></figcaption></figure><p>The I/O can be taken off with two screws (complete with the modular daughterboards too) so ports can be switched. Acer doesn't have plans to offer different port configurations (point to Framework on that one), but with an SD card slot, Thunderbolt 4, USB-A and HDMI 2.1 already there, you’ve already got the essentials that can be swiftly repaired.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cLiUW5yfUDcWabEzxnF4So" name="Acer Vero 16" alt="Acer Vero 16" src="https://cdn.mos.cms.futurecdn.net/cLiUW5yfUDcWabEzxnF4So-1920-80.jpg" 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: Future)</span></figcaption></figure><p>Then there’s the two-generation processor upgrade. This is a swappable CPU on the motherboard (like Framework), so big win for reducing waste! This and the I/O are things that Acer told me would be done by them, but with right to repair becoming a thing, I really wouldn’t be surprised if the company started to offer the parts and the guides to do so in the future.</p><h2 id="not-forgetting-the-nice-laptop-part-of-the-puzzle">Not forgetting the ‘nice laptop’ part of the puzzle</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="4WR4byoRDW4hgq5aohnja" name="Acer Vero 16" alt="Acer Vero 16" src="https://cdn.mos.cms.futurecdn.net/4WR4byoRDW4hgq5aohnja-1920-80.jpg" 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: Future)</span></figcaption></figure><p>It took Framework a few tries to get its modularity dream packed into something sleek and well-built. Acer’s managed to just about nail it on the first try. </p><p>The solvent-free powder-coated finish feels great to the touch, while that aluminum/PCR blend with military-tested durability has a nice rigidity to it…mostly. There is a bit of keyboard deck flex when you push down, but nothing terrifying to write home about.</p><p>Then there’s that display. Eco-laptops often ship with dim, low-refresh 60Hz panels to save battery. The Vero 16 stuffs a 2800 x 1800 pixel 120Hz OLED with HDR, and it’s a real sight to behold in person with a flash flood of color.</p><p>Then let’s not forget about the internals, which you can spec up to the Intel Core Ultra X9 388H and 32GB of RAM. This will absolutely sing in prosumer and gaming performance.</p><h2 id="the-verdict-is-repairability-worth-this-much">The verdict: Is repairability worth this much?</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="hdhJEXrziMUUnFnRQm9Ka" name="Acer Vero 16" alt="Acer Vero 16" src="https://cdn.mos.cms.futurecdn.net/hdhJEXrziMUUnFnRQm9Ka-1920-80.jpg" 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: Future)</span></figcaption></figure><p>This is the biggest question here. At £1,599 (launching in Q1 2027), the Vero 16 will be going head-to-head with the MacBook Airs and Dell XPSes of the world. </p><p>There are some things that Framework does better, such as being able to switch out more of the internal components and give you more things to repair yourself. But when it comes to mainstream laptop makers, modularity and upgradeability like this is quite the breakthrough.</p><p>Because yes, you’re paying an upfront premium, but if the CPU upgrade support and tool-free repairability prevent you from buying a new laptop in three years, it might be the smartest laptop investment you can make.</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/gaming-laptops/i-tested-6-rtx-spark-laptops-for-gaming-and-the-winner-completely-shocked-me">I tested 6 RTX Spark laptops for gaming — and the winner completely shocked me</a></li><li><a href="https://www.tomsguide.com/computing/toms-guide-computing-awards-2026-22-game-changing-laptops-desktops-and-peripherals">Tom’s Guide Computing Awards 2026: 22 game-changing laptops, desktops and peripherals</a></li><li><a href="https://www.tomsguide.com/gaming/handheld-gaming/i-tested-the-usd1-299-rog-xbox-ally-x20-with-that-oled-display-the-usd300-price-hike-is-surprisingly-palatable">I tested the $1,299 ROG Xbox Ally X20 — with that OLED display, the $300 price hike is surprisingly palatable</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/laptops/forget-framework-i-just-popped-open-acers-new-modular-laptop-and-it-could-be-the-end-of-throwaway-pcs</link>
                                                                            <description>
                            <![CDATA[ I tested the Acer Vero 16 at IFA. Featuring a tool-free modular chassis, 3K 120Hz OLED, and 2-generation CPU upgrades, here is my full hands-on impressions. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">8UotXLbeW53F2d7iAg3D7e</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/XBonP3q47PU8pUnKDefYe-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 02 Sep 2026 12:23:02 +0000</pubDate>                                                                                                                                <updated>Wed, 02 Sep 2026 19:16:03 +0000</updated>
                                                                                                                                            <category><![CDATA[Laptops]]></category>
                                                    <category><![CDATA[Computing Peripherals]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&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/XBonP3q47PU8pUnKDefYe-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Acer Vero 16]]></media:description>                                                            <media:text><![CDATA[Acer Vero 16]]></media:text>
                                <media:title type="plain"><![CDATA[Acer Vero 16]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/XBonP3q47PU8pUnKDefYe-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Acer Vero laptops used to mean chunky textured PCR plastic laptops that wore their recycled pedigree like an itchy hemp sweater. </p><p>Now, the new Vero 16 flips the script: it’s a sleek, powder-coated, low-carbon aluminum chassis housing a 16-inch 3K OLED display and the beefy Intel Core Ultra Series 3 chipset — albeit with a steep £1,599 starting price (U.S. pricing not confirmed yet).</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cQyQP9viWMcWmn94CSASJ" name="Acer Vero 16" alt="Acer Vero 16" src="https://cdn.mos.cms.futurecdn.net/cQyQP9viWMcWmn94CSASJ-1920-80.jpg" 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: Future)</span></figcaption></figure><p>But here’s the killer app. Acer isn’t just offering user-replaceable SSDs and batteries. They’ve gone all out with a tool-free bottom latch, detachable external hinges, removable I/O ports and a commitment to support two generations of Intel processor upgrades.</p><p>Acer basically took Framework’s modular repairability crusade and baked it into a mainstream 3.4-pound (1.56kg) chassis. So I had to try it myself — is it a justified DIY dream machine, or is it an overpriced “green tax” that regular buyers will ignore in favor of traditional ultrabooks?</p><h2 id="look-mom-no-tools-mostly">Look mom, no tools (mostly)</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="fvSaatYBCuWFnZQYocJkM" name="Acer Vero 16" alt="Acer Vero 16" src="https://cdn.mos.cms.futurecdn.net/fvSaatYBCuWFnZQYocJkM-1920-80.jpg" 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: Future)</span></figcaption></figure><p>So let’s jump straight to the main selling point here. These are just pre-production models, and it took me a second to figure out the latch, as well as the correct way to pull off the back. But once I got it, it’s a total cinch. </p><p>Everything is laid out in a way that’s easy to understand, with a battery connector that’s easy to get to, and the M.2 SSD slot being super simple to access. The latch and back feel strong too!</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="GT6KhiZe6JPGXe5ra2BhZ" name="Acer Vero 16" alt="Acer Vero 16" src="https://cdn.mos.cms.futurecdn.net/GT6KhiZe6JPGXe5ra2BhZ-1920-80.jpg" 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: Future)</span></figcaption></figure><p>The I/O can be taken off with two screws (complete with the modular daughterboards too) so ports can be switched. Acer doesn't have plans to offer different port configurations (point to Framework on that one), but with an SD card slot, Thunderbolt 4, USB-A and HDMI 2.1 already there, you’ve already got the essentials that can be swiftly repaired.</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="cLiUW5yfUDcWabEzxnF4So" name="Acer Vero 16" alt="Acer Vero 16" src="https://cdn.mos.cms.futurecdn.net/cLiUW5yfUDcWabEzxnF4So-1920-80.jpg" 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: Future)</span></figcaption></figure><p>Then there’s the two-generation processor upgrade. This is a swappable CPU on the motherboard (like Framework), so big win for reducing waste! This and the I/O are things that Acer told me would be done by them, but with right to repair becoming a thing, I really wouldn’t be surprised if the company started to offer the parts and the guides to do so in the future.</p><h2 id="not-forgetting-the-nice-laptop-part-of-the-puzzle">Not forgetting the ‘nice laptop’ part of the puzzle</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="4WR4byoRDW4hgq5aohnja" name="Acer Vero 16" alt="Acer Vero 16" src="https://cdn.mos.cms.futurecdn.net/4WR4byoRDW4hgq5aohnja-1920-80.jpg" 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: Future)</span></figcaption></figure><p>It took Framework a few tries to get its modularity dream packed into something sleek and well-built. Acer’s managed to just about nail it on the first try. </p><p>The solvent-free powder-coated finish feels great to the touch, while that aluminum/PCR blend with military-tested durability has a nice rigidity to it…mostly. There is a bit of keyboard deck flex when you push down, but nothing terrifying to write home about.</p><p>Then there’s that display. Eco-laptops often ship with dim, low-refresh 60Hz panels to save battery. The Vero 16 stuffs a 2800 x 1800 pixel 120Hz OLED with HDR, and it’s a real sight to behold in person with a flash flood of color.</p><p>Then let’s not forget about the internals, which you can spec up to the Intel Core Ultra X9 388H and 32GB of RAM. This will absolutely sing in prosumer and gaming performance.</p><h2 id="the-verdict-is-repairability-worth-this-much">The verdict: Is repairability worth this much?</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="hdhJEXrziMUUnFnRQm9Ka" name="Acer Vero 16" alt="Acer Vero 16" src="https://cdn.mos.cms.futurecdn.net/hdhJEXrziMUUnFnRQm9Ka-1920-80.jpg" 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: Future)</span></figcaption></figure><p>This is the biggest question here. At £1,599 (launching in Q1 2027), the Vero 16 will be going head-to-head with the MacBook Airs and Dell XPSes of the world. </p><p>There are some things that Framework does better, such as being able to switch out more of the internal components and give you more things to repair yourself. But when it comes to mainstream laptop makers, modularity and upgradeability like this is quite the breakthrough.</p><p>Because yes, you’re paying an upfront premium, but if the CPU upgrade support and tool-free repairability prevent you from buying a new laptop in three years, it might be the smartest laptop investment you can make.</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/gaming-laptops/i-tested-6-rtx-spark-laptops-for-gaming-and-the-winner-completely-shocked-me">I tested 6 RTX Spark laptops for gaming — and the winner completely shocked me</a></li><li><a href="https://www.tomsguide.com/computing/toms-guide-computing-awards-2026-22-game-changing-laptops-desktops-and-peripherals">Tom’s Guide Computing Awards 2026: 22 game-changing laptops, desktops and peripherals</a></li><li><a href="https://www.tomsguide.com/gaming/handheld-gaming/i-tested-the-usd1-299-rog-xbox-ally-x20-with-that-oled-display-the-usd300-price-hike-is-surprisingly-palatable">I tested the $1,299 ROG Xbox Ally X20 — with that OLED display, the $300 price hike is surprisingly palatable</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tried Sonos Ace Ultra, and it does something your Bluetooth headphones can’t ]]></title>
                                                                                                <dc:content><![CDATA[ <p>It’s easy to look at the new $449 Sonos Ace Ultra and wonder why anyone needs living room headphones when standard TV Bluetooth and other playback hand-off options already exist.</p><p>I’ll take it one step further. I’ve historically been skeptical of "at-home" headphones. I don't have kids sleeping down the hall or roommates to tip-toe around during a late-night movie binge, so headphones have always felt like a tool for travel, not my couch.</p><p>But after trying out the headset alongside the <a href="https://www.tomsguide.com/audio/soundbars/sonos-is-ready-to-steal-back-the-soundbar-crown-with-the-new-beam-ultra">Beam Ultra</a> in a living room setting, I believe it reveals a fundamental shift in flexible listening. The Ace Ultra bypasses traditional Bluetooth constraints entirely to operate in respect to the rest of a Wi-Fi-connected, whole-home audio system. </p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@tomsguide/video/7680646449184427278" data-video-id="7680646449184427278" 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="♬ Slow Dial Rotation - Margot Floodlight" href="https://www.tiktok.com/music/Slow-Dial-Rotation-7679904643178088498">♬ Slow Dial Rotation - Margot Floodlight</a></section>                    </blockquote></div>                <h2 id="no-your-bluetooth-headphones-can-t-do-this">No, your Bluetooth headphones can’t do this</h2><p>Connecting standard <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">Bluetooth headphones</a> to a smart TV comes with major trade-offs, including potential lip-sync latency, compressed audio, limited range and the general annoyance of digging through settings menus when you want to switch back to your TV speakers.</p><p>The Ace Ultra takes a different approach. With dedicated Headphone Engine 2 silicon, it can connect to your local Wi-Fi network rather than relying solely on a Bluetooth connection to your phone or TV. This enables uncompressed, zero-latency spatial audio. </p><div class="product"><a data-dimension112="7bba94d2-a63c-11f1-8b9b-714b82fecc21" data-action="Deal Block" data-label="Ace Ultra" data-dimension48="Ace Ultra" data-dimension25="$449" href="https://www.sonos.com/en-us/shop/sonos-ace-ultra" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:536px;"><p class="vanilla-image-block" style="padding-top:108.58%;"><img id="jEBPbWV6VERCE8peQaX9Xb" name="Ace Ultra" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/jEBPbWV6VERCE8peQaX9Xb-1920-80.png" mos="" align="middle" fullscreen="" width="536" height="582" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.sonos.com/en-us/shop/sonos-ace-ultra" target="_blank" rel="nofollow" data-dimension112="7bba94d2-a63c-11f1-8b9b-714b82fecc21" data-action="Deal Block" data-label="Ace Ultra" data-dimension48="Ace Ultra" data-dimension25="$449">Ace Ultra: $449</a></strong><br>Noise-canceling headphones with rich, detailed audio, up to 35 hours of battery with ANC on, and a direct connection to your Sonos system.<a class="view-deal button" href="https://www.sonos.com/en-us/shop/sonos-ace-ultra" target="_blank" rel="nofollow" data-dimension112="7bba94d2-a63c-11f1-8b9b-714b82fecc21" data-action="Deal Block" data-label="Ace Ultra" data-dimension48="Ace Ultra" data-dimension25="$449">View Deal</a></p></div><p>And instead of applying a generic virtual surround filter, TrueCinema room calibration uses living room spatial data to map audio to the exact physical acoustics of your room. Because it streams over Wi-Fi, you can walk throughout your entire house without audio stutters or range limits. This made the Ace Ultra feel less like a pair of headphones connected to a TV and more like another endpoint within the Sonos network.</p><h2 id="no-the-original-sonos-ace-also-couldn-t-do-this">No, the original Sonos Ace also couldn’t do this</h2><p>While it’s true that the original <a href="https://www.tomsguide.com/audio/over-ear-headphones/sonos-ace">Sonos Ace</a> released in 2024 introduced TV Audio Swap, that feature was strictly a point-to-point link locked to a single soundbar. The Ace Ultra breaks out of that single-room boundary through the broader architecture of <a href="https://www.tomsguide.com/audio/speakers/sonos-27-is-here-to-clean-up-the-app-mess-again-this-time-with-ai">Sonos 27, </a>what Sonos is calling the latest software version of its system.</p><p>Through new Headphone Linking capabilities, the headset interacts directly with your whole home setup. Walking up to virtually any Sonos speaker in your house and tapping the physical action button on the earcup instantly pushes or pulls whatever audio is playing in that room. </p><p>The TV does not need to be on, an app does not need to be opened and your phone can be completely turned off in another room.</p><p>I think Apple has the closest version of this kind of hand-off implementation between its <a href="https://www.tomsguide.com/reviews/apple-homepod-2nd-generation">Homepod</a> speakers and mobile devices, but again, you still need to physically tap your iPhone to the speaker to initiate the switch even if using AirPlay. You also cannot directly hand off audio from a HomePod to AirPods with a button press on the headphones themselves. Sonos is doing something genuinely distinct by making the headset an independent network node.</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:2497px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="NtNJBviKW6PWJEDQzucgng" name="dji_mimo_20260901_112012_20260901112013_1788277197059_photo" alt="Sonos Ace Ultra on head" src="https://cdn.mos.cms.futurecdn.net/NtNJBviKW6PWJEDQzucgng-1920-80.jpg" mos="" align="middle" fullscreen="" width="2497" height="1405" 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><h2 id="yes-you-can-use-them-outside-of-your-house-too">Yes, you can use them outside of your house, too</h2><p>Even if you think you’ll rarely use the direct system-linking in your living room, the Ace Ultra makes a strong case as a travel-first flagship. In a loud event space packed with overlapping audio demos, the physical hardware excelled where traditional commuters care most.</p><p>Powered by a 10-microphone array, the noise cancellation cuts through heavy ambient room noise while maintaining clean separation between vocal and instrumental layers.</p><p>Sonos re-engineered the custom 44mm driver with a lighter, stiffer diaphragm, optimizing the power-to-weight ratio to deliver crisp dialogue, broad dynamic range and deeper bass.</p><p>You get up to 35 hours of battery life with ANC enabled. And beyond Wi-Fi linking, the headset offers Bluetooth, USB-C and 3.5mm wired options, finished in new matte colors.</p><p>At $449, the Ace Ultra delivers the acoustic isolation, long-haul comfort and battery life required to go head-to-head with travel staples from Sony and Bose. </p><p>But by removing the phone as the middleman and turning the Ace Ultra into a physical extension of your home network, Sonos is making a compelling case for keeping its headphones on when you walk back in through your home’s front door.</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/soundbars/sonos-is-ready-to-steal-back-the-soundbar-crown-with-the-new-beam-ultra">Sonos is ready to steal back the soundbar crown with the new Beam Ultra</a></li><li><a href="https://www.tomsguide.com/audio/soundbars/i-just-set-up-the-ultimate-sonos-surround-system-despite-some-connection-foibles-its-here-to-stay">I just set up the ultimate Sonos surround system</a></li><li><a href="https://www.tomsguide.com/audio/soundbars/change-these-sonos-soundbar-settings-immediately-to-get-the-best-performance-out-of-your-tv-and-movie-watching">Change these Sonos soundbar settings immediately</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/audio/headphones/i-tried-sonos-ace-ultra-and-it-does-something-your-bluetooth-headphones-cant</link>
                                                                            <description>
                            <![CDATA[ The Sonos Ace Ultra’s standout feature is how connects to your entire Sonos system over Wi-Fi and lets you seamlessly move audio around your home. I went hands-on with the Ace Ultra to learn more about how it works. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">9Mp3jYoV5NdaRqjSA2DTNY</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/g37jScEfoAqx9dZZQn3sYC-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 01 Sep 2026 21:04:01 +0000</pubDate>                                                                                                                                <updated>Tue, 01 Sep 2026 23:11:29 +0000</updated>
                                                                                                                                            <category><![CDATA[Headphones]]></category>
                                                    <category><![CDATA[Audio]]></category>
                                                                                                                    <dc:creator><![CDATA[ Kate Kozuch ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xAVUdx6Qtp3SzugnnfNYsL-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Kate Kozuch is a managing editor of social and video at Tom&#039;s Guide, where she&#039;s been with the team since 2019. She also reviews smartwatches, covers TVs, tests the latest audio products and dabbles in cooking appliances. Of course, that&#039;s not when she&#039;s working on building the &lt;a href=&quot;https://www.tomsguide.com/reference/smart-home-guide&quot;&gt;ultimate DIY smart home&lt;/a&gt;. She has conducted over 100 different product reviews across these categories, turning her findings into buying guides and face-offs. She also manages a number of gift guides on the site. &lt;/p&gt;&lt;p&gt;Kate has a strong on-camera presence as well. She has appeared on Cheddar and Fox 5 NY to talk trending tech news. She is also regularly featured on the Tom&#039;s Guide YouTube channel, runs the &lt;a href=&quot;https://www.tiktok.com/@tomsguide?lang=en&quot;&gt;Tom&#039;s Guide TikTok account&lt;/a&gt; with over 350,000 followers, and features all the tech she&#039;s testing &lt;a href=&quot;https://www.instagram.com/katekozuch/&quot;&gt;on her Instagram&lt;/a&gt;. When she’s not filming tech videos, you can find her taking up a new sport, mastering the NYT Crossword or channeling her inner celebrity chef. Speaking of, be sure to ask her about the time Guy Fieri made her a margarita at CES, or when her video of Martha Stewart drinking a margarita went mega-viral. Clearly, Kate has a thing for culinary icons and margaritas.&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/g37jScEfoAqx9dZZQn3sYC-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Sonos Ace Ultra connected to Sonos Beam Ultra soundbar underneath TV]]></media:description>                                                            <media:text><![CDATA[Sonos Ace Ultra connected to Sonos Beam Ultra soundbar underneath TV]]></media:text>
                                <media:title type="plain"><![CDATA[Sonos Ace Ultra connected to Sonos Beam Ultra soundbar underneath TV]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/g37jScEfoAqx9dZZQn3sYC-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It’s easy to look at the new $449 Sonos Ace Ultra and wonder why anyone needs living room headphones when standard TV Bluetooth and other playback hand-off options already exist.</p><p>I’ll take it one step further. I’ve historically been skeptical of "at-home" headphones. I don't have kids sleeping down the hall or roommates to tip-toe around during a late-night movie binge, so headphones have always felt like a tool for travel, not my couch.</p><p>But after trying out the headset alongside the <a href="https://www.tomsguide.com/audio/soundbars/sonos-is-ready-to-steal-back-the-soundbar-crown-with-the-new-beam-ultra">Beam Ultra</a> in a living room setting, I believe it reveals a fundamental shift in flexible listening. The Ace Ultra bypasses traditional Bluetooth constraints entirely to operate in respect to the rest of a Wi-Fi-connected, whole-home audio system. </p>                    <div class= "tiktok-wrapper" style="min-height: 750px;"><blockquote class="tiktok-embed" cite="https://www.tiktok.com/@tomsguide/video/7680646449184427278" data-video-id="7680646449184427278" 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="♬ Slow Dial Rotation - Margot Floodlight" href="https://www.tiktok.com/music/Slow-Dial-Rotation-7679904643178088498">♬ Slow Dial Rotation - Margot Floodlight</a></section>                    </blockquote></div>                <h2 id="no-your-bluetooth-headphones-can-t-do-this">No, your Bluetooth headphones can’t do this</h2><p>Connecting standard <a href="https://www.tomsguide.com/us/best-headphones,review-1988.html">Bluetooth headphones</a> to a smart TV comes with major trade-offs, including potential lip-sync latency, compressed audio, limited range and the general annoyance of digging through settings menus when you want to switch back to your TV speakers.</p><p>The Ace Ultra takes a different approach. With dedicated Headphone Engine 2 silicon, it can connect to your local Wi-Fi network rather than relying solely on a Bluetooth connection to your phone or TV. This enables uncompressed, zero-latency spatial audio. </p><div class="product"><a data-dimension112="7bba94d2-a63c-11f1-8b9b-714b82fecc21" data-action="Deal Block" data-label="Ace Ultra" data-dimension48="Ace Ultra" data-dimension25="$449" href="https://www.sonos.com/en-us/shop/sonos-ace-ultra" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:536px;"><p class="vanilla-image-block" style="padding-top:108.58%;"><img id="jEBPbWV6VERCE8peQaX9Xb" name="Ace Ultra" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/jEBPbWV6VERCE8peQaX9Xb-1920-80.png" mos="" align="middle" fullscreen="" width="536" height="582" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.sonos.com/en-us/shop/sonos-ace-ultra" target="_blank" rel="nofollow" data-dimension112="7bba94d2-a63c-11f1-8b9b-714b82fecc21" data-action="Deal Block" data-label="Ace Ultra" data-dimension48="Ace Ultra" data-dimension25="$449">Ace Ultra: $449</a></strong><br>Noise-canceling headphones with rich, detailed audio, up to 35 hours of battery with ANC on, and a direct connection to your Sonos system.<a class="view-deal button" href="https://www.sonos.com/en-us/shop/sonos-ace-ultra" target="_blank" rel="nofollow" data-dimension112="7bba94d2-a63c-11f1-8b9b-714b82fecc21" data-action="Deal Block" data-label="Ace Ultra" data-dimension48="Ace Ultra" data-dimension25="$449">View Deal</a></p></div><p>And instead of applying a generic virtual surround filter, TrueCinema room calibration uses living room spatial data to map audio to the exact physical acoustics of your room. Because it streams over Wi-Fi, you can walk throughout your entire house without audio stutters or range limits. This made the Ace Ultra feel less like a pair of headphones connected to a TV and more like another endpoint within the Sonos network.</p><h2 id="no-the-original-sonos-ace-also-couldn-t-do-this">No, the original Sonos Ace also couldn’t do this</h2><p>While it’s true that the original <a href="https://www.tomsguide.com/audio/over-ear-headphones/sonos-ace">Sonos Ace</a> released in 2024 introduced TV Audio Swap, that feature was strictly a point-to-point link locked to a single soundbar. The Ace Ultra breaks out of that single-room boundary through the broader architecture of <a href="https://www.tomsguide.com/audio/speakers/sonos-27-is-here-to-clean-up-the-app-mess-again-this-time-with-ai">Sonos 27, </a>what Sonos is calling the latest software version of its system.</p><p>Through new Headphone Linking capabilities, the headset interacts directly with your whole home setup. Walking up to virtually any Sonos speaker in your house and tapping the physical action button on the earcup instantly pushes or pulls whatever audio is playing in that room. </p><p>The TV does not need to be on, an app does not need to be opened and your phone can be completely turned off in another room.</p><p>I think Apple has the closest version of this kind of hand-off implementation between its <a href="https://www.tomsguide.com/reviews/apple-homepod-2nd-generation">Homepod</a> speakers and mobile devices, but again, you still need to physically tap your iPhone to the speaker to initiate the switch even if using AirPlay. You also cannot directly hand off audio from a HomePod to AirPods with a button press on the headphones themselves. Sonos is doing something genuinely distinct by making the headset an independent network node.</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:2497px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="NtNJBviKW6PWJEDQzucgng" name="dji_mimo_20260901_112012_20260901112013_1788277197059_photo" alt="Sonos Ace Ultra on head" src="https://cdn.mos.cms.futurecdn.net/NtNJBviKW6PWJEDQzucgng-1920-80.jpg" mos="" align="middle" fullscreen="" width="2497" height="1405" 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><h2 id="yes-you-can-use-them-outside-of-your-house-too">Yes, you can use them outside of your house, too</h2><p>Even if you think you’ll rarely use the direct system-linking in your living room, the Ace Ultra makes a strong case as a travel-first flagship. In a loud event space packed with overlapping audio demos, the physical hardware excelled where traditional commuters care most.</p><p>Powered by a 10-microphone array, the noise cancellation cuts through heavy ambient room noise while maintaining clean separation between vocal and instrumental layers.</p><p>Sonos re-engineered the custom 44mm driver with a lighter, stiffer diaphragm, optimizing the power-to-weight ratio to deliver crisp dialogue, broad dynamic range and deeper bass.</p><p>You get up to 35 hours of battery life with ANC enabled. And beyond Wi-Fi linking, the headset offers Bluetooth, USB-C and 3.5mm wired options, finished in new matte colors.</p><p>At $449, the Ace Ultra delivers the acoustic isolation, long-haul comfort and battery life required to go head-to-head with travel staples from Sony and Bose. </p><p>But by removing the phone as the middleman and turning the Ace Ultra into a physical extension of your home network, Sonos is making a compelling case for keeping its headphones on when you walk back in through your home’s front door.</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/soundbars/sonos-is-ready-to-steal-back-the-soundbar-crown-with-the-new-beam-ultra">Sonos is ready to steal back the soundbar crown with the new Beam Ultra</a></li><li><a href="https://www.tomsguide.com/audio/soundbars/i-just-set-up-the-ultimate-sonos-surround-system-despite-some-connection-foibles-its-here-to-stay">I just set up the ultimate Sonos surround system</a></li><li><a href="https://www.tomsguide.com/audio/soundbars/change-these-sonos-soundbar-settings-immediately-to-get-the-best-performance-out-of-your-tv-and-movie-watching">Change these Sonos soundbar settings immediately</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I wanted to hate Nvidia’s DLSS 5 ‘AI filter’ — but the real DLSS 5 is photorealistic black magic ]]></title>
                                                                                                <dc:content><![CDATA[ <p>So there I was — Nvidia giving me a full breakdown of what DLSS 5 is and how it works, alongside a chance to play NBA 2K27 on multiple systems to show how it’s evolved from the controversial AI slop filter that divided opinions in the office to something much more refined.</p><p>I thought things were heading in the right direction. But then, modders extracted the leaked DLSS 5 files from 2K27 and stuffed it into unsupported games. The online reaction was immediate and fracturing: half praising the added detail while the other half declared it the AI-filtered destroyer of frame rates.</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/tTowPWp3cQc" allowfullscreen></iframe></div></div><p>Now that the embargo has lifted and I can (finally) talk about DLSS 5 (coming September 3 to NBA 2K27 first), as someone who spent time with the official integration, these mods are missing the point. Brute forcing a neural rendering file into a game without engine-level hooks is like judging a luxury car after hot-wiring it with missing spark plugs.</p><h2 id="the-big-question-is-dlss-5-just-an-ai-filter">The big question: is DLSS 5 just an AI filter?</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/4w9bUQZKZ6c7JsnLzuYy8P-1920-80.jpg" alt="DLSS 5" /><figcaption><small role="credit">Nvidia</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/HjqdMVf7ovcCsyq9FrJJ8P-1920-80.jpg" alt="DLSS 5" /><figcaption><small role="credit">Nvidia</small></figcaption></figure></figure><p>So the answer, technically, is no. But there’s a lot to it. When you think about AI filters, they slap a 2D post-processing effect over a completed image. As I quickly learnt when talking to the team behind DLSS 5, this is so much more.</p><p>This is a <strong>3D-guided neural rendering pipeline</strong> — ingesting all that vital 3D geometry data, such as surface normals, semantics of lighting, motion vectors and scene depth, to work <em>within </em>the physical rules of the game engine rather than hallucinating.</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="mQgB2pqurghoQdopNCHRnM" name="DLSS 5" alt="DLSS 5" src="https://cdn.mos.cms.futurecdn.net/mQgB2pqurghoQdopNCHRnM-1920-80.jpg" mos="" align="middle" fullscreen="1" width="3840" height="2160" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/mQgB2pqurghoQdopNCHRnM-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nvidia)</span></figcaption></figure><p>And with all that information, it does something Nvidia calls <strong>real-time determinism</strong>. Think of it like the neural equivalent of when a bar is full — the rendering queue has a one-in/one-out 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:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="n9SYNVP4yTgoCse4GzHQaL" name="DLSS 5" alt="DLSS 5" src="https://cdn.mos.cms.futurecdn.net/n9SYNVP4yTgoCse4GzHQaL-1920-80.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: Nvidia)</span></figcaption></figure><p>Unlike offline video gen models that process chunks of video and take a guess at what it’ll look like (probabilistically), DLSS 5 processes every single frame in real-time to maintain stability between each one (deterministically). </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/JjiF69QSN3XmKNf8yCVMaP-1920-80.jpg" alt="DLSS 5" /><figcaption><small role="credit">Nvidia</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Uaa37z8HugEzreqYB5Q3aP-1920-80.jpg" alt="DLSS 5" /><figcaption><small role="credit">Nvidia</small></figcaption></figure></figure><p>This means that instead of seeing somebody’s face change with every scene change in AI-generated video, the neural rendering on offer here doesn’t just imagine something new out of nowhere.</p><h2 id="what-s-new-since-we-saw-dlss-5">What’s new since we saw DLSS 5?</h2><p>When the next generation DLSS was announced earlier this year, the reaction across Tom’s Guide’s gaming Slack channel was swift and severe. The AI beautification of characters felt weird, and Digital Foundry’s test was combed over to see how much of the lighting and atmosphere had changed for the worse.</p><p>Of course, this was an <em>extremely </em>early build, and a lot has changed since then. Nvidia was quick to tell me they should’ve communicated DLSS 5 better at GTC, and Team Green is laying everything out about this new upscaler to us.</p><section class="howto-block">                    <h3>It’s now a lot smaller (and more efficient)</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/xVwWU3WNBnHMmPhzWSVfzL.jpg"                                        alt="DLSS 5"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/xVwWU3WNBnHMmPhzWSVfzL.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Nvidia)</div></figure>                    <p><p>You may remember old demos of this needing two RTX 5090s to run. Now, just a few months later, I’ve seen it run on a single desktop GPU, GeForce Now and even an RTX 5060 laptop.</p></p>                </section><section class="howto-block">                    <h3>You’ve got a choice of three models</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/CuDozKyrNfVXvXdGPn7vQQ.jpg"                                        alt="DLSS 5"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/CuDozKyrNfVXvXdGPn7vQQ.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Nvidia)</div></figure>                    <p><p>Models A, B and C all do the same thing, but are trained in slightly different ways to provide different looks. Model A seems to be more contrasty with its lighting, Model C looks to brighten faces and objects more, and B lands right in the middle.</p></p>                </section><section class="howto-block">                    <h3>Structure and tone sliders</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/tSw8MdDZPLg5JyAaKMYZpQ.jpg"                                        alt="DLSS 5"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/tSw8MdDZPLg5JyAaKMYZpQ.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Nvidia)</div></figure>                    <p><p>Developers have the tools to adjust details with sliders. These can be both from a high level dial that turns everything up and down to specific details separate of color tones and lighting.</p></p>                </section><section class="howto-block">                    <h3>Automasking</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/yHeDb7BKEgwj37xPCyTqrP.jpg"                                        alt="DLSS 5"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/yHeDb7BKEgwj37xPCyTqrP.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Nvidia)</div></figure>                    <p><p>On top of that, masks for neural enhancement can be applied exclusively to specific character models without touching a single thing around them.</p></p>                </section><p>Put simply, Nvidia’s providing some very strong tools here, but ensuring artistic intent remains at the heart of how you work with them — rather than having them replace the artistry.</p><h2 id="performance-reality-check">Performance reality check</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/fZTFuryubHFp9s5jRHKMHH-1920-80.jpg" alt="NBA 2K27" /><figcaption><small role="credit">Nvidia / 2K Games</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/U78k4rErwqZWfTCkwrekUH-1920-80.jpg" alt="NBA 2K27" /><figcaption><small role="credit">Nvidia / 2K Games</small></figcaption></figure></figure><p>If you were to look at the DLSS 5-injected modding over the weekend, it’d be fair to believe that frame rate takes a huge hit when doing this frame-by-frame neural rendering.</p><p>However, that’s not the experience I had across multiple tiers of systems playing the official DLSS 5 integration on NBA 2K27. Now, it’s worth noting that these demos I tried all had multi-frame generation turned on and ramped up too.</p><p>Frame counts were not turned on, so I can’t give you anything more numbers-wise than what Nvidia has given me here. But what I can confirm is gameplay felt silky smooth with no noticeable latency.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/GQJgtPguVwMYkcPXmk6x5T-1920-80.png" alt="DLSS 5" /><figcaption><small role="credit">Nvidia</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/X3KnpMo5oMH3CKRSynyEDT-1920-80.png" alt="DLSS 5" /><figcaption><small role="credit">Nvidia</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/S7QuF9kjY7HQVyCY8oprET-1920-80.png" alt="DLSS 5" /><figcaption><small role="credit">Nvidia</small></figcaption></figure></figure><p>The RTX 5090 desktop rig was of course the star of the show, with frame rates so high that it completely saturated the refresh rate of the gaming monitor. And when played using GeForce Now, it <em>looked </em>like a flawless 120 FPS frame rate.</p><p>But the real star of the show to me is that RTX 5060 laptop. This goes to show the huge work Nvidia’s done to shrink DLSS 5 down and optimize it to run across the entire breadth of its GPUs, and the smoothness felt like it was around the 90-100 FPS mark in play.</p><h2 id="how-does-it-look">How does it look?</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/em2iCp7Ub6HgtSUzvsW6SF-1920-80.jpg" alt="NBA 2K27" /><figcaption><small role="credit">Nvidia / 2K Games</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LBFMM98tqWqFEYgHyTUjUH-1920-80.jpg" alt="NBA 2K27" /><figcaption><small role="credit">Nvidia / 2K Games</small></figcaption></figure></figure><p>Visuals-wise, in a game like this that is actively pursuing photorealistic quality in its graphics, DLSS 5 really sings. Whether its the massive improvement in facial textures and definition in hair, the deeper contrast in and more realistic lighting, and the upgrades made to the crowd watching too, everything comes together nicely here.</p><p>If this were to placed on a game that’s more artistically stylized, it would look weird (and you’re seeing that on some of the modded work). Nvidia themselves are clear in saying that developers can just choose not to use it if that is what developers are aiming for.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ervmMEDXgaQMWYNigs5qmH-1920-80.jpg" alt="NBA 2K27" /><figcaption><small role="credit">Nvidia / 2K Games</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bY7zJQEB8rcYiXznuv8BYH-1920-80.jpg" alt="NBA 2K27" /><figcaption><small role="credit">Nvidia / 2K Games</small></figcaption></figure></figure><p>But in the case of NBA 2K27, the updates made to DLSS 5 since we last saw the super filtered looks from previous are really evident. The changes are more nuanced, and with the granular levels of control, they make a big positive difference to my eyes.</p><h2 id="a-specialized-weapon">A specialized weapon</h2><p>So let’s get down to brass tacks. DLSS 5 is built specifically to bridge the uncanny valley in photorealistic titles. It won’t make sense for cel-shared or heavily stylized indie games. But for sports sims, cinematic shooters and immersive open worlds, to my eyes and early impressions, this feels like a generational leap.</p><p>Of course, I want to test it more to be definitive about it, which is what I’ll absolutely do when it officially drops on September 3rd with NBA 2K27 across RTX 50-series systems and GeForce Now.</p><p>One thing is clear: this isn’t an AI filter — it’s the start of real-time neural rendering. I'm looking forward to seeing how it develops, and how the people will respond to it.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OaLGwW"></div>                            </div>                            <script src="https://kwizly.com/embed/OaLGwW.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/computing/gaming-laptops/i-tested-6-rtx-spark-laptops-for-gaming-and-the-winner-completely-shocked-me">I tested 6 RTX Spark laptops for gaming — and the winner completely shocked me</a></li><li><a href="https://www.tomsguide.com/gaming/playstation/as-a-pc-snob-i-wanted-to-catch-gta-6-making-console-compromises-instead-im-in-awe-of-the-trickery">As a PC snob, I wanted to catch GTA 6 making console compromises. Instead, I’m in awe of the trickery</a></li><li><a href="https://www.tomsguide.com/computing/gpus/i-tested-nvidias-new-dlss-4-5-ray-reconstruction-it-finally-fixes-path-tracings-biggest-flaw-but-heres-the-reality-check">I tested NVIDIA’s new DLSS 4.5 Ray Reconstruction — it finally fixes path tracing’s biggest flaw, but here’s the reality check</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/gaming/pc-gaming/i-tested-the-real-dlss-5-forget-the-leaked-mods-its-not-an-ai-filter-this-is-nvidias-photorealistic-game-changer</link>
                                                                            <description>
                            <![CDATA[ I tested official DLSS 5 in NBA 2K27. Forget the leaked mods — here is why Nvidia's 3D-guided neural rendering pipeline is a photorealistic game-changer. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">VkkzRDt6JbL53rYUrTH3zc</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/yqb8cdrEp58qDStyShw9e3-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 01 Sep 2026 16:24:22 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[PC Gaming]]></category>
                                                    <category><![CDATA[GPUs]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                    <category><![CDATA[Computing Peripherals]]></category>
                                                    <category><![CDATA[Computing Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&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/yqb8cdrEp58qDStyShw9e3-1280-80.jpg">
                                                            <media:credit><![CDATA[Nvidia / Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[DLSS 5]]></media:description>                                                            <media:text><![CDATA[DLSS 5]]></media:text>
                                <media:title type="plain"><![CDATA[DLSS 5]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/yqb8cdrEp58qDStyShw9e3-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>So there I was — Nvidia giving me a full breakdown of what DLSS 5 is and how it works, alongside a chance to play NBA 2K27 on multiple systems to show how it’s evolved from the controversial AI slop filter that divided opinions in the office to something much more refined.</p><p>I thought things were heading in the right direction. But then, modders extracted the leaked DLSS 5 files from 2K27 and stuffed it into unsupported games. The online reaction was immediate and fracturing: half praising the added detail while the other half declared it the AI-filtered destroyer of frame rates.</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/tTowPWp3cQc" allowfullscreen></iframe></div></div><p>Now that the embargo has lifted and I can (finally) talk about DLSS 5 (coming September 3 to NBA 2K27 first), as someone who spent time with the official integration, these mods are missing the point. Brute forcing a neural rendering file into a game without engine-level hooks is like judging a luxury car after hot-wiring it with missing spark plugs.</p><h2 id="the-big-question-is-dlss-5-just-an-ai-filter">The big question: is DLSS 5 just an AI filter?</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/4w9bUQZKZ6c7JsnLzuYy8P-1920-80.jpg" alt="DLSS 5" /><figcaption><small role="credit">Nvidia</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/HjqdMVf7ovcCsyq9FrJJ8P-1920-80.jpg" alt="DLSS 5" /><figcaption><small role="credit">Nvidia</small></figcaption></figure></figure><p>So the answer, technically, is no. But there’s a lot to it. When you think about AI filters, they slap a 2D post-processing effect over a completed image. As I quickly learnt when talking to the team behind DLSS 5, this is so much more.</p><p>This is a <strong>3D-guided neural rendering pipeline</strong> — ingesting all that vital 3D geometry data, such as surface normals, semantics of lighting, motion vectors and scene depth, to work <em>within </em>the physical rules of the game engine rather than hallucinating.</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="mQgB2pqurghoQdopNCHRnM" name="DLSS 5" alt="DLSS 5" src="https://cdn.mos.cms.futurecdn.net/mQgB2pqurghoQdopNCHRnM-1920-80.jpg" mos="" align="middle" fullscreen="1" width="3840" height="2160" attribution="" endorsement="" class="inline expandable"><a href='https://cdn.mos.cms.futurecdn.net/mQgB2pqurghoQdopNCHRnM-1920-80.jpg' target='_blank' class='expand-button icon-expand-image icon' ></a></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Nvidia)</span></figcaption></figure><p>And with all that information, it does something Nvidia calls <strong>real-time determinism</strong>. Think of it like the neural equivalent of when a bar is full — the rendering queue has a one-in/one-out 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:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="n9SYNVP4yTgoCse4GzHQaL" name="DLSS 5" alt="DLSS 5" src="https://cdn.mos.cms.futurecdn.net/n9SYNVP4yTgoCse4GzHQaL-1920-80.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: Nvidia)</span></figcaption></figure><p>Unlike offline video gen models that process chunks of video and take a guess at what it’ll look like (probabilistically), DLSS 5 processes every single frame in real-time to maintain stability between each one (deterministically). </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/JjiF69QSN3XmKNf8yCVMaP-1920-80.jpg" alt="DLSS 5" /><figcaption><small role="credit">Nvidia</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Uaa37z8HugEzreqYB5Q3aP-1920-80.jpg" alt="DLSS 5" /><figcaption><small role="credit">Nvidia</small></figcaption></figure></figure><p>This means that instead of seeing somebody’s face change with every scene change in AI-generated video, the neural rendering on offer here doesn’t just imagine something new out of nowhere.</p><h2 id="what-s-new-since-we-saw-dlss-5">What’s new since we saw DLSS 5?</h2><p>When the next generation DLSS was announced earlier this year, the reaction across Tom’s Guide’s gaming Slack channel was swift and severe. The AI beautification of characters felt weird, and Digital Foundry’s test was combed over to see how much of the lighting and atmosphere had changed for the worse.</p><p>Of course, this was an <em>extremely </em>early build, and a lot has changed since then. Nvidia was quick to tell me they should’ve communicated DLSS 5 better at GTC, and Team Green is laying everything out about this new upscaler to us.</p><section class="howto-block">                    <h3>It’s now a lot smaller (and more efficient)</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/xVwWU3WNBnHMmPhzWSVfzL.jpg"                                        alt="DLSS 5"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/xVwWU3WNBnHMmPhzWSVfzL.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Nvidia)</div></figure>                    <p><p>You may remember old demos of this needing two RTX 5090s to run. Now, just a few months later, I’ve seen it run on a single desktop GPU, GeForce Now and even an RTX 5060 laptop.</p></p>                </section><section class="howto-block">                    <h3>You’ve got a choice of three models</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/CuDozKyrNfVXvXdGPn7vQQ.jpg"                                        alt="DLSS 5"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/CuDozKyrNfVXvXdGPn7vQQ.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Nvidia)</div></figure>                    <p><p>Models A, B and C all do the same thing, but are trained in slightly different ways to provide different looks. Model A seems to be more contrasty with its lighting, Model C looks to brighten faces and objects more, and B lands right in the middle.</p></p>                </section><section class="howto-block">                    <h3>Structure and tone sliders</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/tSw8MdDZPLg5JyAaKMYZpQ.jpg"                                        alt="DLSS 5"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/tSw8MdDZPLg5JyAaKMYZpQ.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Nvidia)</div></figure>                    <p><p>Developers have the tools to adjust details with sliders. These can be both from a high level dial that turns everything up and down to specific details separate of color tones and lighting.</p></p>                </section><section class="howto-block">                    <h3>Automasking</h3>                    <figure>                            <p class="bordeaux-image-check">                                <img    src="https://cdn.mos.cms.futurecdn.net/yHeDb7BKEgwj37xPCyTqrP.jpg"                                        alt="DLSS 5"                                        onerror="this.parentNode.replaceChild(window.missingImage(),this)"                                        data-pin-media="https://cdn.mos.cms.futurecdn.net/yHeDb7BKEgwj37xPCyTqrP.jpg"                                        class="expandable van-old-layout-image">                            </p><div class="credit">(Image: © Nvidia)</div></figure>                    <p><p>On top of that, masks for neural enhancement can be applied exclusively to specific character models without touching a single thing around them.</p></p>                </section><p>Put simply, Nvidia’s providing some very strong tools here, but ensuring artistic intent remains at the heart of how you work with them — rather than having them replace the artistry.</p><h2 id="performance-reality-check">Performance reality check</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/fZTFuryubHFp9s5jRHKMHH-1920-80.jpg" alt="NBA 2K27" /><figcaption><small role="credit">Nvidia / 2K Games</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/U78k4rErwqZWfTCkwrekUH-1920-80.jpg" alt="NBA 2K27" /><figcaption><small role="credit">Nvidia / 2K Games</small></figcaption></figure></figure><p>If you were to look at the DLSS 5-injected modding over the weekend, it’d be fair to believe that frame rate takes a huge hit when doing this frame-by-frame neural rendering.</p><p>However, that’s not the experience I had across multiple tiers of systems playing the official DLSS 5 integration on NBA 2K27. Now, it’s worth noting that these demos I tried all had multi-frame generation turned on and ramped up too.</p><p>Frame counts were not turned on, so I can’t give you anything more numbers-wise than what Nvidia has given me here. But what I can confirm is gameplay felt silky smooth with no noticeable latency.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/GQJgtPguVwMYkcPXmk6x5T-1920-80.png" alt="DLSS 5" /><figcaption><small role="credit">Nvidia</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/X3KnpMo5oMH3CKRSynyEDT-1920-80.png" alt="DLSS 5" /><figcaption><small role="credit">Nvidia</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/S7QuF9kjY7HQVyCY8oprET-1920-80.png" alt="DLSS 5" /><figcaption><small role="credit">Nvidia</small></figcaption></figure></figure><p>The RTX 5090 desktop rig was of course the star of the show, with frame rates so high that it completely saturated the refresh rate of the gaming monitor. And when played using GeForce Now, it <em>looked </em>like a flawless 120 FPS frame rate.</p><p>But the real star of the show to me is that RTX 5060 laptop. This goes to show the huge work Nvidia’s done to shrink DLSS 5 down and optimize it to run across the entire breadth of its GPUs, and the smoothness felt like it was around the 90-100 FPS mark in play.</p><h2 id="how-does-it-look">How does it look?</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/em2iCp7Ub6HgtSUzvsW6SF-1920-80.jpg" alt="NBA 2K27" /><figcaption><small role="credit">Nvidia / 2K Games</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LBFMM98tqWqFEYgHyTUjUH-1920-80.jpg" alt="NBA 2K27" /><figcaption><small role="credit">Nvidia / 2K Games</small></figcaption></figure></figure><p>Visuals-wise, in a game like this that is actively pursuing photorealistic quality in its graphics, DLSS 5 really sings. Whether its the massive improvement in facial textures and definition in hair, the deeper contrast in and more realistic lighting, and the upgrades made to the crowd watching too, everything comes together nicely here.</p><p>If this were to placed on a game that’s more artistically stylized, it would look weird (and you’re seeing that on some of the modded work). Nvidia themselves are clear in saying that developers can just choose not to use it if that is what developers are aiming for.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ervmMEDXgaQMWYNigs5qmH-1920-80.jpg" alt="NBA 2K27" /><figcaption><small role="credit">Nvidia / 2K Games</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bY7zJQEB8rcYiXznuv8BYH-1920-80.jpg" alt="NBA 2K27" /><figcaption><small role="credit">Nvidia / 2K Games</small></figcaption></figure></figure><p>But in the case of NBA 2K27, the updates made to DLSS 5 since we last saw the super filtered looks from previous are really evident. The changes are more nuanced, and with the granular levels of control, they make a big positive difference to my eyes.</p><h2 id="a-specialized-weapon">A specialized weapon</h2><p>So let’s get down to brass tacks. DLSS 5 is built specifically to bridge the uncanny valley in photorealistic titles. It won’t make sense for cel-shared or heavily stylized indie games. But for sports sims, cinematic shooters and immersive open worlds, to my eyes and early impressions, this feels like a generational leap.</p><p>Of course, I want to test it more to be definitive about it, which is what I’ll absolutely do when it officially drops on September 3rd with NBA 2K27 across RTX 50-series systems and GeForce Now.</p><p>One thing is clear: this isn’t an AI filter — it’s the start of real-time neural rendering. I'm looking forward to seeing how it develops, and how the people will respond to it.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OaLGwW"></div>                            </div>                            <script src="https://kwizly.com/embed/OaLGwW.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/computing/gaming-laptops/i-tested-6-rtx-spark-laptops-for-gaming-and-the-winner-completely-shocked-me">I tested 6 RTX Spark laptops for gaming — and the winner completely shocked me</a></li><li><a href="https://www.tomsguide.com/gaming/playstation/as-a-pc-snob-i-wanted-to-catch-gta-6-making-console-compromises-instead-im-in-awe-of-the-trickery">As a PC snob, I wanted to catch GTA 6 making console compromises. Instead, I’m in awe of the trickery</a></li><li><a href="https://www.tomsguide.com/computing/gpus/i-tested-nvidias-new-dlss-4-5-ray-reconstruction-it-finally-fixes-path-tracings-biggest-flaw-but-heres-the-reality-check">I tested NVIDIA’s new DLSS 4.5 Ray Reconstruction — it finally fixes path tracing’s biggest flaw, but here’s the reality check</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I've been using this Momcozy baby bottle cleaner for the past month — and now I wish I hadn't spent nine months washing them by hand ]]></title>
                                                                                                <dc:content><![CDATA[ <p>As any parent will no doubt confirm, one of the things that comes with having children is the need to spend a lot more of your time cleaning. Kids make a lot of mess, and I've found myself spending a bunch more time washing clothes, cleaning floors and sterilizing baby bottles.</p><p>You would not believe how much time and effort goes into cleaning those bottles. Like kids themselves, it's shocking to see just how dirty they actually get — and I'm not just talking about the leftover formula they contain. After 9 months of deep cleaning milk bottles, inside and out, I finally caved and got hold of an appliance to do the job for me.</p><p>The machine in question is the MomCozy DeepClean Baby Bottle Washer (D8), and it's been such a help that I can't believe I was too cheap to buy something like this a year ago.</p><div class="product"><a data-dimension112="171c99be-a2c5-11f1-899a-731f56d5cacb" data-action="Deal Block" data-label="DeepClean Baby Bottle Cleaner (D8)" data-dimension48="DeepClean Baby Bottle Cleaner (D8)" data-dimension25="$329" href="https://www.amazon.com/Momcozy-DeepClean-Bottle-Washer-Sterilizer/dp/B0H6Q2G76Z" 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="ETBsCG4nA5MWQTae9ZQumY" name="DeepClean Baby Bottle Cleaner (D8)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ETBsCG4nA5MWQTae9ZQumY-1920-80.png" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Momcozy-DeepClean-Bottle-Washer-Sterilizer/dp/B0H6Q2G76Z" target="_blank" rel="nofollow" data-dimension112="171c99be-a2c5-11f1-899a-731f56d5cacb" data-action="Deal Block" data-label="DeepClean Baby Bottle Cleaner (D8)" data-dimension48="DeepClean Baby Bottle Cleaner (D8)" data-dimension25="$329">DeepClean Baby Bottle Cleaner (D8): was $359 now $329</a></strong><br>Clean up to eight baby bottles at a time with this combination bottle cleaner and sterilizer from Momcozy. It supports bottles, nipples, breast pump parts and other baby-centric accessories that need almost constant cleaning. Oh, and it can keep the freshly cleaned contents sterile for up to 72 hours, should you need to leave them that long.<a class="view-deal button" href="https://www.amazon.com/Momcozy-DeepClean-Bottle-Washer-Sterilizer/dp/B0H6Q2G76Z" target="_blank" rel="nofollow" data-dimension112="171c99be-a2c5-11f1-899a-731f56d5cacb" data-action="Deal Block" data-label="DeepClean Baby Bottle Cleaner (D8)" data-dimension48="DeepClean Baby Bottle Cleaner (D8)" data-dimension25="$329">View Deal</a></p></div><h2 id="how-the-deepclean-bottle-cleaner-works">How the DeepClean Bottle Cleaner works</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:800px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="W6sCo8DxnEvJJ3wHrN7WSn" name="ezgif-23f997c4c5e354eb" alt="momcozy deepclean baby bottle cleaner" src="https://cdn.mos.cms.futurecdn.net/W6sCo8DxnEvJJ3wHrN7WSn-1920-80.gif" mos="" align="middle" fullscreen="" width="800" height="450" 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>The Momcozy DeepClean Baby Bottle Cleaner is exactly what the name suggests. It's a countertop appliance that washes used baby bottles, removing all traces of leftover milk or formula, and then sterilizes them ready to be used later on. It retails for $359, and comes bundles with 60 detergent blocks and four limescale removal tablets.</p><p>The appliance has room for up to eight bottles at a time, with a two-tier rack system that lets you wash bottles and nipples simultaneously — aided by 64 water jets capable of spraying 154.4ºF water to help break through whatever leftovers are left on your baby's bottles after use. </p><p>The DeepClean also has a built-in 212º F sterilization mode, a 55-minute bottle drying cycle and an integrated fan (complete with HEPA filter) to keep the newly cleaned bottles sterile for up to 72 hours. The general idea is that you slot the bottles in, and let the appliance do all the hard work for you — something that I have grown incredibly grateful for.</p><p>Oh, and you don't have to worry about keeping the DeepClean itself clean, since it has a dedicated self-cleaning mode. This 30-minute process can even reduce any built-up limescale — provided that you use one of Momcozy's limescale removal tablets.</p><p>Oh, and you don't need to use Momcozy bottles to take advantage of the DeepClean, either. All my baby bottles come from different brands, and they fit into the cleaning rack without issue. However, some of the weird and wonderful shaped bottles you can buy may not slide in quite so smoothly.</p><h2 id="it-39-s-not-just-for-cleaning-bottles">It's not just for cleaning bottles</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="4FhKZiTuxfMgUXHt2f67ef" name="PXL_20260828_101624592" alt="momcozy deepclean baby bottle cleaner" src="https://cdn.mos.cms.futurecdn.net/4FhKZiTuxfMgUXHt2f67ef-1920-80.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>The main benefit is that the DeepClean is not just for washing and sterilizing milk bottles. It's also suitable for all kinds of baby accessories, including gravity bottles and breast pump parts. While Momcozy doesn't specifically approve this, I've also used the machine to clean things like pacifiers and those syringes you use to feed babies medicine without ill effect.</p><p>We don't use breast pumps anymore, but there was a point where my wife was using them pretty regularly — and a machine like the DeepClean could have saved us a lot of trouble. </p><p>The thing about breast pump parts is that you're not supposed to sterilize them in a microwave, as you can with milk bottles. That's in the manual, but the sleep deprived state new parents find themselves in may gloss over this fact and leave you with a bunch of melted chunks of plastic. That happened to us, and sourcing the appropriate replacement parts was a pretty miserable experience.</p><p>Worse is the fact that we had to source a very large pot that was big enough to boil the replacement parts over the stove. Oh and you need to continuously stir the part to stop the plastic melting against the hot metal. The process technically only takes five minutes, but the sheer size of those plastic pieces meant we had to repeat the process multiple times.</p><p>Or you can just stick them into a cleaner like the DeepClean and leave them for half an hour as a machine does all the hard work for you. It certainly would have saved us a lot of headaches during one of the most exhaustive periods of our lives.</p><h2 id="you-39-re-saving-more-than-just-time-too">You're saving more than just time 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:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CbuSwEs3Yb9KSRW5hSPbJg" name="PXL_20260828_134837473" alt="momcozy deepclean baby bottle cleaner" src="https://cdn.mos.cms.futurecdn.net/CbuSwEs3Yb9KSRW5hSPbJg-1920-80.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>The thing about using appliances is that they generally help save you time by doing all the hard work for you. The DeepClean Bottle Cleaner is effectively a miniature dishwasher, or something very close to it, which means it has slashed the amount of time it takes to actually clean my used milk bottles.</p><p>The old system of cleaning by hand meant that I had to rinse the bottles, clean them with (fragrance free) dish soap and a brush, rinsing out the suds and then sterilizing them in my 700W microwave for at least seven minutes. The DeepClean does all of that for you; the only thing I need to do to the bottles before cleaning is empty out any leftover formula. In fact, the most time-consuming part of the whole process is filling up the 96-ounce water tank.</p><p>The actual cleaning cycle takes at least 28 minutes for the low-powered mode, or 38 minutes for the more intensive clean. That's a lot longer than my old system of hand-washing bottles, but unless you need a clean bottle ASAP, it's not really a big deal. It's not as though you have to stand there and watch the entire cleaning cycle unfold.</p><p>Time is only part of the equation, and the 96-oz. water tank is a perfect example of this. </p><p>96 ounces feels like a lot of water, and I was admittedly shocked when I saw that almost the entire tank was used in the DeepClean's washing cycle — with the rest being saved to make sterilizing steam. But after that initial outrage, I started to wonder whether it was actually a lot of water. </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="jbWydcGSTq9ZzfZAASS2qf" name="PXL_20260828_135112815" alt="momcozy deepclean baby bottle cleaner" src="https://cdn.mos.cms.futurecdn.net/jbWydcGSTq9ZzfZAASS2qf-1920-80.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="caption-text">This was the old way of doing things </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Frankly, I had no idea how much water I use hand washing baby bottles, and had to find out. It turns out, even if I wash super-conservatively, I could use up around 35oz of water washing a single bottle. So, in the same way that <a href="https://www.tomsguide.com/face-off/dishwasher-vs-washing-by-hand-which-is-cheaper">running a full dishwasher might save more water than hand washing</a>, it seems as though the DeepClean might actually reduce your water consumption. More so when you remember that it can clean up to eight bottles (and their respective nipples) at a time without any change in water consumption.</p><p>Energy is a little more complicated. Momcozy says that the DeepClean uses 500W of power during the water heating and sterilizing parts of the cycle, which seemed accurate when I tracked by energy usage. Meanwhile the actual cleaning takes up about 55W, and the dryer uses 200W. Meanwhile, my microwave uses around 1,600W, but also only runs for a third of the time.</p><p>I'm not good at physics or math, so I know I will mess up the calculations if I try and figure it out. Needless to say, the DeepClean is far from the biggest power draw in your kitchen, and it shouldn't affect your energy bills too much.</p><p>It's also worth noting that you should be using the DeepClean with Momcozy's detergent blocks. They cost $20 for 120, working out at around 16.7 cents per cycle. How much that compares to handwashing with dish soap is going to depend on what brand you buy and how much you actually use, but I'd wager that even the fanciest dish soap is going to come in cheaper.</p><h2 id="there-are-some-downsides">There are some downsides</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="PJRofYjqHejYgBk4MCihcf" name="PXL_20260828_101713764" alt="momcozy deepclean baby bottle cleaner" src="https://cdn.mos.cms.futurecdn.net/PJRofYjqHejYgBk4MCihcf-1920-80.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>The first thing I actually noticed about the DeepClean unit is that it's big. 10.6 x 13.78 x 15.35 inches, to be exact, which means it takes up roughly 1.3 cubic feet of space on whichever counter top you've set aside. The only thing I have that comes close is my vertical air fryer, which is so tall it has to be tucked away in the corner.</p><p>Placement on the counter matters a lot as well, since the DeepClean doesn't have a tank to store used water. There's a hose at the back of the unit, and that means you need to make sure it drains somewhere appropriate — such as the sink or a bucket. Otherwise you're just going to end up with a very wet floor.</p><p>The $359 price tag is also a lot to take in, especially when a microwave bottle sterilizer can be bought for as little as $20. But I have to tell myself that you're buying convenience, and potentially lower bills, which could make that investment worth it — especially if you're still expecting or have a newborn. But if your kid is already moving onto solid food, it's a much tougher sell.</p><p>I have found a few other downsides to using the DeepClean at home, though some of these are more about what's going on in my brain than a flaw with the product itself. The big one is that I find it kind of gross to imagine dirty bottles left lying around, waiting for enough of their comrades to justify switching the DeepClean on. </p><p>Leftover milk in the height of the hottest summer most people can remember is not a very good mix, after all. Though I will be the first to admit that this is just something I personally need to wrap my head around, and retrain myself to think slightly differently in the face of new technology.</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="erc9635EpA7MsdCHjUaC9f" name="PXL_20260828_134828976" alt="momcozy deepclean baby bottle cleaner" src="https://cdn.mos.cms.futurecdn.net/erc9635EpA7MsdCHjUaC9f-1920-80.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>The fact you need to buy extra detergent tablets is also worth bearing in mind, since the DeepClean is not compatible with the usual soaps or detergents you'd use to hand wash dishes. They're not expensive, and you get 60 included with the DeepClean, but it means you will be on the hook to keep buying those blocks for the duration of the appliance's lifespan.</p><p>I'll admit I forgot to use the detergent blocks on more than one occasion with no apparent ill effect. But obviously you'll want to make sure your baby's bottles are actually clean, and the detergent is the best way to ensure that.</p><p>Limescale is also going to be an issue with any machine that requires water, especially if your local water is as hard as it is in my area. I can't think of a single part of my bathroom or kitchen sink that isn't coated with that pesky layer of white deposit. Momcozy recommends using distilled water, rather than tap water, but to that I say "who has the time for that?" </p><p>I've taken to using filtered water instead, and while not perfectly free of excess minerals, it generally extends the amount of time my water-based appliances have between descaling cycles. Momcozy does include descaling tablets in the box, which are compatible with the DeepClean's self-cleaning mode.</p><p>Finally, the system that keeps clean bottles sterile for up to 72 hours is all down to a built-in air circulation system. This requires power to run, around 190-200W based on my energy meter, and turning it off means Momcozy can't guarantee the bottles will remain sterile. Such a feature could potentially be useful, especially if you need to clean bottles before going away for the weekend, but it does feel a little like overkill. So if you're anything like me, you'll have the bottles out and packed away safely pretty soon after the cleaning cycle is over.</p><h2 id="verdict">Verdict</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="kAL987MKqZvVsKuxqop8bf" name="PXL_20260828_134822885" alt="momcozy deepclean baby bottle cleaner" src="https://cdn.mos.cms.futurecdn.net/kAL987MKqZvVsKuxqop8bf-1920-80.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>I like using the Momcozy DeepClean Baby Bottle Washer, for the simple fact that it takes all the extra stress and hassle out of the whole bottle-cleaning process. All you need to do is fill the tank, slot the bottles in and turn the machine on. It's an extremely convenient tool to have, and it's something I wish I had back before my son started eating solid food and needed a bottle every couple of hours.</p><p>Having handwashed bottles for 9 months does mean that switching to an appliance does take an adjustment. My wife in particular is finding it hard to get out of the habit of washing milk bottles as soon as they're finished. Asking her not to clean up is like asking her not to breathe, so I'm not sure if she's actually used the DeepClean yet. </p><p>As for me, I'm coming around to the idea of being much lazier, and not scrubbing used bottles clean. Even if my math is totally wrong, and the DeepClean doesn't end up saving me money on my water or energy bills, I'm at least regaining a little bit more of my time — which is a luxury when you have young kids. </p><p>I just wish it wasn't quite so big, because it does take up a lot of space. But I guess that's the price you pay for cleaning up to eight bottles at once.</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/home/forget-weekend-deep-cleaning-this-30-second-daily-bathroom-hack-saved-my-schedule">Forget weekend deep cleaning: This 30-second daily bathroom hack saved my schedule</a></li><li><a href="https://www.tomsguide.com/home/expert-warns-against-pouring-boiling-water-down-sinks-heres-why">Expert warns against pouring boiling water down sinks — here's why</a></li><li><a href="https://www.tomsguide.com/home/home-appliances/sharkninjas-new-aquareach-wet-dry-vacuum-cleans-up">SharkNinja’s AquaReach just reinvented wet-dry vacs with an extendable wand</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/home/home-appliances/ive-been-using-this-momcozy-baby-bottle-cleaner-for-the-past-month-and-now-i-wish-i-hadnt-spent-nine-months-washing-them-by-hand</link>
                                                                            <description>
                            <![CDATA[ Momcozy's DeepClean Baby Bottle Washer has been a huge timesaver for keeping my baby son's milk bottles clean and ready to go. But it is taking some getting used to. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">uVe9Cips8tFoxhc6AypdtH</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/2c2Z2t9TvdcfWEuQQhPDGg-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 30 Aug 2026 10:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Home Appliances]]></category>
                                                    <category><![CDATA[Home]]></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-320-70.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/2c2Z2t9TvdcfWEuQQhPDGg-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[momcozy deepclean baby bottle cleaner]]></media:description>                                                            <media:text><![CDATA[momcozy deepclean baby bottle cleaner]]></media:text>
                                <media:title type="plain"><![CDATA[momcozy deepclean baby bottle cleaner]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/2c2Z2t9TvdcfWEuQQhPDGg-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>As any parent will no doubt confirm, one of the things that comes with having children is the need to spend a lot more of your time cleaning. Kids make a lot of mess, and I've found myself spending a bunch more time washing clothes, cleaning floors and sterilizing baby bottles.</p><p>You would not believe how much time and effort goes into cleaning those bottles. Like kids themselves, it's shocking to see just how dirty they actually get — and I'm not just talking about the leftover formula they contain. After 9 months of deep cleaning milk bottles, inside and out, I finally caved and got hold of an appliance to do the job for me.</p><p>The machine in question is the MomCozy DeepClean Baby Bottle Washer (D8), and it's been such a help that I can't believe I was too cheap to buy something like this a year ago.</p><div class="product"><a data-dimension112="171c99be-a2c5-11f1-899a-731f56d5cacb" data-action="Deal Block" data-label="DeepClean Baby Bottle Cleaner (D8)" data-dimension48="DeepClean Baby Bottle Cleaner (D8)" data-dimension25="$329" href="https://www.amazon.com/Momcozy-DeepClean-Bottle-Washer-Sterilizer/dp/B0H6Q2G76Z" 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="ETBsCG4nA5MWQTae9ZQumY" name="DeepClean Baby Bottle Cleaner (D8)" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/ETBsCG4nA5MWQTae9ZQumY-1920-80.png" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Momcozy-DeepClean-Bottle-Washer-Sterilizer/dp/B0H6Q2G76Z" target="_blank" rel="nofollow" data-dimension112="171c99be-a2c5-11f1-899a-731f56d5cacb" data-action="Deal Block" data-label="DeepClean Baby Bottle Cleaner (D8)" data-dimension48="DeepClean Baby Bottle Cleaner (D8)" data-dimension25="$329">DeepClean Baby Bottle Cleaner (D8): was $359 now $329</a></strong><br>Clean up to eight baby bottles at a time with this combination bottle cleaner and sterilizer from Momcozy. It supports bottles, nipples, breast pump parts and other baby-centric accessories that need almost constant cleaning. Oh, and it can keep the freshly cleaned contents sterile for up to 72 hours, should you need to leave them that long.<a class="view-deal button" href="https://www.amazon.com/Momcozy-DeepClean-Bottle-Washer-Sterilizer/dp/B0H6Q2G76Z" target="_blank" rel="nofollow" data-dimension112="171c99be-a2c5-11f1-899a-731f56d5cacb" data-action="Deal Block" data-label="DeepClean Baby Bottle Cleaner (D8)" data-dimension48="DeepClean Baby Bottle Cleaner (D8)" data-dimension25="$329">View Deal</a></p></div><h2 id="how-the-deepclean-bottle-cleaner-works">How the DeepClean Bottle Cleaner works</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:800px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="W6sCo8DxnEvJJ3wHrN7WSn" name="ezgif-23f997c4c5e354eb" alt="momcozy deepclean baby bottle cleaner" src="https://cdn.mos.cms.futurecdn.net/W6sCo8DxnEvJJ3wHrN7WSn-1920-80.gif" mos="" align="middle" fullscreen="" width="800" height="450" 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>The Momcozy DeepClean Baby Bottle Cleaner is exactly what the name suggests. It's a countertop appliance that washes used baby bottles, removing all traces of leftover milk or formula, and then sterilizes them ready to be used later on. It retails for $359, and comes bundles with 60 detergent blocks and four limescale removal tablets.</p><p>The appliance has room for up to eight bottles at a time, with a two-tier rack system that lets you wash bottles and nipples simultaneously — aided by 64 water jets capable of spraying 154.4ºF water to help break through whatever leftovers are left on your baby's bottles after use. </p><p>The DeepClean also has a built-in 212º F sterilization mode, a 55-minute bottle drying cycle and an integrated fan (complete with HEPA filter) to keep the newly cleaned bottles sterile for up to 72 hours. The general idea is that you slot the bottles in, and let the appliance do all the hard work for you — something that I have grown incredibly grateful for.</p><p>Oh, and you don't have to worry about keeping the DeepClean itself clean, since it has a dedicated self-cleaning mode. This 30-minute process can even reduce any built-up limescale — provided that you use one of Momcozy's limescale removal tablets.</p><p>Oh, and you don't need to use Momcozy bottles to take advantage of the DeepClean, either. All my baby bottles come from different brands, and they fit into the cleaning rack without issue. However, some of the weird and wonderful shaped bottles you can buy may not slide in quite so smoothly.</p><h2 id="it-39-s-not-just-for-cleaning-bottles">It's not just for cleaning bottles</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="4FhKZiTuxfMgUXHt2f67ef" name="PXL_20260828_101624592" alt="momcozy deepclean baby bottle cleaner" src="https://cdn.mos.cms.futurecdn.net/4FhKZiTuxfMgUXHt2f67ef-1920-80.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>The main benefit is that the DeepClean is not just for washing and sterilizing milk bottles. It's also suitable for all kinds of baby accessories, including gravity bottles and breast pump parts. While Momcozy doesn't specifically approve this, I've also used the machine to clean things like pacifiers and those syringes you use to feed babies medicine without ill effect.</p><p>We don't use breast pumps anymore, but there was a point where my wife was using them pretty regularly — and a machine like the DeepClean could have saved us a lot of trouble. </p><p>The thing about breast pump parts is that you're not supposed to sterilize them in a microwave, as you can with milk bottles. That's in the manual, but the sleep deprived state new parents find themselves in may gloss over this fact and leave you with a bunch of melted chunks of plastic. That happened to us, and sourcing the appropriate replacement parts was a pretty miserable experience.</p><p>Worse is the fact that we had to source a very large pot that was big enough to boil the replacement parts over the stove. Oh and you need to continuously stir the part to stop the plastic melting against the hot metal. The process technically only takes five minutes, but the sheer size of those plastic pieces meant we had to repeat the process multiple times.</p><p>Or you can just stick them into a cleaner like the DeepClean and leave them for half an hour as a machine does all the hard work for you. It certainly would have saved us a lot of headaches during one of the most exhaustive periods of our lives.</p><h2 id="you-39-re-saving-more-than-just-time-too">You're saving more than just time 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:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="CbuSwEs3Yb9KSRW5hSPbJg" name="PXL_20260828_134837473" alt="momcozy deepclean baby bottle cleaner" src="https://cdn.mos.cms.futurecdn.net/CbuSwEs3Yb9KSRW5hSPbJg-1920-80.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>The thing about using appliances is that they generally help save you time by doing all the hard work for you. The DeepClean Bottle Cleaner is effectively a miniature dishwasher, or something very close to it, which means it has slashed the amount of time it takes to actually clean my used milk bottles.</p><p>The old system of cleaning by hand meant that I had to rinse the bottles, clean them with (fragrance free) dish soap and a brush, rinsing out the suds and then sterilizing them in my 700W microwave for at least seven minutes. The DeepClean does all of that for you; the only thing I need to do to the bottles before cleaning is empty out any leftover formula. In fact, the most time-consuming part of the whole process is filling up the 96-ounce water tank.</p><p>The actual cleaning cycle takes at least 28 minutes for the low-powered mode, or 38 minutes for the more intensive clean. That's a lot longer than my old system of hand-washing bottles, but unless you need a clean bottle ASAP, it's not really a big deal. It's not as though you have to stand there and watch the entire cleaning cycle unfold.</p><p>Time is only part of the equation, and the 96-oz. water tank is a perfect example of this. </p><p>96 ounces feels like a lot of water, and I was admittedly shocked when I saw that almost the entire tank was used in the DeepClean's washing cycle — with the rest being saved to make sterilizing steam. But after that initial outrage, I started to wonder whether it was actually a lot of water. </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="jbWydcGSTq9ZzfZAASS2qf" name="PXL_20260828_135112815" alt="momcozy deepclean baby bottle cleaner" src="https://cdn.mos.cms.futurecdn.net/jbWydcGSTq9ZzfZAASS2qf-1920-80.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="caption-text">This was the old way of doing things </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Frankly, I had no idea how much water I use hand washing baby bottles, and had to find out. It turns out, even if I wash super-conservatively, I could use up around 35oz of water washing a single bottle. So, in the same way that <a href="https://www.tomsguide.com/face-off/dishwasher-vs-washing-by-hand-which-is-cheaper">running a full dishwasher might save more water than hand washing</a>, it seems as though the DeepClean might actually reduce your water consumption. More so when you remember that it can clean up to eight bottles (and their respective nipples) at a time without any change in water consumption.</p><p>Energy is a little more complicated. Momcozy says that the DeepClean uses 500W of power during the water heating and sterilizing parts of the cycle, which seemed accurate when I tracked by energy usage. Meanwhile the actual cleaning takes up about 55W, and the dryer uses 200W. Meanwhile, my microwave uses around 1,600W, but also only runs for a third of the time.</p><p>I'm not good at physics or math, so I know I will mess up the calculations if I try and figure it out. Needless to say, the DeepClean is far from the biggest power draw in your kitchen, and it shouldn't affect your energy bills too much.</p><p>It's also worth noting that you should be using the DeepClean with Momcozy's detergent blocks. They cost $20 for 120, working out at around 16.7 cents per cycle. How much that compares to handwashing with dish soap is going to depend on what brand you buy and how much you actually use, but I'd wager that even the fanciest dish soap is going to come in cheaper.</p><h2 id="there-are-some-downsides">There are some downsides</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="PJRofYjqHejYgBk4MCihcf" name="PXL_20260828_101713764" alt="momcozy deepclean baby bottle cleaner" src="https://cdn.mos.cms.futurecdn.net/PJRofYjqHejYgBk4MCihcf-1920-80.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>The first thing I actually noticed about the DeepClean unit is that it's big. 10.6 x 13.78 x 15.35 inches, to be exact, which means it takes up roughly 1.3 cubic feet of space on whichever counter top you've set aside. The only thing I have that comes close is my vertical air fryer, which is so tall it has to be tucked away in the corner.</p><p>Placement on the counter matters a lot as well, since the DeepClean doesn't have a tank to store used water. There's a hose at the back of the unit, and that means you need to make sure it drains somewhere appropriate — such as the sink or a bucket. Otherwise you're just going to end up with a very wet floor.</p><p>The $359 price tag is also a lot to take in, especially when a microwave bottle sterilizer can be bought for as little as $20. But I have to tell myself that you're buying convenience, and potentially lower bills, which could make that investment worth it — especially if you're still expecting or have a newborn. But if your kid is already moving onto solid food, it's a much tougher sell.</p><p>I have found a few other downsides to using the DeepClean at home, though some of these are more about what's going on in my brain than a flaw with the product itself. The big one is that I find it kind of gross to imagine dirty bottles left lying around, waiting for enough of their comrades to justify switching the DeepClean on. </p><p>Leftover milk in the height of the hottest summer most people can remember is not a very good mix, after all. Though I will be the first to admit that this is just something I personally need to wrap my head around, and retrain myself to think slightly differently in the face of new technology.</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="erc9635EpA7MsdCHjUaC9f" name="PXL_20260828_134828976" alt="momcozy deepclean baby bottle cleaner" src="https://cdn.mos.cms.futurecdn.net/erc9635EpA7MsdCHjUaC9f-1920-80.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>The fact you need to buy extra detergent tablets is also worth bearing in mind, since the DeepClean is not compatible with the usual soaps or detergents you'd use to hand wash dishes. They're not expensive, and you get 60 included with the DeepClean, but it means you will be on the hook to keep buying those blocks for the duration of the appliance's lifespan.</p><p>I'll admit I forgot to use the detergent blocks on more than one occasion with no apparent ill effect. But obviously you'll want to make sure your baby's bottles are actually clean, and the detergent is the best way to ensure that.</p><p>Limescale is also going to be an issue with any machine that requires water, especially if your local water is as hard as it is in my area. I can't think of a single part of my bathroom or kitchen sink that isn't coated with that pesky layer of white deposit. Momcozy recommends using distilled water, rather than tap water, but to that I say "who has the time for that?" </p><p>I've taken to using filtered water instead, and while not perfectly free of excess minerals, it generally extends the amount of time my water-based appliances have between descaling cycles. Momcozy does include descaling tablets in the box, which are compatible with the DeepClean's self-cleaning mode.</p><p>Finally, the system that keeps clean bottles sterile for up to 72 hours is all down to a built-in air circulation system. This requires power to run, around 190-200W based on my energy meter, and turning it off means Momcozy can't guarantee the bottles will remain sterile. Such a feature could potentially be useful, especially if you need to clean bottles before going away for the weekend, but it does feel a little like overkill. So if you're anything like me, you'll have the bottles out and packed away safely pretty soon after the cleaning cycle is over.</p><h2 id="verdict">Verdict</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="kAL987MKqZvVsKuxqop8bf" name="PXL_20260828_134822885" alt="momcozy deepclean baby bottle cleaner" src="https://cdn.mos.cms.futurecdn.net/kAL987MKqZvVsKuxqop8bf-1920-80.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>I like using the Momcozy DeepClean Baby Bottle Washer, for the simple fact that it takes all the extra stress and hassle out of the whole bottle-cleaning process. All you need to do is fill the tank, slot the bottles in and turn the machine on. It's an extremely convenient tool to have, and it's something I wish I had back before my son started eating solid food and needed a bottle every couple of hours.</p><p>Having handwashed bottles for 9 months does mean that switching to an appliance does take an adjustment. My wife in particular is finding it hard to get out of the habit of washing milk bottles as soon as they're finished. Asking her not to clean up is like asking her not to breathe, so I'm not sure if she's actually used the DeepClean yet. </p><p>As for me, I'm coming around to the idea of being much lazier, and not scrubbing used bottles clean. Even if my math is totally wrong, and the DeepClean doesn't end up saving me money on my water or energy bills, I'm at least regaining a little bit more of my time — which is a luxury when you have young kids. </p><p>I just wish it wasn't quite so big, because it does take up a lot of space. But I guess that's the price you pay for cleaning up to eight bottles at once.</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/home/forget-weekend-deep-cleaning-this-30-second-daily-bathroom-hack-saved-my-schedule">Forget weekend deep cleaning: This 30-second daily bathroom hack saved my schedule</a></li><li><a href="https://www.tomsguide.com/home/expert-warns-against-pouring-boiling-water-down-sinks-heres-why">Expert warns against pouring boiling water down sinks — here's why</a></li><li><a href="https://www.tomsguide.com/home/home-appliances/sharkninjas-new-aquareach-wet-dry-vacuum-cleans-up">SharkNinja’s AquaReach just reinvented wet-dry vacs with an extendable wand</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tried the ultimate retro games handheld — and this device is a throwback in more ways than one ]]></title>
                                                                                                <dc:content><![CDATA[ <p>We’re in a boom period for video game handhelds. From the <a href="https://www.tomsguide.com/gaming/nintendo/nintendo-switch-2-console-review">Nintendo Switch 2</a> to handheld PCs, like the <a href="https://www.tomsguide.com/reviews/steam-deck-oled">Steam Deck OLED</a> and <a href="https://www.tomsguide.com/gaming/handheld-gaming/i-tested-the-usd1-299-rog-xbox-ally-x20-with-that-oled-display-the-usd300-price-hike-is-surprisingly-palatable">ROG Xbox Ally X20</a>, there’s never been more (and in my opinion, better) ways to take your games on the go. But while these devices focus on the new, the upcoming Evercade Nexus is carving out its own niche by focusing on the past.</p><p>The first Evercade hardware launched in May 2020, and six years on, the range has expanded to include home consoles and handhelds. The Evercade Nexus, due for release in October, is the company's latest portable device, and a reminder that sometimes you just can’t beat the classics. </p><p>I got the chance to go hands-on with the Evercade Nexus and speak to Sean Cleaver, Head of Marketing at Blaze Entertainment (the company behind the Evercade range), at <a href="https://www.tomsguide.com/gaming/ranking-everything-i-played-at-gamescom-2026-including-alien-isolation-2-metro-2039-silent-hill-townfall-and-more">Gamescom 2026</a>. I came away from this session convinced this little handheld could be a retro fan's dream device.</p><div class="product"><a data-dimension112="ed240d68-a2f1-11f1-8863-515a14c6deec" data-action="Deal Block" data-label="Nexus (w/ Banjo-Kazooie Double Pack)" data-dimension48="Nexus (w/ Banjo-Kazooie Double Pack)" data-dimension25="$199" href="https://www.bestbuy.com/product/evercade-nexus-with-banjo-kazooie-double-pack/CLXXZP7626/sku/6675705" 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="tgyvfMgxWBzQ6v6wnj85oY" name="evercade-nexus-banjo-double-pack" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/tgyvfMgxWBzQ6v6wnj85oY-1920-80.jpg" mos="" align="middle" fullscreen="" width="900" height="900" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/evercade-nexus-with-banjo-kazooie-double-pack/CLXXZP7626/sku/6675705" target="_blank" rel="nofollow" data-dimension112="ed240d68-a2f1-11f1-8863-515a14c6deec" data-action="Deal Block" data-label="Nexus (w/ Banjo-Kazooie Double Pack)" data-dimension48="Nexus (w/ Banjo-Kazooie Double Pack)" data-dimension25="$199">Nexus (w/ Banjo-Kazooie Double Pack): $199</a></strong><br>The Evercade Nexus is a handheld device designed to take retro gaming on the go. It includes a 5.89-inch IPS display, dual analogue sticks, and wireless headphone support. It's compatible with more than 70 Evercade cartridges (that's 700+ games), and the Nexus comes bundled with the Banjo-Kazooie Double Pack. That's two classic 3D platformers on a single cartridge.<a class="view-deal button" href="https://www.bestbuy.com/product/evercade-nexus-with-banjo-kazooie-double-pack/CLXXZP7626/sku/6675705" target="_blank" rel="nofollow" data-dimension112="ed240d68-a2f1-11f1-8863-515a14c6deec" data-action="Deal Block" data-label="Nexus (w/ Banjo-Kazooie Double Pack)" data-dimension48="Nexus (w/ Banjo-Kazooie Double Pack)" data-dimension25="$199">View Deal</a></p></div><h2 id="into-the-nexus">Into the Nexus</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/C1Bc_l0qCr8" allowfullscreen></iframe></div></div><p>The Nexus marks several firsts for Evercade. It’s the company's first portable with dual analogue sticks, and packs the largest screen of any Evercade handheld, with a 5.89-inch IPS display. Other features include wireless headphone support, dual stereo speakers, Wi-Fi 6 support, and an estimated five hours of battery life, which comfortably beats the Switch 2.</p><p>While some previous Evercade handhelds, like the $59 Super Pocket, have gone for a more kid-friendly aesthetic, with brightly colored plastic, the Nexus takes a more unassuming approach. Its slick, black look wouldn’t stand out in a crowd, but I don’t think that’s a flaw. Plus, if you do want to add some color, the Nexus logo underneath the screen lights up and can be customized — though the default red option contrasts quite nicely. </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="ubSXk4BmCWnZLYXjGzZfHe" name="banjo-kazooie-collecting-notes-image.jpg" alt="Banjo-Kazooie screenshot" src="https://cdn.mos.cms.futurecdn.net/ubSXk4BmCWnZLYXjGzZfHe-1920-80.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: Rare)</span></figcaption></figure><p>When I first picked up the Evercade Nexus, it felt nice in the hand, and the “Ultra Bright” screen certainly lived up to its name. The device comes bundled with a Banjo-Kazooie Double Pack (a firm childhood favorite of mine, and what brought the Evercade Nexus to my attention), and the lush greens of the game’s first level, Spiral Mountain, looked particularly sharp. </p><p>The D-pad is also tactile, which is vital for a retro device with many games originally designed for systems that didn’t offer analog sticks. So this is an area that Evercade really needed to nail. </p><p>On the flipside, the triggers felt quite sluggish, but this was really my only sticking point (pun intended). For the most part, the Evercade Nexus seems a well-designed handheld. And it’s clear it’s been created with retro gaming at the forefront; it even offers a “Tate Mode,” which at the touch of a button lets you play vertical screen games the way they were designed.</p><h2 id="for-cartridge-collectors">For cartridge collectors</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="pmichAAQ8GDBELucywr4Fi" name="evercade-cartridge-library" alt="Evercade cartridge library laid out on a table" src="https://cdn.mos.cms.futurecdn.net/pmichAAQ8GDBELucywr4Fi-1920-80.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: Blaze Entertainment)</span></figcaption></figure><p>In a gaming landscape where <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 has announced plans to stop producing physical game discs</a>, the conversation around actually owning your collection has never burned brighter. This gives the Evercade Nexus another big advantage, because it’s a handheld rooted in the good old days, where you got a box, a thick manual, and a physical cartridge that you own. </p><p>The system is compatible with Evercade’s entire range of existing cartridge-based software, and this library is impressive. There’s the usual assortment of compilations that include titles from Atari, Interplay, Namco and more, as well as collections dedicated to franchises like Tomb Raider, Doom and Duke Nukem. And it’s not all favorites from yesteryear either. Evercade has released retro-inspired modern indies like Full Void on cartridges as well. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W0E7MO"></div>                            </div>                            <script src="https://kwizly.com/embed/W0E7MO.js" async></script><p>If you take your retro gaming seriously or just want to get lost in a sea of childhood nostalgia, Evercade’s library is a treasure trove of games that shaped the industry as we know it. And while it is still a handheld released in 2026, meaning it has Wi-Fi connectivity and some online features, every cartridge is playable out of the box with no need for digital downloads.</p><p>If you buy an Evercade cartridge, the whole game is on the cart. It’s yours to treasure for years to come (or loan to a friend, or sell on, if you wish). You’re not buying a digital license; you’re buying full games, like the old days.</p><h2 id="my-verdict-on-evercade-nexus-for-now">My verdict on Evercade Nexus (for now)</h2><p>Launching in October for $199 / £169, the Evercade Nexus really could be the ultimate retro games handheld. It’s certainly not trying to compete with the Switch 2 or the ROG Ally by offering a AAA experience on a portable. Instead, it’s a nostalgia device that harkens back to a simpler time for gaming. Before always-online requirements and mandatory downloads.</p><p>Maybe that succinct pitch won’t appeal to the next generation of gamers, but for a certain type of player, it’s a message that will resonate. If you appreciate the classics and want a well-designed handheld device that successfully highlights the best of what video games used to be, the Evercade Nexus might be the portable console you’ve always wanted.</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/i-tested-the-usd1-299-rog-xbox-ally-x20-with-that-oled-display-the-usd300-price-hike-is-surprisingly-palatable">I tested the ROG Xbox Ally X20 — the $300 price hike is palatable</a></li><li><a href="https://www.tomsguide.com/gaming/i-sat-on-all-the-ikea-x-xbox-furniture-its-the-ultimate-stealth-gaming-upgrade">I sat on all the IKEA x Xbox furniture — it’s the ultimate upgrade</a></li><li><a href="https://www.tomsguide.com/gaming/nintendo/best-nintendo-switch-2-games">Best Nintendo Switch 2 games in 2026</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/gaming/handheld-gaming/i-tried-the-ultimate-retro-games-handheld-and-this-device-is-a-throwback-in-more-ways-than-one</link>
                                                                            <description>
                            <![CDATA[ I went hands-on with the upcoming Evercade Nexus, and this retro handheld reminds me of a time when gaming was a lot simpler. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">YD4KUZRtdGBhz8BtCcYt4b</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/HhSQZcmua95Q9EREqCjL7U-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 30 Aug 2026 07:30:00 +0000</pubDate>                                                                                                                                <updated>Sun, 30 Aug 2026 12:30:41 +0000</updated>
                                                                                                                                            <category><![CDATA[Handheld Gaming]]></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-320-70.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/HhSQZcmua95Q9EREqCjL7U-1280-80.jpg">
                                                            <media:credit><![CDATA[Blaze Entertainment]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Evercade Nexus handheld device on a grey background]]></media:description>                                                            <media:text><![CDATA[Evercade Nexus handheld device on a grey background]]></media:text>
                                <media:title type="plain"><![CDATA[Evercade Nexus handheld device on a grey background]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/HhSQZcmua95Q9EREqCjL7U-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>We’re in a boom period for video game handhelds. From the <a href="https://www.tomsguide.com/gaming/nintendo/nintendo-switch-2-console-review">Nintendo Switch 2</a> to handheld PCs, like the <a href="https://www.tomsguide.com/reviews/steam-deck-oled">Steam Deck OLED</a> and <a href="https://www.tomsguide.com/gaming/handheld-gaming/i-tested-the-usd1-299-rog-xbox-ally-x20-with-that-oled-display-the-usd300-price-hike-is-surprisingly-palatable">ROG Xbox Ally X20</a>, there’s never been more (and in my opinion, better) ways to take your games on the go. But while these devices focus on the new, the upcoming Evercade Nexus is carving out its own niche by focusing on the past.</p><p>The first Evercade hardware launched in May 2020, and six years on, the range has expanded to include home consoles and handhelds. The Evercade Nexus, due for release in October, is the company's latest portable device, and a reminder that sometimes you just can’t beat the classics. </p><p>I got the chance to go hands-on with the Evercade Nexus and speak to Sean Cleaver, Head of Marketing at Blaze Entertainment (the company behind the Evercade range), at <a href="https://www.tomsguide.com/gaming/ranking-everything-i-played-at-gamescom-2026-including-alien-isolation-2-metro-2039-silent-hill-townfall-and-more">Gamescom 2026</a>. I came away from this session convinced this little handheld could be a retro fan's dream device.</p><div class="product"><a data-dimension112="ed240d68-a2f1-11f1-8863-515a14c6deec" data-action="Deal Block" data-label="Nexus (w/ Banjo-Kazooie Double Pack)" data-dimension48="Nexus (w/ Banjo-Kazooie Double Pack)" data-dimension25="$199" href="https://www.bestbuy.com/product/evercade-nexus-with-banjo-kazooie-double-pack/CLXXZP7626/sku/6675705" 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="tgyvfMgxWBzQ6v6wnj85oY" name="evercade-nexus-banjo-double-pack" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/tgyvfMgxWBzQ6v6wnj85oY-1920-80.jpg" mos="" align="middle" fullscreen="" width="900" height="900" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.bestbuy.com/product/evercade-nexus-with-banjo-kazooie-double-pack/CLXXZP7626/sku/6675705" target="_blank" rel="nofollow" data-dimension112="ed240d68-a2f1-11f1-8863-515a14c6deec" data-action="Deal Block" data-label="Nexus (w/ Banjo-Kazooie Double Pack)" data-dimension48="Nexus (w/ Banjo-Kazooie Double Pack)" data-dimension25="$199">Nexus (w/ Banjo-Kazooie Double Pack): $199</a></strong><br>The Evercade Nexus is a handheld device designed to take retro gaming on the go. It includes a 5.89-inch IPS display, dual analogue sticks, and wireless headphone support. It's compatible with more than 70 Evercade cartridges (that's 700+ games), and the Nexus comes bundled with the Banjo-Kazooie Double Pack. That's two classic 3D platformers on a single cartridge.<a class="view-deal button" href="https://www.bestbuy.com/product/evercade-nexus-with-banjo-kazooie-double-pack/CLXXZP7626/sku/6675705" target="_blank" rel="nofollow" data-dimension112="ed240d68-a2f1-11f1-8863-515a14c6deec" data-action="Deal Block" data-label="Nexus (w/ Banjo-Kazooie Double Pack)" data-dimension48="Nexus (w/ Banjo-Kazooie Double Pack)" data-dimension25="$199">View Deal</a></p></div><h2 id="into-the-nexus">Into the Nexus</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/C1Bc_l0qCr8" allowfullscreen></iframe></div></div><p>The Nexus marks several firsts for Evercade. It’s the company's first portable with dual analogue sticks, and packs the largest screen of any Evercade handheld, with a 5.89-inch IPS display. Other features include wireless headphone support, dual stereo speakers, Wi-Fi 6 support, and an estimated five hours of battery life, which comfortably beats the Switch 2.</p><p>While some previous Evercade handhelds, like the $59 Super Pocket, have gone for a more kid-friendly aesthetic, with brightly colored plastic, the Nexus takes a more unassuming approach. Its slick, black look wouldn’t stand out in a crowd, but I don’t think that’s a flaw. Plus, if you do want to add some color, the Nexus logo underneath the screen lights up and can be customized — though the default red option contrasts quite nicely. </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="ubSXk4BmCWnZLYXjGzZfHe" name="banjo-kazooie-collecting-notes-image.jpg" alt="Banjo-Kazooie screenshot" src="https://cdn.mos.cms.futurecdn.net/ubSXk4BmCWnZLYXjGzZfHe-1920-80.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: Rare)</span></figcaption></figure><p>When I first picked up the Evercade Nexus, it felt nice in the hand, and the “Ultra Bright” screen certainly lived up to its name. The device comes bundled with a Banjo-Kazooie Double Pack (a firm childhood favorite of mine, and what brought the Evercade Nexus to my attention), and the lush greens of the game’s first level, Spiral Mountain, looked particularly sharp. </p><p>The D-pad is also tactile, which is vital for a retro device with many games originally designed for systems that didn’t offer analog sticks. So this is an area that Evercade really needed to nail. </p><p>On the flipside, the triggers felt quite sluggish, but this was really my only sticking point (pun intended). For the most part, the Evercade Nexus seems a well-designed handheld. And it’s clear it’s been created with retro gaming at the forefront; it even offers a “Tate Mode,” which at the touch of a button lets you play vertical screen games the way they were designed.</p><h2 id="for-cartridge-collectors">For cartridge collectors</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="pmichAAQ8GDBELucywr4Fi" name="evercade-cartridge-library" alt="Evercade cartridge library laid out on a table" src="https://cdn.mos.cms.futurecdn.net/pmichAAQ8GDBELucywr4Fi-1920-80.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: Blaze Entertainment)</span></figcaption></figure><p>In a gaming landscape where <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 has announced plans to stop producing physical game discs</a>, the conversation around actually owning your collection has never burned brighter. This gives the Evercade Nexus another big advantage, because it’s a handheld rooted in the good old days, where you got a box, a thick manual, and a physical cartridge that you own. </p><p>The system is compatible with Evercade’s entire range of existing cartridge-based software, and this library is impressive. There’s the usual assortment of compilations that include titles from Atari, Interplay, Namco and more, as well as collections dedicated to franchises like Tomb Raider, Doom and Duke Nukem. And it’s not all favorites from yesteryear either. Evercade has released retro-inspired modern indies like Full Void on cartridges as well. </p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-W0E7MO"></div>                            </div>                            <script src="https://kwizly.com/embed/W0E7MO.js" async></script><p>If you take your retro gaming seriously or just want to get lost in a sea of childhood nostalgia, Evercade’s library is a treasure trove of games that shaped the industry as we know it. And while it is still a handheld released in 2026, meaning it has Wi-Fi connectivity and some online features, every cartridge is playable out of the box with no need for digital downloads.</p><p>If you buy an Evercade cartridge, the whole game is on the cart. It’s yours to treasure for years to come (or loan to a friend, or sell on, if you wish). You’re not buying a digital license; you’re buying full games, like the old days.</p><h2 id="my-verdict-on-evercade-nexus-for-now">My verdict on Evercade Nexus (for now)</h2><p>Launching in October for $199 / £169, the Evercade Nexus really could be the ultimate retro games handheld. It’s certainly not trying to compete with the Switch 2 or the ROG Ally by offering a AAA experience on a portable. Instead, it’s a nostalgia device that harkens back to a simpler time for gaming. Before always-online requirements and mandatory downloads.</p><p>Maybe that succinct pitch won’t appeal to the next generation of gamers, but for a certain type of player, it’s a message that will resonate. If you appreciate the classics and want a well-designed handheld device that successfully highlights the best of what video games used to be, the Evercade Nexus might be the portable console you’ve always wanted.</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/i-tested-the-usd1-299-rog-xbox-ally-x20-with-that-oled-display-the-usd300-price-hike-is-surprisingly-palatable">I tested the ROG Xbox Ally X20 — the $300 price hike is palatable</a></li><li><a href="https://www.tomsguide.com/gaming/i-sat-on-all-the-ikea-x-xbox-furniture-its-the-ultimate-stealth-gaming-upgrade">I sat on all the IKEA x Xbox furniture — it’s the ultimate upgrade</a></li><li><a href="https://www.tomsguide.com/gaming/nintendo/best-nintendo-switch-2-games">Best Nintendo Switch 2 games in 2026</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I sat on all the IKEA x Xbox furniture — it’s the ultimate stealth gaming upgrade ]]></title>
                                                                                                <dc:content><![CDATA[ <p>So Ikea and Xbox just dropped the 9-piece <a href="https://www.ikea.com/global/en/newsroom/collaborations/ikea-xbox-launch-the-yxstaby-collection-260826/" target="_blank" rel="nofollow">YXSTABY collection</a> at Gamescom, and I’ll be real — it might just be the smartest gaming furniture we’ve seen in years.</p><p>Normally, “gaming furniture” means angular plastic monstrosities, aggressive neon accents and enough RGB lighting to signal passing aircraft. But Ikea tied up with Xbox to take a completely different direction — focusing on muted tones and light wood finishes, and simple functionality. </p><p>All of it tucks subtle splashes of Xbox green away, and it’s all designed to let you transform a living space into a gaming setup, while cleaning and hiding it all away.</p><h2 id="the-star-of-the-show-the-thumbstick-stool">The star of the show: The thumbstick stool</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="Z88bBqmZKcSLvZb7fNFWDF" name="Ikea x Xbox YXSTABY" alt="Ikea x Xbox YXSTABY" src="https://cdn.mos.cms.futurecdn.net/Z88bBqmZKcSLvZb7fNFWDF-1920-80.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>Xbox and Ikea actually used the original 3D design files for the Xbox controller’s analog stick to get the proportions and seating curve <em>just </em>right for the $50 thumb stick stool. But the most fascinating part to a fidgety person like me is that it actually moves.</p><p>The base is curved so it tilts in all directions while you sit on it — perfectly mimicking the movement of a real thumbstick. That being said, there is a legitimate benefit to this in being the ideal chair to lean into the on-screen action when you’re locking in.</p><p>And that textured grip around the edge of the joystick actually helps stop you from falling off. I’d be nervous if Xbox had gone for convex joystick heads at this moment!</p><h2 id="lounging-around-the-lounge-chair-and-the-d-pad-cushion">Lounging around: The lounge chair and the d-pad cushion</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="n4H4eDxXm8Sa8FSNX5XoFF" name="Ikea x Xbox YXSTABY" alt="Ikea x Xbox YXSTABY" src="https://cdn.mos.cms.futurecdn.net/n4H4eDxXm8Sa8FSNX5XoFF-1920-80.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>If you’ve ever tried to fit a massive, <a href="https://www.tomsguide.com/gaming/gaming-peripherals/i-ditched-my-office-chair-for-the-razer-iskur-v2-newgen-and-it-finally-sold-me-on-gaming-chairs">racing-style gaming chair</a> into a dorm room or shared apartment, you know it instantly takes over the entire space. Instead, Ikea has focused on low-profile comfort and stealthy utility.</p><p>The lounge chair ($120) uses a cantilevered bouncy frame that’s designed to flex with you — just the right angle to lean back during comfy gaming sessions, while not leaning you back <em>too </em>much so you can lean forward and lock-in to that high-stakes multiplayer match.</p><p>On top of that, there’s a hidden storage pocket right underneath the seat to stash your controllers, and the fabric cover is completely removable and machine washable.</p><p>Then there’s the D-pad cushion completing the setup ($18). This plush throw is molded directly after the faceted Xbox directional buttons, and the perfect companion piece to the lounge chair… But not for the way you think.</p><p>You see, it’s definitely sneaking a subtle “if you know, you know” piece of gaming iconography into your decor, but the X shape is pretty ideal for resting on your lap for an ergonomic elbow stand for playing on a controller.</p><h2 id="stealth-storage-and-clever-upgrades">Stealth storage and clever upgrades</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="CrQuq9Z2k6bFaWrMZq4SAF" name="Ikea x Xbox YXSTABY" alt="Ikea x Xbox YXSTABY" src="https://cdn.mos.cms.futurecdn.net/CrQuq9Z2k6bFaWrMZq4SAF-1920-80.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>And for anyone dealing with a cramped space, the stealthy storage options here are brilliant. </p><p>Whether it’s the rolling TV stand mounted on casters to moving your gear around ($150), the sleek wooden $35 toolbox that neatly stores all controllers and cables (but doubles as a laptop stand too), or the $18 D-pad platter — a stainless steel serving tray molded perfectly into the sunken cross shape of the directional buttons — you’ve got all you need to make the most of any space.</p><p>But in particular, shout-out to the neat coffee table organizer that is also on wheels, but has a nice homely feel to it to hide away your gaming peripherals.</p><h2 id="verdict-amp-availability">Verdict & availability</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="v3dzHCwYw39gjcCXNSjCoE" name="Ikea x Xbox YXSTABY" alt="Ikea x Xbox YXSTABY" src="https://cdn.mos.cms.futurecdn.net/v3dzHCwYw39gjcCXNSjCoE-1920-80.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>But the best part about this drop (as you’ve probably seen throughout my piece) is that the pricing remains remarkably down to earth. The YXSTABY collection hits Ikea stores and online starting October 1.</p><p>If you’re tired of sacrificing your living room to an RGB gaming den, this is the exact compromise you’ve been waiting for.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/toms-guide-computing-awards-2026-21-game-changing-laptops-desktops-and-peripherals"><strong>Tom’s Guide Computing Awards 2026: 21 game-changing laptops, desktops and peripherals</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/gaming/handheld-gaming/i-tested-the-usd1-299-rog-xbox-ally-x20-with-that-oled-display-the-usd300-price-hike-is-surprisingly-palatable"><strong>I tested the $1,299 ROG Xbox Ally X20 — with that OLED display, the $300 price hike is surprisingly palatable</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/monitors/i-just-went-eyes-on-with-the-worlds-fastest-oled-gaming-monitor-and-motion-blur-is-officially-dead"><strong>I just went eyes-on with the world’s fastest OLED gaming monitor — and motion blur is officially dead</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/gaming/i-sat-on-all-the-ikea-x-xbox-furniture-its-the-ultimate-stealth-gaming-upgrade</link>
                                                                            <description>
                            <![CDATA[ I tested the new Ikea x Xbox YXSTABY furniture collection at Gamescom. From a tilting thumbstick stool to stealth storage, here are my full impressions. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">vLg9MdiX8J4t4YEcmTScgS</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/xbQAceB9NTCFDAfQS5wqMF-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 27 Aug 2026 11:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Gaming]]></category>
                                                    <category><![CDATA[Home]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&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/xbQAceB9NTCFDAfQS5wqMF-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Ikea x Xbox YXSTABY]]></media:description>                                                            <media:text><![CDATA[Ikea x Xbox YXSTABY]]></media:text>
                                <media:title type="plain"><![CDATA[Ikea x Xbox YXSTABY]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/xbQAceB9NTCFDAfQS5wqMF-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>So Ikea and Xbox just dropped the 9-piece <a href="https://www.ikea.com/global/en/newsroom/collaborations/ikea-xbox-launch-the-yxstaby-collection-260826/" target="_blank" rel="nofollow">YXSTABY collection</a> at Gamescom, and I’ll be real — it might just be the smartest gaming furniture we’ve seen in years.</p><p>Normally, “gaming furniture” means angular plastic monstrosities, aggressive neon accents and enough RGB lighting to signal passing aircraft. But Ikea tied up with Xbox to take a completely different direction — focusing on muted tones and light wood finishes, and simple functionality. </p><p>All of it tucks subtle splashes of Xbox green away, and it’s all designed to let you transform a living space into a gaming setup, while cleaning and hiding it all away.</p><h2 id="the-star-of-the-show-the-thumbstick-stool">The star of the show: The thumbstick stool</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="Z88bBqmZKcSLvZb7fNFWDF" name="Ikea x Xbox YXSTABY" alt="Ikea x Xbox YXSTABY" src="https://cdn.mos.cms.futurecdn.net/Z88bBqmZKcSLvZb7fNFWDF-1920-80.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>Xbox and Ikea actually used the original 3D design files for the Xbox controller’s analog stick to get the proportions and seating curve <em>just </em>right for the $50 thumb stick stool. But the most fascinating part to a fidgety person like me is that it actually moves.</p><p>The base is curved so it tilts in all directions while you sit on it — perfectly mimicking the movement of a real thumbstick. That being said, there is a legitimate benefit to this in being the ideal chair to lean into the on-screen action when you’re locking in.</p><p>And that textured grip around the edge of the joystick actually helps stop you from falling off. I’d be nervous if Xbox had gone for convex joystick heads at this moment!</p><h2 id="lounging-around-the-lounge-chair-and-the-d-pad-cushion">Lounging around: The lounge chair and the d-pad cushion</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="n4H4eDxXm8Sa8FSNX5XoFF" name="Ikea x Xbox YXSTABY" alt="Ikea x Xbox YXSTABY" src="https://cdn.mos.cms.futurecdn.net/n4H4eDxXm8Sa8FSNX5XoFF-1920-80.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>If you’ve ever tried to fit a massive, <a href="https://www.tomsguide.com/gaming/gaming-peripherals/i-ditched-my-office-chair-for-the-razer-iskur-v2-newgen-and-it-finally-sold-me-on-gaming-chairs">racing-style gaming chair</a> into a dorm room or shared apartment, you know it instantly takes over the entire space. Instead, Ikea has focused on low-profile comfort and stealthy utility.</p><p>The lounge chair ($120) uses a cantilevered bouncy frame that’s designed to flex with you — just the right angle to lean back during comfy gaming sessions, while not leaning you back <em>too </em>much so you can lean forward and lock-in to that high-stakes multiplayer match.</p><p>On top of that, there’s a hidden storage pocket right underneath the seat to stash your controllers, and the fabric cover is completely removable and machine washable.</p><p>Then there’s the D-pad cushion completing the setup ($18). This plush throw is molded directly after the faceted Xbox directional buttons, and the perfect companion piece to the lounge chair… But not for the way you think.</p><p>You see, it’s definitely sneaking a subtle “if you know, you know” piece of gaming iconography into your decor, but the X shape is pretty ideal for resting on your lap for an ergonomic elbow stand for playing on a controller.</p><h2 id="stealth-storage-and-clever-upgrades">Stealth storage and clever upgrades</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="CrQuq9Z2k6bFaWrMZq4SAF" name="Ikea x Xbox YXSTABY" alt="Ikea x Xbox YXSTABY" src="https://cdn.mos.cms.futurecdn.net/CrQuq9Z2k6bFaWrMZq4SAF-1920-80.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>And for anyone dealing with a cramped space, the stealthy storage options here are brilliant. </p><p>Whether it’s the rolling TV stand mounted on casters to moving your gear around ($150), the sleek wooden $35 toolbox that neatly stores all controllers and cables (but doubles as a laptop stand too), or the $18 D-pad platter — a stainless steel serving tray molded perfectly into the sunken cross shape of the directional buttons — you’ve got all you need to make the most of any space.</p><p>But in particular, shout-out to the neat coffee table organizer that is also on wheels, but has a nice homely feel to it to hide away your gaming peripherals.</p><h2 id="verdict-amp-availability">Verdict & availability</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="v3dzHCwYw39gjcCXNSjCoE" name="Ikea x Xbox YXSTABY" alt="Ikea x Xbox YXSTABY" src="https://cdn.mos.cms.futurecdn.net/v3dzHCwYw39gjcCXNSjCoE-1920-80.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>But the best part about this drop (as you’ve probably seen throughout my piece) is that the pricing remains remarkably down to earth. The YXSTABY collection hits Ikea stores and online starting October 1.</p><p>If you’re tired of sacrificing your living room to an RGB gaming den, this is the exact compromise you’ve been waiting for.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/toms-guide-computing-awards-2026-21-game-changing-laptops-desktops-and-peripherals"><strong>Tom’s Guide Computing Awards 2026: 21 game-changing laptops, desktops and peripherals</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/gaming/handheld-gaming/i-tested-the-usd1-299-rog-xbox-ally-x20-with-that-oled-display-the-usd300-price-hike-is-surprisingly-palatable"><strong>I tested the $1,299 ROG Xbox Ally X20 — with that OLED display, the $300 price hike is surprisingly palatable</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/monitors/i-just-went-eyes-on-with-the-worlds-fastest-oled-gaming-monitor-and-motion-blur-is-officially-dead"><strong>I just went eyes-on with the world’s fastest OLED gaming monitor — and motion blur is officially dead</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I made my own video games with Meta’s new free AI vibe-coding app — and I didn’t expect to have this much fun ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Before I switched to majoring in Communications, I dreamed of entering the world of video game development by picking up a college degree in Computer Science.</p><p>That initial dream of mine quickly turned into something I know I wasn’t built for once I was left utterly confused after reading up on the topics of C++ and C# for game engines and system logic. To be completely honest and blunt, I just knew I wasn’t smart enough to grasp everything that goes into creating the types of games me and my friends wanted to play.</p><p>But as I sit here and type out this article, I feel like I finally get to achieve that lofty goal of mine in the strangest way possible — through a vibe coding app that’s accessible from the comfort of my iPhone. Meta recently launched a free app called Pocket for <a href="https://apps.apple.com/us/app/pocket-make-gizmos/id6761221765" target="_blank">iOS</a> and <a href="https://play.google.com/store/apps/details?id=com.facebook.gizmo&hl=en_US" target="_blank">Android</a> devices that lets you get as creative as you’d like as a mobile game maker and prompt your concept into something that’s actually playable.</p><p>I figured it was time to show the world my creative genius as a game designer by <a href="https://www.tomsguide.com/ai/how-to-get-started-with-vibe-coding-5-simple-tips-for-beginners">vibe coding</a> (which is simply describing what you want to an AI instead of manually writing out code) my own playable experiences. And honestly, this little experiment ended up being more than I thought it would.</p><h2 id="slashing-unicorns-shooting-bubbles-and-bouncing-on-clouds-with-trampolines">Slashing unicorns, shooting bubbles and bouncing on clouds with trampolines</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="55sh9pwXgLBs7pvjxmWGjS" name="meta-pocket-games" alt="meta pocket app" src="https://cdn.mos.cms.futurecdn.net/55sh9pwXgLBs7pvjxmWGjS-1920-80.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="caption-text">My first game (left) involved shooting unicorns from the sky whilst my second (right) mimicked the great Bust-A-Move puzzle game. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>During my first go-round with Pocket, I was treated to the Pocket app’s default game, which told me to tilt my phone to move a gumball machine full of sweet, multicolored contraptions. It was a decent little interactive experience, but I yearned for something a bit more complex and satisfying to play.</p><p>For my first game, I had the inkling to get into some medieval fantasy action suitable for younger players. Once I put in my prompt, the app went to work for a few seconds as it turned my words into a playable game. Imagine my amazement when the finished product came out as something that would have kept me busy during my days as a toddler who had no siblings to annoy. </p><p>All I had to drag my pint-sized warrior across the screen warrior across the screen and tap it whenever I wanted to swing my blade to vanquish some no-good unicorns. After spending far too much time cutting down evil creatures falling out of the sky, I started my next game project.</p><p>This time, I felt like honoring a classic match-three puzzler that got far too many quarters out of me back in the day. Bust-A-Move (better known as Puzzle Bobble in Japan) is simple, cute and straight to the point — attach three bubbles of the same color to make them pop so you can clear them all out. This type of game has gotten a million and one copycats across consoles and mobile gaming storefronts. </p><p>My prompt explained that game’s concept quite clearly and, thankfully, the Pocket app knew exactly what I was trying to make. 15 seconds later and BOOM…my own match-three bubble puzzle game was born. Tapping to shoot my bubble into other ones became my dosage of fun for about 45 minutes<strong> </strong>before I had another lightbulb moment for my next game creation.</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="j3gtUd53YA8tPp3CncPaHZ" name="meta-pocket-games-2" alt="meta pocket app" src="https://cdn.mos.cms.futurecdn.net/j3gtUd53YA8tPp3CncPaHZ-1920-80.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>For my third and final vibe coding exercise, I wanted to play something that’s all about staying in the air and not falling to my doom. </p><p>With visions of Jetpack Joyride circling my brain, I entered my prompt and ended up producing a wholesome game I’d let my younger cousins play all day and night. All I had to do to keep my miniature avatar alive was tilt/drag the screen to move them from left to right and have them bounce on trampolines encased within clouds. The blue and white ones gave me a decently sized jump, while the grey and white ones disappeared after bouncing on them once and the pink and yellow ones threw me even higher into the sky. </p><p>This game ended up being my most complex since it featured some challenging elements that kept it from getting stale after a minute or two.</p><p>Once I was done making my games, I took a trip to my “Playlists” tab to see if I could find other people’s games. All I had to do was scroll down and find the “Discover” section full of curated picks to find even more interesting ideas. Plus, every time I opened the Pocket app after a few hours, a whole new game would pop up on my home screen (shout out to “josh” for introducing me to his highly entertaining “pocket space copter” game).</p><h2 id="final-thoughts">Final thoughts</h2><p>Meta’s Pocket app is such a fun way to familiarize yourself with vibe coding and turn your video game concepts into something that’s actually tangible. To keep my creative juices flowing, I went to ChatGPT to see if it could generate some game-making prompts (one of them gave me the perfect Flappy Bird copycat!), so feel free to use these for yourself and add your own details to make them all your own:</p><ul><li><strong>Flappy Bird-style: </strong><em>Create a simple one-button arcade game where I control a tiny UFO flying through a constantly changing alien city. Tap to rise and release to fall. Add increasingly difficult obstacles, a score counter, high-score tracking, and funny sound effects.</em></li><li><strong>Angry office printer: </strong><em>Create a game where I'm an office worker trying to defeat an evil printer. The printer randomly jams, spits out paper, launches ink cartridges, and summons error messages. Give me different attacks and make the boss progressively more ridiculous.</em></li><li><strong>Don't press the button: </strong><em>Create a game centered around a giant red button labeled "DO NOT PRESS." Every time I press it, something different and increasingly absurd happens. Track how many times I've pressed it and create at least 20 different outcomes.</em></li><li><strong>Choose-your-own-adventure RPG: </strong><em>Create a visual RPG where every decision I make changes the story. Give me health, inventory, money, and reputation stats. Include at least 10 different endings and make some endings only accessible through specific combinations of choices.</em></li><li><strong>Let Pocket make something on its own: </strong><em>Build me a simple playable arcade game based on a concept you invent. Keep the controls extremely simple and make the first version playable within 30 seconds. After building it, add three mechanics that make the game more addictive without making it significantly more complicated.</em></li></ul><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/ai/perplexitys-new-local-first-ai-runs-on-your-pc-and-asks-before-using-the-cloud" target="_blank"><strong>Perplexity’s new local-first AI runs on your PC — and asks before using the cloud</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/ai/chatgpt/the-best-way-to-use-chatgpt-for-writing-isnt-writing-7-prompts-i-use-to-make-it-my-creative-partner" target="_blank"><strong>The best way to use ChatGPT for writing isn't writing — 7 prompts I use to make it my creative partner</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/ai/i-use-these-5-gemini-prompts-before-any-vacation-to-research-my-destination-and-theyve-saved-me-time-and-stress-every-time" target="_blank"><strong>I use these 5 Gemini prompts before any vacation to research my destination — and they’ve saved me time and stress every time</strong></a><strong></strong></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/ai/i-made-my-own-video-games-with-metas-new-free-ai-vibe-coding-app-and-i-didnt-expect-to-have-this-much-fun</link>
                                                                            <description>
                            <![CDATA[ Meta’s brand-new Pocket app let me finally fulfill my dream of becoming a video game developer — all I had to do was tell it what I wanted, and it handled the rest. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Cr5FbburWpNpuhLazCHjJP</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/VyH4BAGTqvKiscm9dz5GiL-1280-80.png" type="image/png" length="0"></enclosure>
                                                                        <pubDate>Thu, 27 Aug 2026 07:00:00 +0000</pubDate>                                                                                                                                <updated>Thu, 27 Aug 2026 08:32:49 +0000</updated>
                                                                                                                                            <category><![CDATA[AI]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elton Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/NVtYYXr3tEPUE67jf3HtXM-320-70.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/png" url="https://cdn.mos.cms.futurecdn.net/VyH4BAGTqvKiscm9dz5GiL-1280-80.png">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[meta ai]]></media:description>                                                            <media:text><![CDATA[meta ai]]></media:text>
                                <media:title type="plain"><![CDATA[meta ai]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/VyH4BAGTqvKiscm9dz5GiL-1280-80.png" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Before I switched to majoring in Communications, I dreamed of entering the world of video game development by picking up a college degree in Computer Science.</p><p>That initial dream of mine quickly turned into something I know I wasn’t built for once I was left utterly confused after reading up on the topics of C++ and C# for game engines and system logic. To be completely honest and blunt, I just knew I wasn’t smart enough to grasp everything that goes into creating the types of games me and my friends wanted to play.</p><p>But as I sit here and type out this article, I feel like I finally get to achieve that lofty goal of mine in the strangest way possible — through a vibe coding app that’s accessible from the comfort of my iPhone. Meta recently launched a free app called Pocket for <a href="https://apps.apple.com/us/app/pocket-make-gizmos/id6761221765" target="_blank">iOS</a> and <a href="https://play.google.com/store/apps/details?id=com.facebook.gizmo&hl=en_US" target="_blank">Android</a> devices that lets you get as creative as you’d like as a mobile game maker and prompt your concept into something that’s actually playable.</p><p>I figured it was time to show the world my creative genius as a game designer by <a href="https://www.tomsguide.com/ai/how-to-get-started-with-vibe-coding-5-simple-tips-for-beginners">vibe coding</a> (which is simply describing what you want to an AI instead of manually writing out code) my own playable experiences. And honestly, this little experiment ended up being more than I thought it would.</p><h2 id="slashing-unicorns-shooting-bubbles-and-bouncing-on-clouds-with-trampolines">Slashing unicorns, shooting bubbles and bouncing on clouds with trampolines</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="55sh9pwXgLBs7pvjxmWGjS" name="meta-pocket-games" alt="meta pocket app" src="https://cdn.mos.cms.futurecdn.net/55sh9pwXgLBs7pvjxmWGjS-1920-80.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="caption-text">My first game (left) involved shooting unicorns from the sky whilst my second (right) mimicked the great Bust-A-Move puzzle game. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>During my first go-round with Pocket, I was treated to the Pocket app’s default game, which told me to tilt my phone to move a gumball machine full of sweet, multicolored contraptions. It was a decent little interactive experience, but I yearned for something a bit more complex and satisfying to play.</p><p>For my first game, I had the inkling to get into some medieval fantasy action suitable for younger players. Once I put in my prompt, the app went to work for a few seconds as it turned my words into a playable game. Imagine my amazement when the finished product came out as something that would have kept me busy during my days as a toddler who had no siblings to annoy. </p><p>All I had to drag my pint-sized warrior across the screen warrior across the screen and tap it whenever I wanted to swing my blade to vanquish some no-good unicorns. After spending far too much time cutting down evil creatures falling out of the sky, I started my next game project.</p><p>This time, I felt like honoring a classic match-three puzzler that got far too many quarters out of me back in the day. Bust-A-Move (better known as Puzzle Bobble in Japan) is simple, cute and straight to the point — attach three bubbles of the same color to make them pop so you can clear them all out. This type of game has gotten a million and one copycats across consoles and mobile gaming storefronts. </p><p>My prompt explained that game’s concept quite clearly and, thankfully, the Pocket app knew exactly what I was trying to make. 15 seconds later and BOOM…my own match-three bubble puzzle game was born. Tapping to shoot my bubble into other ones became my dosage of fun for about 45 minutes<strong> </strong>before I had another lightbulb moment for my next game creation.</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="j3gtUd53YA8tPp3CncPaHZ" name="meta-pocket-games-2" alt="meta pocket app" src="https://cdn.mos.cms.futurecdn.net/j3gtUd53YA8tPp3CncPaHZ-1920-80.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>For my third and final vibe coding exercise, I wanted to play something that’s all about staying in the air and not falling to my doom. </p><p>With visions of Jetpack Joyride circling my brain, I entered my prompt and ended up producing a wholesome game I’d let my younger cousins play all day and night. All I had to do to keep my miniature avatar alive was tilt/drag the screen to move them from left to right and have them bounce on trampolines encased within clouds. The blue and white ones gave me a decently sized jump, while the grey and white ones disappeared after bouncing on them once and the pink and yellow ones threw me even higher into the sky. </p><p>This game ended up being my most complex since it featured some challenging elements that kept it from getting stale after a minute or two.</p><p>Once I was done making my games, I took a trip to my “Playlists” tab to see if I could find other people’s games. All I had to do was scroll down and find the “Discover” section full of curated picks to find even more interesting ideas. Plus, every time I opened the Pocket app after a few hours, a whole new game would pop up on my home screen (shout out to “josh” for introducing me to his highly entertaining “pocket space copter” game).</p><h2 id="final-thoughts">Final thoughts</h2><p>Meta’s Pocket app is such a fun way to familiarize yourself with vibe coding and turn your video game concepts into something that’s actually tangible. To keep my creative juices flowing, I went to ChatGPT to see if it could generate some game-making prompts (one of them gave me the perfect Flappy Bird copycat!), so feel free to use these for yourself and add your own details to make them all your own:</p><ul><li><strong>Flappy Bird-style: </strong><em>Create a simple one-button arcade game where I control a tiny UFO flying through a constantly changing alien city. Tap to rise and release to fall. Add increasingly difficult obstacles, a score counter, high-score tracking, and funny sound effects.</em></li><li><strong>Angry office printer: </strong><em>Create a game where I'm an office worker trying to defeat an evil printer. The printer randomly jams, spits out paper, launches ink cartridges, and summons error messages. Give me different attacks and make the boss progressively more ridiculous.</em></li><li><strong>Don't press the button: </strong><em>Create a game centered around a giant red button labeled "DO NOT PRESS." Every time I press it, something different and increasingly absurd happens. Track how many times I've pressed it and create at least 20 different outcomes.</em></li><li><strong>Choose-your-own-adventure RPG: </strong><em>Create a visual RPG where every decision I make changes the story. Give me health, inventory, money, and reputation stats. Include at least 10 different endings and make some endings only accessible through specific combinations of choices.</em></li><li><strong>Let Pocket make something on its own: </strong><em>Build me a simple playable arcade game based on a concept you invent. Keep the controls extremely simple and make the first version playable within 30 seconds. After building it, add three mechanics that make the game more addictive without making it significantly more complicated.</em></li></ul><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom’s Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/ai/perplexitys-new-local-first-ai-runs-on-your-pc-and-asks-before-using-the-cloud" target="_blank"><strong>Perplexity’s new local-first AI runs on your PC — and asks before using the cloud</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/ai/chatgpt/the-best-way-to-use-chatgpt-for-writing-isnt-writing-7-prompts-i-use-to-make-it-my-creative-partner" target="_blank"><strong>The best way to use ChatGPT for writing isn't writing — 7 prompts I use to make it my creative partner</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/ai/i-use-these-5-gemini-prompts-before-any-vacation-to-research-my-destination-and-theyve-saved-me-time-and-stress-every-time" target="_blank"><strong>I use these 5 Gemini prompts before any vacation to research my destination — and they’ve saved me time and stress every time</strong></a><strong></strong></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tested the $1,299 ROG Xbox Ally X20 — with that OLED display, the $300 price hike is surprisingly palatable ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I’ll be real. When I saw the <a href="https://www.tomsguide.com/gaming/handheld-gaming/asus-rog-xbox-ally-x20-hands-on-review">ROG Xbox Ally X20</a> at <a href="https://www.tomsguide.com/computing/best-of-computex-2026">Computex 2026</a>, and saw how Asus was dodging the questions of price like an Elden Ring player panic-rolling through a boss fight, I braced myself for the worst.</p><p>But then the news broke here at Gamescom — you can pre-order one now for $1,299 standalone, and it’s set to launch on October 15th. Now, after seeing how the supreme <a href="https://www.tomsguide.com/gaming/handheld-gaming/msi-claw-8-ex-ai-plus-review">MSI Claw 8 EX AI+</a> with Intel <a href="https://www.tomsguide.com/gaming/handheld-gaming/watch-out-amd-intels-arc-g3-and-arc-g3-extreme-handheld-chips-expected-for-computex-reveal">Arc G3 Extreme</a> came in at nearly two thousand dollars, this actually is not <em>that </em>bad.</p><p>Yes, it’s $300 more. But after getting more hands-on time with this “Edition 20” transparent facelift (which looks seriously slick to a nerd like me) and its glorious OLED panel, dare I say I’m starting to feel this could be kind of a worthwhile premium handheld.</p><h2 id="performance-and-power">Performance and Power</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="97brn7cdn8eXwea9hDfyFg" name="Asus ROG Xbox Ally X20" alt="Asus ROG Xbox Ally X20" src="https://cdn.mos.cms.futurecdn.net/97brn7cdn8eXwea9hDfyFg-1920-80.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>Well, from the start, it’s the same core performance specs: AMD Ryzen AI Z2 Extreme, 24GB of LPDDR5X RAM and a 1TB SSD, which is all fueled by an 80Wh battery inside.</p><p>Don’t get me wrong — Intel well and truly has AMD’s number in this area. We’re still waiting for an upgraded FSR to come to the Ryzen AI Z2 Extreme, while Team Blue steams ahead with XeSS 3 multi-frame generation. </p><p>But every frame counts and with that higher sustained TDP thanks to the evolved internal cooling system to combat the OLED panel’s heat sensitivity, you’re getting noticeably more bang for your buck. 1080p 60 FPS at medium settings on Forza Horizon 6 is absolutely possible for example.</p><h2 id="oled-perfection-no-more-glare">OLED perfection (no more glare)</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="xoraw9SvC7nRZuwSe8HC8g" name="Asus ROG Xbox Ally X20" alt="Asus ROG Xbox Ally X20" src="https://cdn.mos.cms.futurecdn.net/xoraw9SvC7nRZuwSe8HC8g-1920-80.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>A gaming handheld is just as much about its screen as it is about everything else, and that 7.4-inch ROG Nebula HDR OLED 120Hz VRR panel is quite the canvas for your games. With a dazzling 1,400-nit peak brightness, picture quality survived even under the harsh spotlights of the demo room I was in.</p><p>All the games I played are a pure flash flood of color — whizzing on by with an excellent contrast ratio to really provide some inky blacks and really bring a title to life in a way that your standard IPS panels can’t match.</p><h2 id="curing-the-drift">Curing the drift</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="pntfZHjSHjMY4hA4oNgdFg" name="Asus ROG Xbox Ally X20" alt="Asus ROG Xbox Ally X20" src="https://cdn.mos.cms.futurecdn.net/pntfZHjSHjMY4hA4oNgdFg-1920-80.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>Then there’s the ergonomic uplifts too. My thoughts are already clear on the record that the ROG Xbox Ally is the most comfortable handheld I’ve ever used with the contoured controller arms making it a joy to play on.</p><p>But with the X20, Asus has upgraded a few things across the board — including magnetic TMR joysticks that track magnets instead of physical contacts (effectively eliminating joystick wear and tear). On top of that, the bumpers have been reshaped for better grip, the ABXY buttons are subtly more domed than before and there are rubberized grips on the controller arms.</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="5XncoUjacnqBposKbUCdDg" name="Asus ROG Xbox Ally X20" alt="Asus ROG Xbox Ally X20" src="https://cdn.mos.cms.futurecdn.net/5XncoUjacnqBposKbUCdDg-1920-80.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>Then, there’s the transforming D-Pad. Rotate it 90 degrees and you can swap from an 8-way input for fighting games to a simpler 4-way cross for retro or indie titles. It’s one of those small things that I took for granted at first, but once I used it and eliminated any unread inputs in a platformer, it was a small but significant tweak that I ultimately appreciated!</p><h2 id="let-s-talk-about-the-2-499-anniversary-bundle">Let’s talk about the $2,499 Anniversary Bundle</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="EGkGgZmtQwVv8hRBGEuXDg" name="Asus ROG Xbox Ally X20" alt="Asus ROG Xbox Ally X20" src="https://cdn.mos.cms.futurecdn.net/EGkGgZmtQwVv8hRBGEuXDg-1920-80.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>Now, let’s talk about the Pelican-cased elephant in the room. There is a monster $2,499 bundle here. Alongside that case, you get the ROG Xreal R1 Edition 20 AR glasses and a dBrand Killswitch case complete with a motherboard-patterned skin.</p><p>That’s a crazy price in and of itself, but I want to go deeper on the <a href="https://www.tomsguide.com/computing/smart-glasses/asus-rog-xreal-r1-review">Xreal R1s</a> here because while I was initially not too happy with the desktop PC connectivity in my review, the software tweaks in here with Asus DisplayWidget Center really unlock some interesting use cases.</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="wbkjspQ7KbrLN6m8Q2tcDg" name="Asus ROG Xbox Ally X20" alt="Asus ROG Xbox Ally X20" src="https://cdn.mos.cms.futurecdn.net/wbkjspQ7KbrLN6m8Q2tcDg-1920-80.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>For starters, there’s the 360-degree wallpapers — essentially giving you that floating screen in a VR-esque space rather than seeing the world around your glasses. But most intriguingly is FreeLook.</p><p>Basically think of this as a replacement for your right joystick. Instead of using that to look around, the tie-up between Asus and Xreal means you can use the 3DoF tracking on the glasses to just look around a game with your head. That’s going to be huge for games where spatial awareness is key like flight sims.</p><h2 id="value-for-money">Value for money?</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="z4w56PTbt7A8jq7bkyVE6g" name="Asus ROG Xbox Ally X20" alt="Asus ROG Xbox Ally X20" src="https://cdn.mos.cms.futurecdn.net/z4w56PTbt7A8jq7bkyVE6g-1920-80.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>Now, now. I wouldn’t go that far. It’s still a $1,300 device and for those who want to get into PC gaming on the go, the lower end <a href="https://www.tomsguide.com/gaming/handheld-gaming/rog-xbox-ally-review">ROG Xbox Ally</a> is actually becoming the value for money option (with everything else shooting up in price around it).</p><p>But while the X20 has a steep entry fee, that combination of the 1,400-nit OLED, Z2 Extreme and drift-proof sticks makes that price increase a little easier to swallow. </p><p>Maybe I was a little too hard on this thing before.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/toms-guide-computing-awards-2026-21-game-changing-laptops-desktops-and-peripherals"><strong>Tom’s Guide Computing Awards 2026: 21 game-changing laptops, desktops and peripherals</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/monitors/i-just-went-eyes-on-with-the-worlds-fastest-oled-gaming-monitor-and-motion-blur-is-officially-dead"><strong>I just went eyes-on with the world’s fastest OLED gaming monitor — and motion blur is officially dead</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/gpus/i-tested-nvidias-new-dlss-4-5-ray-reconstruction-it-finally-fixes-path-tracings-biggest-flaw-but-heres-the-reality-check"><strong>I tested NVIDIA’s new DLSS 4.5 Ray Reconstruction — it finally fixes path tracing’s biggest flaw, but here’s the reality check</strong></a><strong></strong></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/gaming/handheld-gaming/i-tested-the-usd1-299-rog-xbox-ally-x20-with-that-oled-display-the-usd300-price-hike-is-surprisingly-palatable</link>
                                                                            <description>
                            <![CDATA[ The ROG Xbox Ally X20 now has an official price and while slightly high, this is a limited edition handheld with a gorgeous OLED display. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">oRDHK9FFUJStMbgyDv5RW5</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/97brn7cdn8eXwea9hDfyFg-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 26 Aug 2026 11:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Handheld Gaming]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&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/97brn7cdn8eXwea9hDfyFg-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Asus ROG Xbox Ally X20]]></media:description>                                                            <media:text><![CDATA[Asus ROG Xbox Ally X20]]></media:text>
                                <media:title type="plain"><![CDATA[Asus ROG Xbox Ally X20]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/97brn7cdn8eXwea9hDfyFg-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I’ll be real. When I saw the <a href="https://www.tomsguide.com/gaming/handheld-gaming/asus-rog-xbox-ally-x20-hands-on-review">ROG Xbox Ally X20</a> at <a href="https://www.tomsguide.com/computing/best-of-computex-2026">Computex 2026</a>, and saw how Asus was dodging the questions of price like an Elden Ring player panic-rolling through a boss fight, I braced myself for the worst.</p><p>But then the news broke here at Gamescom — you can pre-order one now for $1,299 standalone, and it’s set to launch on October 15th. Now, after seeing how the supreme <a href="https://www.tomsguide.com/gaming/handheld-gaming/msi-claw-8-ex-ai-plus-review">MSI Claw 8 EX AI+</a> with Intel <a href="https://www.tomsguide.com/gaming/handheld-gaming/watch-out-amd-intels-arc-g3-and-arc-g3-extreme-handheld-chips-expected-for-computex-reveal">Arc G3 Extreme</a> came in at nearly two thousand dollars, this actually is not <em>that </em>bad.</p><p>Yes, it’s $300 more. But after getting more hands-on time with this “Edition 20” transparent facelift (which looks seriously slick to a nerd like me) and its glorious OLED panel, dare I say I’m starting to feel this could be kind of a worthwhile premium handheld.</p><h2 id="performance-and-power">Performance and Power</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="97brn7cdn8eXwea9hDfyFg" name="Asus ROG Xbox Ally X20" alt="Asus ROG Xbox Ally X20" src="https://cdn.mos.cms.futurecdn.net/97brn7cdn8eXwea9hDfyFg-1920-80.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>Well, from the start, it’s the same core performance specs: AMD Ryzen AI Z2 Extreme, 24GB of LPDDR5X RAM and a 1TB SSD, which is all fueled by an 80Wh battery inside.</p><p>Don’t get me wrong — Intel well and truly has AMD’s number in this area. We’re still waiting for an upgraded FSR to come to the Ryzen AI Z2 Extreme, while Team Blue steams ahead with XeSS 3 multi-frame generation. </p><p>But every frame counts and with that higher sustained TDP thanks to the evolved internal cooling system to combat the OLED panel’s heat sensitivity, you’re getting noticeably more bang for your buck. 1080p 60 FPS at medium settings on Forza Horizon 6 is absolutely possible for example.</p><h2 id="oled-perfection-no-more-glare">OLED perfection (no more glare)</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="xoraw9SvC7nRZuwSe8HC8g" name="Asus ROG Xbox Ally X20" alt="Asus ROG Xbox Ally X20" src="https://cdn.mos.cms.futurecdn.net/xoraw9SvC7nRZuwSe8HC8g-1920-80.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>A gaming handheld is just as much about its screen as it is about everything else, and that 7.4-inch ROG Nebula HDR OLED 120Hz VRR panel is quite the canvas for your games. With a dazzling 1,400-nit peak brightness, picture quality survived even under the harsh spotlights of the demo room I was in.</p><p>All the games I played are a pure flash flood of color — whizzing on by with an excellent contrast ratio to really provide some inky blacks and really bring a title to life in a way that your standard IPS panels can’t match.</p><h2 id="curing-the-drift">Curing the drift</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="pntfZHjSHjMY4hA4oNgdFg" name="Asus ROG Xbox Ally X20" alt="Asus ROG Xbox Ally X20" src="https://cdn.mos.cms.futurecdn.net/pntfZHjSHjMY4hA4oNgdFg-1920-80.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>Then there’s the ergonomic uplifts too. My thoughts are already clear on the record that the ROG Xbox Ally is the most comfortable handheld I’ve ever used with the contoured controller arms making it a joy to play on.</p><p>But with the X20, Asus has upgraded a few things across the board — including magnetic TMR joysticks that track magnets instead of physical contacts (effectively eliminating joystick wear and tear). On top of that, the bumpers have been reshaped for better grip, the ABXY buttons are subtly more domed than before and there are rubberized grips on the controller arms.</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="5XncoUjacnqBposKbUCdDg" name="Asus ROG Xbox Ally X20" alt="Asus ROG Xbox Ally X20" src="https://cdn.mos.cms.futurecdn.net/5XncoUjacnqBposKbUCdDg-1920-80.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>Then, there’s the transforming D-Pad. Rotate it 90 degrees and you can swap from an 8-way input for fighting games to a simpler 4-way cross for retro or indie titles. It’s one of those small things that I took for granted at first, but once I used it and eliminated any unread inputs in a platformer, it was a small but significant tweak that I ultimately appreciated!</p><h2 id="let-s-talk-about-the-2-499-anniversary-bundle">Let’s talk about the $2,499 Anniversary Bundle</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="EGkGgZmtQwVv8hRBGEuXDg" name="Asus ROG Xbox Ally X20" alt="Asus ROG Xbox Ally X20" src="https://cdn.mos.cms.futurecdn.net/EGkGgZmtQwVv8hRBGEuXDg-1920-80.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>Now, let’s talk about the Pelican-cased elephant in the room. There is a monster $2,499 bundle here. Alongside that case, you get the ROG Xreal R1 Edition 20 AR glasses and a dBrand Killswitch case complete with a motherboard-patterned skin.</p><p>That’s a crazy price in and of itself, but I want to go deeper on the <a href="https://www.tomsguide.com/computing/smart-glasses/asus-rog-xreal-r1-review">Xreal R1s</a> here because while I was initially not too happy with the desktop PC connectivity in my review, the software tweaks in here with Asus DisplayWidget Center really unlock some interesting use cases.</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="wbkjspQ7KbrLN6m8Q2tcDg" name="Asus ROG Xbox Ally X20" alt="Asus ROG Xbox Ally X20" src="https://cdn.mos.cms.futurecdn.net/wbkjspQ7KbrLN6m8Q2tcDg-1920-80.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>For starters, there’s the 360-degree wallpapers — essentially giving you that floating screen in a VR-esque space rather than seeing the world around your glasses. But most intriguingly is FreeLook.</p><p>Basically think of this as a replacement for your right joystick. Instead of using that to look around, the tie-up between Asus and Xreal means you can use the 3DoF tracking on the glasses to just look around a game with your head. That’s going to be huge for games where spatial awareness is key like flight sims.</p><h2 id="value-for-money">Value for money?</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="z4w56PTbt7A8jq7bkyVE6g" name="Asus ROG Xbox Ally X20" alt="Asus ROG Xbox Ally X20" src="https://cdn.mos.cms.futurecdn.net/z4w56PTbt7A8jq7bkyVE6g-1920-80.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>Now, now. I wouldn’t go that far. It’s still a $1,300 device and for those who want to get into PC gaming on the go, the lower end <a href="https://www.tomsguide.com/gaming/handheld-gaming/rog-xbox-ally-review">ROG Xbox Ally</a> is actually becoming the value for money option (with everything else shooting up in price around it).</p><p>But while the X20 has a steep entry fee, that combination of the 1,400-nit OLED, Z2 Extreme and drift-proof sticks makes that price increase a little easier to swallow. </p><p>Maybe I was a little too hard on this thing before.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/toms-guide-computing-awards-2026-21-game-changing-laptops-desktops-and-peripherals"><strong>Tom’s Guide Computing Awards 2026: 21 game-changing laptops, desktops and peripherals</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/monitors/i-just-went-eyes-on-with-the-worlds-fastest-oled-gaming-monitor-and-motion-blur-is-officially-dead"><strong>I just went eyes-on with the world’s fastest OLED gaming monitor — and motion blur is officially dead</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/gpus/i-tested-nvidias-new-dlss-4-5-ray-reconstruction-it-finally-fixes-path-tracings-biggest-flaw-but-heres-the-reality-check"><strong>I tested NVIDIA’s new DLSS 4.5 Ray Reconstruction — it finally fixes path tracing’s biggest flaw, but here’s the reality check</strong></a><strong></strong></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tested NVIDIA’s new DLSS 4.5 Ray Reconstruction — it finally fixes path tracing’s biggest flaw, but here’s the reality check ]]></title>
                                                                                                <dc:content><![CDATA[ <p>When you enable full path tracing in a modern game, the lighting looks stunning — but the illusion is often broken by visual artifacts like smudged reflections, ghosting details, light trails that fade weirdly and dark corners that “boil” with digital noise.</p><p>Nvidia is attempting to eradicate those issues for good with <a href="https://www.tomsguide.com/gaming/pc-gaming/deciphering-dlss-4-5-i-tested-nvidias-new-upscaler-and-figured-out-when-to-use-model-l-or-m">DLSS 4.5</a> Ray Reconstruction, and I’ve spent a few days with this tech to see if the company’s new gaming AI model can finally clean up path tracing’s messy edges.</p><p>The truth of it is the same as I’ve felt about ray tracing and path tracing at large. If you stop to pixel-peep, the visual upgrade is undeniable. But if you’re expecting a massive paradigm shift in the middle of a frantic firefight, you need to temper your expectations.</p><p>Sorry for the reality check, and credit to Team Green for managing to make trash bags shinier and more reflective in <a href="https://www.tomsguide.com/reviews/alan-wake-2">Alan Wake 2</a>, but this is definitely an iterative upgrade.</p><h2 class="article-body__section" id="section-how-to-activate-dlss-4-5-ray-reconstruction"><span>How to activate DLSS 4.5 Ray Reconstruction</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:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="uQBrGoqrBjz9sAtFLGs4em" name="DLSS 4.5 Ray Reconstruction" alt="DLSS 4.5 Ray Reconstruction" src="https://cdn.mos.cms.futurecdn.net/uQBrGoqrBjz9sAtFLGs4em-1920-80.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>Just like a lot of Nvidia’s gaming features, you’ve got to go into the overrides. Pop into the specific game that supports DLSS 4.5 Ray Reconstruction, open the DLSS overrides window, click the dropdown on Ray Reconstruction and select “Model F.”</p><p>At that point, you’re off to the races. The only game I noticed any weird glitching on with the override turned on is Portal RTX, which I’m sure will be ironed over with an update. But everything else worked without a hitch.</p><h2 class="article-body__section" id="section-what-is-ray-reconstruction"><span>What is Ray Reconstruction?</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:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="dFnwiQjJc9JcKDpfqpKH7W" name="DLSS 4.5 Ray Reconstruction" alt="DLSS 4.5 Ray Reconstruction" src="https://cdn.mos.cms.futurecdn.net/dFnwiQjJc9JcKDpfqpKH7W-1920-80.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: Nvidia)</span></figcaption></figure><p>Well, the demands of path tracing are starting to outstrip the raw hardware capabilities of consumer GPUs. Calculating the real physical light paths for millions of pixels every second is just too much to do.</p><p>Instead of painting every single pixel, the game flings a handful of dots of paint across the canvas — just enough to capture rough reflections, colors and shadows. The end result is a noisy, static-filled mess of dots. Something is needed to join the dots.</p><p>The old fix was a technique graphics cards used called “denoisers.” I can go into the specifics about these hand-tuned technologies, but think of it like taking a wet sponge and smudging those paint dots together. It does the job in filling the gaps, but fine details get blurred out and subtle lighting can flicker and “boil.”</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/dSMYgGi0ZvY" allowfullscreen></iframe></div></div><p>So instead, Nvidia’s DLSS Ray Reconstruction hands that unfinished canvas to an AI network trained on supercomputers with millions of flawless images. Think of it like an expert art restorer with a photographic memory — looking at the scattered dots of light, recognizing the 3D geometry of the scene, and predicting how the light naturally behaves.</p><p>The end result (as you’ll see) is crispier puddle reflections, detailed textures without blurring or ghosting and shinier, less smudged light bounces. It takes this taxing work off the GPU, so it can focus on rendering the game, while AI pattern recognition does the heavy lifting of calculating the true light data.</p><h2 class="article-body__section" id="section-the-faster-smarter-engine-in-dlss-4-5"><span>The faster, smarter engine in DLSS 4.5</span></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/NvSYk0PjLrU" allowfullscreen></iframe></div></div><p>To understand what DLSS 4.5 Ray Reconstruction is actually doing, you have to look at the math. Nvidia has replaced its own on-board denoiser with a new 2nd generation transformer model. This AI brain processes 20% more parameters and delivers a massive 35% boost in compute capability.</p><p>That means this hypothetical art restorer is now able to more deeply analyze the space, and intelligently use game engine pixel sampling and motion data to improve the accuracy and stability of lighting — doing so millions of times a second.</p><p>And the best part? Nvidia claims this massive increase in AI compute comes with a negligible performance impact.</p><p>Testing that claim, my RTX 5080 setup saw no frame rate penalty whatsoever, and for lower-end hardware in Nvidia’s 50-series family (like the <a href="https://www.tomsguide.com/computing/gpus/nvidia-geforce-rtx-5060-ti-review">RTX 5060 Ti</a> (16GB) and the RTX 5070 Ti-armed <a href="https://www.tomsguide.com/computing/gaming-laptops/asus-rog-zephyrus-g14-2025-review">Asus ROG Zephyrus G14</a> that I’m testing), the frame drops are negligible (average drop of 2 FPS).</p><p>Of course, that <em>should </em>extend to the RTX 40 and 50 series GPUs. But if you are running an older RTX 20 or 30 series card with the older architecture, limitations mean you may see a more noticeable performance penalty.</p><h2 class="article-body__section" id="section-the-pixel-peeping-test"><span>The pixel-peeping test</span></h2><p>So since this is one for those that just want to scrutinize the specifics of a frame, let’s dip into this with a few games on my RTX 5080 monster rig — putting DLSS 4 and DLSS 4.5’s Ray Reconstruction head-to-head. And I’m not going to lie, when you stop to take a beat and look around, the differences in still frames are striking.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/eMKStybz6tYpi2QPS84k2n-1920-80.jpg" alt="Cyberpunk 2077 DLSS 4 Ray Reconstruction" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LY3yoVoqVUXeTxpEoFKYUn-1920-80.jpg" alt="Cyberpunk 2077 DLSS 4.5 Ray Reconstruction" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>In </strong><a href="https://www.tomsguide.com/reviews/cyberpunk-2077"><strong>Cyberpunk 2077</strong></a>, the bright red glow from the “Livepunch Booze” neon sign washes over the floor in a softer, blurrier spread with DLSS 4. Enabling 4.5 shows off the tighter light bounce and higher-contrast, which casts sharper, concentrated red and cyan reflections on those polished floor panels.</p><p>Throw in much sharper, more cohesive specular highlights and a deeper contrast in darker areas without that fuzzy noise that plagued the older denoiser, and the tweaks are small, but significant.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/kt7oe2mExk2eFgWifhfUDF-1920-80.gif" alt="Pragmata DLSS 4 Ray Reconstruction" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6M3W7Nq3M2MVL9eJShSxKE-1920-80.gif" alt="DLSS 4.5 Ray Reconstruction" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Moving over to </strong><a href="https://www.tomsguide.com/computing/gpus/i-stress-tested-pragmatas-path-tracing-it-looks-like-a-dream-and-nvidias-dlss-4-makes-it-play-like-one-provided-you-use-it-right"><strong>Pragmata</strong></a>, the moving neon makes DLSS 4.5 Ray Reconstruction much more noticeable. There’s a moving laser jumping puzzle that makes it so much more obvious — seeing the lasers just fizzle away on the older model vs immediately snapping away.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/fh7NKooL5WoY8FLVPwcCw5-1920-80.jpg" alt="Alan Wake 2 DLSS 4 Ray Reconstruction" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/TSncFRkhF8M4JjvMVp7d36-1920-80.jpg" alt="Alan Wake 2 DLSS 4.5 Ray Reconstruction" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Finally, in Alan Wake 2</strong>, Nvidia showed me a demo of shinier trash bags. But if anything, they’re doing the tech a bit of a disservice. This has always been a showcase game for Team Green, and something as simple as walking around a safe room shows off small detail improvements that come together to make quite a difference.</p><p>Saga’s hair, coat and surrounding surfaces are much better defined with smoother, natural lighting bouncing off them. The grain of the wood paneling goes from slightly blurred to no blur whatsoever, lighting sources bounce more tightly off surfaces, and mirror reflections are <em>a lot </em>sharper.</p><h2 class="article-body__section" id="section-my-verdict"><span>My verdict</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:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="RMiY9oysgWeGfsW6siGLq7" name="DLSS 4.5 Ray Reconstruction" alt="DLSS 4.5 Ray Reconstruction" src="https://cdn.mos.cms.futurecdn.net/RMiY9oysgWeGfsW6siGLq7-1920-80.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>Full credit to Nvidia here — improving image fidelity by running an AI model with 20% more parameters without tanking frame rates on modern hardware is a genuine engineering triumph. </p><p>Of course, I say that specifically about the RTX 50-series gear I tested this on. Nvidia told me that it’s not expected to meaningfully impact performance on older GPUs. I can’t test that, but we’ll find out soon enough as some of my friends in the industry dish their thoughts.</p><p>But DLSS 4.5 Ray Reconstruction is an iterative polish. It cleans up the edge cases and makes your photo mode captures look absolutely spectacular. But during actual, fast-paced gameplay, the difference between DLSS 4 and DLSS 4.5 effectively blends into the background.</p><p>That being said, for the average gamer in motion, you’ll be hard pressed to notice the differences in the midst of gameplay. For the players, this is just a nice, quiet cleanup job. A small upgrade that will become more significant as we head into a world of path traced games.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/gpus/5-beginner-pc-building-tips-from-the-mad-genius-who-built-a-usd34k-353-pound-desktop-with-not-one-but-two-rtx-5090s"><strong>5 beginner PC building tips from the mad genius who built a $34k, 353-pound desktop with not one, but two RTX 5090s</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/gpus/best-graphics-cards"><strong>Best graphics cards in 2026: I've tested every GPU to find the best bang for your buck</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/monitors/exclusive-i-asked-lenovos-gm-to-predict-the-future-of-monitors-and-its-the-end-of-our-chaotic-cable-cluttered-desks-and-monitors-that-fry-your-retinas"><strong>Exclusive: I asked Lenovo’s GM to predict the future of monitors, and it's the end of our chaotic, cable-cluttered desks and monitors that fry your retinas</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/gpus/i-tested-nvidias-new-dlss-4-5-ray-reconstruction-it-finally-fixes-path-tracings-biggest-flaw-but-heres-the-reality-check</link>
                                                                            <description>
                            <![CDATA[ I tested Nvidia’s new DLSS 4.5 Ray Reconstruction on a lot of RTX 50-series systems. Here is how the new AI transformer model cleans up path tracing noise and ghosting. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">bkJxUX7iTP4EMidLduodNj</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/RMiY9oysgWeGfsW6siGLq7-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 25 Aug 2026 15:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[GPUs]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Computing Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&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/RMiY9oysgWeGfsW6siGLq7-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[DLSS 4.5 Ray Reconstruction]]></media:description>                                                            <media:text><![CDATA[DLSS 4.5 Ray Reconstruction]]></media:text>
                                <media:title type="plain"><![CDATA[DLSS 4.5 Ray Reconstruction]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/RMiY9oysgWeGfsW6siGLq7-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>When you enable full path tracing in a modern game, the lighting looks stunning — but the illusion is often broken by visual artifacts like smudged reflections, ghosting details, light trails that fade weirdly and dark corners that “boil” with digital noise.</p><p>Nvidia is attempting to eradicate those issues for good with <a href="https://www.tomsguide.com/gaming/pc-gaming/deciphering-dlss-4-5-i-tested-nvidias-new-upscaler-and-figured-out-when-to-use-model-l-or-m">DLSS 4.5</a> Ray Reconstruction, and I’ve spent a few days with this tech to see if the company’s new gaming AI model can finally clean up path tracing’s messy edges.</p><p>The truth of it is the same as I’ve felt about ray tracing and path tracing at large. If you stop to pixel-peep, the visual upgrade is undeniable. But if you’re expecting a massive paradigm shift in the middle of a frantic firefight, you need to temper your expectations.</p><p>Sorry for the reality check, and credit to Team Green for managing to make trash bags shinier and more reflective in <a href="https://www.tomsguide.com/reviews/alan-wake-2">Alan Wake 2</a>, but this is definitely an iterative upgrade.</p><h2 class="article-body__section" id="section-how-to-activate-dlss-4-5-ray-reconstruction"><span>How to activate DLSS 4.5 Ray Reconstruction</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:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="uQBrGoqrBjz9sAtFLGs4em" name="DLSS 4.5 Ray Reconstruction" alt="DLSS 4.5 Ray Reconstruction" src="https://cdn.mos.cms.futurecdn.net/uQBrGoqrBjz9sAtFLGs4em-1920-80.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>Just like a lot of Nvidia’s gaming features, you’ve got to go into the overrides. Pop into the specific game that supports DLSS 4.5 Ray Reconstruction, open the DLSS overrides window, click the dropdown on Ray Reconstruction and select “Model F.”</p><p>At that point, you’re off to the races. The only game I noticed any weird glitching on with the override turned on is Portal RTX, which I’m sure will be ironed over with an update. But everything else worked without a hitch.</p><h2 class="article-body__section" id="section-what-is-ray-reconstruction"><span>What is Ray Reconstruction?</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:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="dFnwiQjJc9JcKDpfqpKH7W" name="DLSS 4.5 Ray Reconstruction" alt="DLSS 4.5 Ray Reconstruction" src="https://cdn.mos.cms.futurecdn.net/dFnwiQjJc9JcKDpfqpKH7W-1920-80.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: Nvidia)</span></figcaption></figure><p>Well, the demands of path tracing are starting to outstrip the raw hardware capabilities of consumer GPUs. Calculating the real physical light paths for millions of pixels every second is just too much to do.</p><p>Instead of painting every single pixel, the game flings a handful of dots of paint across the canvas — just enough to capture rough reflections, colors and shadows. The end result is a noisy, static-filled mess of dots. Something is needed to join the dots.</p><p>The old fix was a technique graphics cards used called “denoisers.” I can go into the specifics about these hand-tuned technologies, but think of it like taking a wet sponge and smudging those paint dots together. It does the job in filling the gaps, but fine details get blurred out and subtle lighting can flicker and “boil.”</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/dSMYgGi0ZvY" allowfullscreen></iframe></div></div><p>So instead, Nvidia’s DLSS Ray Reconstruction hands that unfinished canvas to an AI network trained on supercomputers with millions of flawless images. Think of it like an expert art restorer with a photographic memory — looking at the scattered dots of light, recognizing the 3D geometry of the scene, and predicting how the light naturally behaves.</p><p>The end result (as you’ll see) is crispier puddle reflections, detailed textures without blurring or ghosting and shinier, less smudged light bounces. It takes this taxing work off the GPU, so it can focus on rendering the game, while AI pattern recognition does the heavy lifting of calculating the true light data.</p><h2 class="article-body__section" id="section-the-faster-smarter-engine-in-dlss-4-5"><span>The faster, smarter engine in DLSS 4.5</span></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/NvSYk0PjLrU" allowfullscreen></iframe></div></div><p>To understand what DLSS 4.5 Ray Reconstruction is actually doing, you have to look at the math. Nvidia has replaced its own on-board denoiser with a new 2nd generation transformer model. This AI brain processes 20% more parameters and delivers a massive 35% boost in compute capability.</p><p>That means this hypothetical art restorer is now able to more deeply analyze the space, and intelligently use game engine pixel sampling and motion data to improve the accuracy and stability of lighting — doing so millions of times a second.</p><p>And the best part? Nvidia claims this massive increase in AI compute comes with a negligible performance impact.</p><p>Testing that claim, my RTX 5080 setup saw no frame rate penalty whatsoever, and for lower-end hardware in Nvidia’s 50-series family (like the <a href="https://www.tomsguide.com/computing/gpus/nvidia-geforce-rtx-5060-ti-review">RTX 5060 Ti</a> (16GB) and the RTX 5070 Ti-armed <a href="https://www.tomsguide.com/computing/gaming-laptops/asus-rog-zephyrus-g14-2025-review">Asus ROG Zephyrus G14</a> that I’m testing), the frame drops are negligible (average drop of 2 FPS).</p><p>Of course, that <em>should </em>extend to the RTX 40 and 50 series GPUs. But if you are running an older RTX 20 or 30 series card with the older architecture, limitations mean you may see a more noticeable performance penalty.</p><h2 class="article-body__section" id="section-the-pixel-peeping-test"><span>The pixel-peeping test</span></h2><p>So since this is one for those that just want to scrutinize the specifics of a frame, let’s dip into this with a few games on my RTX 5080 monster rig — putting DLSS 4 and DLSS 4.5’s Ray Reconstruction head-to-head. And I’m not going to lie, when you stop to take a beat and look around, the differences in still frames are striking.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/eMKStybz6tYpi2QPS84k2n-1920-80.jpg" alt="Cyberpunk 2077 DLSS 4 Ray Reconstruction" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/LY3yoVoqVUXeTxpEoFKYUn-1920-80.jpg" alt="Cyberpunk 2077 DLSS 4.5 Ray Reconstruction" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>In </strong><a href="https://www.tomsguide.com/reviews/cyberpunk-2077"><strong>Cyberpunk 2077</strong></a>, the bright red glow from the “Livepunch Booze” neon sign washes over the floor in a softer, blurrier spread with DLSS 4. Enabling 4.5 shows off the tighter light bounce and higher-contrast, which casts sharper, concentrated red and cyan reflections on those polished floor panels.</p><p>Throw in much sharper, more cohesive specular highlights and a deeper contrast in darker areas without that fuzzy noise that plagued the older denoiser, and the tweaks are small, but significant.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/kt7oe2mExk2eFgWifhfUDF-1920-80.gif" alt="Pragmata DLSS 4 Ray Reconstruction" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/6M3W7Nq3M2MVL9eJShSxKE-1920-80.gif" alt="DLSS 4.5 Ray Reconstruction" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Moving over to </strong><a href="https://www.tomsguide.com/computing/gpus/i-stress-tested-pragmatas-path-tracing-it-looks-like-a-dream-and-nvidias-dlss-4-makes-it-play-like-one-provided-you-use-it-right"><strong>Pragmata</strong></a>, the moving neon makes DLSS 4.5 Ray Reconstruction much more noticeable. There’s a moving laser jumping puzzle that makes it so much more obvious — seeing the lasers just fizzle away on the older model vs immediately snapping away.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/fh7NKooL5WoY8FLVPwcCw5-1920-80.jpg" alt="Alan Wake 2 DLSS 4 Ray Reconstruction" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/TSncFRkhF8M4JjvMVp7d36-1920-80.jpg" alt="Alan Wake 2 DLSS 4.5 Ray Reconstruction" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p><strong>Finally, in Alan Wake 2</strong>, Nvidia showed me a demo of shinier trash bags. But if anything, they’re doing the tech a bit of a disservice. This has always been a showcase game for Team Green, and something as simple as walking around a safe room shows off small detail improvements that come together to make quite a difference.</p><p>Saga’s hair, coat and surrounding surfaces are much better defined with smoother, natural lighting bouncing off them. The grain of the wood paneling goes from slightly blurred to no blur whatsoever, lighting sources bounce more tightly off surfaces, and mirror reflections are <em>a lot </em>sharper.</p><h2 class="article-body__section" id="section-my-verdict"><span>My verdict</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:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="RMiY9oysgWeGfsW6siGLq7" name="DLSS 4.5 Ray Reconstruction" alt="DLSS 4.5 Ray Reconstruction" src="https://cdn.mos.cms.futurecdn.net/RMiY9oysgWeGfsW6siGLq7-1920-80.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>Full credit to Nvidia here — improving image fidelity by running an AI model with 20% more parameters without tanking frame rates on modern hardware is a genuine engineering triumph. </p><p>Of course, I say that specifically about the RTX 50-series gear I tested this on. Nvidia told me that it’s not expected to meaningfully impact performance on older GPUs. I can’t test that, but we’ll find out soon enough as some of my friends in the industry dish their thoughts.</p><p>But DLSS 4.5 Ray Reconstruction is an iterative polish. It cleans up the edge cases and makes your photo mode captures look absolutely spectacular. But during actual, fast-paced gameplay, the difference between DLSS 4 and DLSS 4.5 effectively blends into the background.</p><p>That being said, for the average gamer in motion, you’ll be hard pressed to notice the differences in the midst of gameplay. For the players, this is just a nice, quiet cleanup job. A small upgrade that will become more significant as we head into a world of path traced games.</p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/computing/gpus/5-beginner-pc-building-tips-from-the-mad-genius-who-built-a-usd34k-353-pound-desktop-with-not-one-but-two-rtx-5090s"><strong>5 beginner PC building tips from the mad genius who built a $34k, 353-pound desktop with not one, but two RTX 5090s</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/gpus/best-graphics-cards"><strong>Best graphics cards in 2026: I've tested every GPU to find the best bang for your buck</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/computing/monitors/exclusive-i-asked-lenovos-gm-to-predict-the-future-of-monitors-and-its-the-end-of-our-chaotic-cable-cluttered-desks-and-monitors-that-fry-your-retinas"><strong>Exclusive: I asked Lenovo’s GM to predict the future of monitors, and it's the end of our chaotic, cable-cluttered desks and monitors that fry your retinas</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I just went eyes-on with the world’s fastest OLED gaming monitor — and motion blur is officially dead ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I’ve tested a few esports-tier gaming monitors over the past couple of years — all touting refresh rates comfortably in the hundreds of hertz and offering smoothness unlike anything I’ve seen before.</p><p>But all of them have been based on TN IPS panels that may be super fast, but don’t necessarily have the motion clarity to match. Enter the $1,099 Asus ROG Swift OLED PG259QWS ACE (baffling name, I know), the world’s fastest OLED esports monitor with a 720Hz refresh rate.</p><p>As it turns out, that shift to OLED is utterly groundbreaking for motion clarity, and it actually helped me play better at Counter-Strike… Crazy, I know, but let me explain.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="g1WBV8" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 id="supercharged-clarity">Supercharged clarity</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="9GjPpuMD8zxvbmboavUDj" name="Asus ROG Swift OLED PG259QWS Ace monitor" alt="Asus ROG Swift OLED PG259QWS Ace monitor" src="https://cdn.mos.cms.futurecdn.net/9GjPpuMD8zxvbmboavUDj-1920-80.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>I know the main allure of OLED has always been the color and contrast ratio — that’s always been my thought process anyway. But by moving away from the flickering of IPS display technology and drastically upping OLED's pixel response time, it is almost like watching a picture move rather than a screen.</p><p>The PG259QWS features a staggeringly low 0.02ms response time, which preserves motion clarity as I’d never seen before. Even my fastest flick-shots didn’t make the game smear.</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="GSc64Q9QiCeXypFHf3b9g" name="Asus ROG Swift OLED PG259QWS Ace monitor" alt="Asus ROG Swift OLED PG259QWS Ace monitor" src="https://cdn.mos.cms.futurecdn.net/GSc64Q9QiCeXypFHf3b9g-1920-80.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>That is all thanks to this TrueBlack Glossy Tandem 1080p WOLED panel that solves the compromise between raw speed and visual fidelity. It delivers a flash flood of color with a 99.5% DCI-P3 color gamut and deep, inky blacks, plus a peak 1,700-nit brightness, while staying sharply detailed in every challenging situation.</p><p>Popping shots off at distance got a whole lot easier with the AWP without using the scope, thanks to this panel!</p><h2 id="the-cheat-code-position-sensor">The cheat code — Position Sensor</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="MHgiHpmoMBfssWZMu6CXa" name="Asus ROG Swift OLED PG259QWS Ace monitor" alt="Asus ROG Swift OLED PG259QWS Ace monitor" src="https://cdn.mos.cms.futurecdn.net/MHgiHpmoMBfssWZMu6CXa-1920-80.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>Now, when it comes to playing competitively wherever you are, one of the biggest friction points isn’t just frame drops or picture smearing — it’s the ergonomics. When a player sits down at a tournament desk, whipping out a tape measure to recreate the exact millimeter-perfect monitor angle of a home setup is rather stressful.</p><p>But this is where Asus’ clever work comes in: the Position Sensor. Basically, using real-time monitoring, you can get a readout of the exact height, angle, and your distance to the screen. It’s one of those small features that’s incredibly critical to getting the best performance in-game.</p><h2 id="a-gamer-s-verdict">A gamer’s verdict</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="wywRMV6ZGmdD4mEvbNpLX" name="Asus ROG Swift OLED PG259QWS Ace monitor" alt="Asus ROG Swift OLED PG259QWS Ace monitor" src="https://cdn.mos.cms.futurecdn.net/wywRMV6ZGmdD4mEvbNpLX-1920-80.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>For the casual player, 720Hz is absolute overkill. But for the top 1% of competitive players chasing motion perfection, Asus has just set a new gold standard. </p><p>For the rest of you, there are cheaper OLED options, including the ROG Strix OLED XG259QWPG for $699, which reduces the refresh rate and cuts the cost. But to this player’s eyes, I have to applaud Asus here — this is unlike anything I’ve ever seen 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/computing/toms-guide-computing-awards-2026-21-game-changing-laptops-desktops-and-peripherals">Tom’s Guide Computing Awards 2026: 21 game-changing laptops, desktops and peripherals</a></li><li><a href="https://www.tomsguide.com/news/live/gamescom-opening-night-live-2026-latest-updates">Gamescom Opening Night Live 2026: Start time, how to watch and all the games we're expecting to see</a></li><li><a href="https://www.tomsguide.com/computing/gpus/5-beginner-pc-building-tips-from-the-mad-genius-who-built-a-usd34k-353-pound-desktop-with-not-one-but-two-rtx-5090s">5 beginner PC building tips from the mad genius who built a $34k, 353-pound desktop with not one, but two RTX 5090s</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/monitors/i-just-went-eyes-on-with-the-worlds-fastest-oled-gaming-monitor-and-motion-blur-is-officially-dead</link>
                                                                            <description>
                            <![CDATA[ We just checked out the new Asus ROG Swift OLED PG259QWS ACE, and it's groundbreaking for motion clarity in video games. Here's what we think of this monitor. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">9LLkVM4uQWFZoG2spBG94Y</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/TunvLPZL8nLGTDLyqqxQp-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 25 Aug 2026 15:13:52 +0000</pubDate>                                                                                                                                <updated>Fri, 28 Aug 2026 15:02:09 +0000</updated>
                                                                                                                                            <category><![CDATA[Monitors]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Computing Hardware]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&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/TunvLPZL8nLGTDLyqqxQp-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Asus ROG Swift OLED PG259QWS Ace monitor]]></media:description>                                                            <media:text><![CDATA[Asus ROG Swift OLED PG259QWS Ace monitor]]></media:text>
                                <media:title type="plain"><![CDATA[Asus ROG Swift OLED PG259QWS Ace monitor]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/TunvLPZL8nLGTDLyqqxQp-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I’ve tested a few esports-tier gaming monitors over the past couple of years — all touting refresh rates comfortably in the hundreds of hertz and offering smoothness unlike anything I’ve seen before.</p><p>But all of them have been based on TN IPS panels that may be super fast, but don’t necessarily have the motion clarity to match. Enter the $1,099 Asus ROG Swift OLED PG259QWS ACE (baffling name, I know), the world’s fastest OLED esports monitor with a 720Hz refresh rate.</p><p>As it turns out, that shift to OLED is utterly groundbreaking for motion clarity, and it actually helped me play better at Counter-Strike… Crazy, I know, but let me explain.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="g1WBV8" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 id="supercharged-clarity">Supercharged clarity</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="9GjPpuMD8zxvbmboavUDj" name="Asus ROG Swift OLED PG259QWS Ace monitor" alt="Asus ROG Swift OLED PG259QWS Ace monitor" src="https://cdn.mos.cms.futurecdn.net/9GjPpuMD8zxvbmboavUDj-1920-80.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>I know the main allure of OLED has always been the color and contrast ratio — that’s always been my thought process anyway. But by moving away from the flickering of IPS display technology and drastically upping OLED's pixel response time, it is almost like watching a picture move rather than a screen.</p><p>The PG259QWS features a staggeringly low 0.02ms response time, which preserves motion clarity as I’d never seen before. Even my fastest flick-shots didn’t make the game smear.</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="GSc64Q9QiCeXypFHf3b9g" name="Asus ROG Swift OLED PG259QWS Ace monitor" alt="Asus ROG Swift OLED PG259QWS Ace monitor" src="https://cdn.mos.cms.futurecdn.net/GSc64Q9QiCeXypFHf3b9g-1920-80.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>That is all thanks to this TrueBlack Glossy Tandem 1080p WOLED panel that solves the compromise between raw speed and visual fidelity. It delivers a flash flood of color with a 99.5% DCI-P3 color gamut and deep, inky blacks, plus a peak 1,700-nit brightness, while staying sharply detailed in every challenging situation.</p><p>Popping shots off at distance got a whole lot easier with the AWP without using the scope, thanks to this panel!</p><h2 id="the-cheat-code-position-sensor">The cheat code — Position Sensor</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="MHgiHpmoMBfssWZMu6CXa" name="Asus ROG Swift OLED PG259QWS Ace monitor" alt="Asus ROG Swift OLED PG259QWS Ace monitor" src="https://cdn.mos.cms.futurecdn.net/MHgiHpmoMBfssWZMu6CXa-1920-80.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>Now, when it comes to playing competitively wherever you are, one of the biggest friction points isn’t just frame drops or picture smearing — it’s the ergonomics. When a player sits down at a tournament desk, whipping out a tape measure to recreate the exact millimeter-perfect monitor angle of a home setup is rather stressful.</p><p>But this is where Asus’ clever work comes in: the Position Sensor. Basically, using real-time monitoring, you can get a readout of the exact height, angle, and your distance to the screen. It’s one of those small features that’s incredibly critical to getting the best performance in-game.</p><h2 id="a-gamer-s-verdict">A gamer’s verdict</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="wywRMV6ZGmdD4mEvbNpLX" name="Asus ROG Swift OLED PG259QWS Ace monitor" alt="Asus ROG Swift OLED PG259QWS Ace monitor" src="https://cdn.mos.cms.futurecdn.net/wywRMV6ZGmdD4mEvbNpLX-1920-80.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>For the casual player, 720Hz is absolute overkill. But for the top 1% of competitive players chasing motion perfection, Asus has just set a new gold standard. </p><p>For the rest of you, there are cheaper OLED options, including the ROG Strix OLED XG259QWPG for $699, which reduces the refresh rate and cuts the cost. But to this player’s eyes, I have to applaud Asus here — this is unlike anything I’ve ever seen 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/computing/toms-guide-computing-awards-2026-21-game-changing-laptops-desktops-and-peripherals">Tom’s Guide Computing Awards 2026: 21 game-changing laptops, desktops and peripherals</a></li><li><a href="https://www.tomsguide.com/news/live/gamescom-opening-night-live-2026-latest-updates">Gamescom Opening Night Live 2026: Start time, how to watch and all the games we're expecting to see</a></li><li><a href="https://www.tomsguide.com/computing/gpus/5-beginner-pc-building-tips-from-the-mad-genius-who-built-a-usd34k-353-pound-desktop-with-not-one-but-two-rtx-5090s">5 beginner PC building tips from the mad genius who built a $34k, 353-pound desktop with not one, but two RTX 5090s</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I found an easier way to transfer my chats between ChatGPT, Claude and Gemini — and it only takes a single Chrome extension ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I’ve been exploring the AI tool market and have a better understanding of the biggest strengths and weaknesses of the big three.</p><p>ChatGPT’s response time is amazingly fast, and it's great for creative brainstorming, but it's more prone to hallucinations. <a href="https://www.tomsguide.com/ai/im-a-published-author-and-i-tested-claude-3-7-sonnet-vs-grok-3-at-creative-writing-heres-my-verdict">Claude is great for lengthy document analysis, and its writing reads more human-like</a>, but its usage limits are pretty tight for free users and cap out pretty quickly. As for Google’s signature chatbot, Gemini’s reliance on real-time web research that cites the most up-to-date information and its Google Workspace integration are top-notch. But it’s also prone to hallucinations and isn’t all that great at handling complex prompts.</p><p>With all those pros and cons in mind, I’ve been engaging in the practice of starting my<a href="https://www.tomsguide.com/ai/i-reclaimed-15-hours-this-week-with-ai-agents-here-is-the-exact-setup-i-used-to-automate-my-workflow"> research-themed chats</a> in ChatGPT, <a href="https://www.tomsguide.com/ai/i-quit-chatgpt-heres-how-i-moved-everything-to-claude-and-gemini-without-losing-my-data-or-my-mind">moving them over to Claude</a> and then doing a final transfer of them over to Gemini. I’ve done a whole lot of copying and pasting text to make that happen, just so I can get a second and third opinion on what Claude and Gemini’s interpretation of my initial questions and each preceding chatbot’s responses.</p><p>Thankfully, my editor made me aware of a Chrome extension that makes my whole “chat transfer” practice a whole lot simpler. And it’s given me a better way to retain context between chats and stronger follow-up responses to my research queries.</p><h2 id="shifting-my-conversations-with-just-a-few-clicks">Shifting my conversations with just a few clicks</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:1460px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="GnWMTwmPweuzbcPHg7azhC" name="ChatGPT vs Gemini vs Claude_by_imagy" alt="ChatGPT vs Gemini vs Claude" src="https://cdn.mos.cms.futurecdn.net/GnWMTwmPweuzbcPHg7azhC-1920-80.png" mos="" align="middle" fullscreen="" width="1460" height="821" 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>The Chrome extension that’s now a central part of my chatbot research sessions is <a href="https://chromewebstore.google.com/detail/threadport-%E2%80%94-move-chats-b/kclkpikpgnldnpnmojkcnoclcihmhhmd" target="_blank">ThreadPort</a>, which goes beyond just summarizing a conversation from another AI tool in a separate one. </p><p>After attaching it to my Chrome browser, I made it more easily accessible by clicking on the extension icon at the top right of my screen next to my Google profile pic and clicking on the pin icon to make the ThreadPort extension visible as a purple icon that’s visible in the same area.</p><p>ThreadPort actually moves the full transcript of a conversation, makes sure the subsequent AI that gets access to that information reads everything that was previously said and picks up exactly where I left off when trying to move the conversation forward. You can move your chats from ChatGPT, Claude and Gemini, plus you can do that in reverse order at the start of a new chat if need be.</p><p>It truly doesn’t matter how long your initial conversation may end up being—ThreadPort is capable of handling the transcript transcription action with ease, as it does a good job of retaining a chat’s defined task. On the digital safety front, the developer of this Chrome extension eased my fears by stating that my transferred chats will never be contained with their servers (they’re nonexistent, after all).</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="mQnnjVrPQ4A59Wtm4tQspZ" name="ChatGPT-Transfer" alt="chatgpt" src="https://cdn.mos.cms.futurecdn.net/mQnnjVrPQ4A59Wtm4tQspZ-1920-80.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>During one of my recent research sessions, I ended up using ThreadPort to get a wider range of opinions on the subject at hand. I started with ChatGPT by asking about the biggest development in the video game industry that will have a major impact on the next generation of home consoles. </p><p>The chatbot gave me its take on the eight major developments I need to pay attention to and the bigger-picture statement surrounding the next generation of gaming (<em>The really interesting story isn't “PS6 vs. next Xbox.” It's whether Sony and Microsoft can convince people that buying a dedicated console still makes sense in a world where gaming is increasingly available on PCs, handhelds, phones, and the cloud</em>).</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="sGhTKyYnsMYT4PwkacQw4h" name="Claude-Transfer" alt="claude ai" src="https://cdn.mos.cms.futurecdn.net/sGhTKyYnsMYT4PwkacQw4h-1920-80.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>With all that in mind, I clicked on the ThreadPort icon to take all of the information ChatGPT laid out, move it over to Claude and continue my conversation over there by asking for its thoughts on the current most positive gaming trends it foresees becoming the norm for the future of the industry itself. </p><p>To make its intention clear, ThreadPort pasted the transcript from ChatGPT into Claude by stating the following: <em>You are continuing a conversation that started on ChatGPT. Below is the transcript so far. Absorb it as context and continue the conversation naturally — do not summarize it back to me, just pick up where it left off. If the transcript ends with a question from me, answer it.</em></p><p>Claude read through the entire transcript it was given and acknowledged it with this statement: <em>Good context to draw from. Now let me continue the conversation naturally, focusing on the genuinely positive side rather than just repeating the same industry-shift framing.</em></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="5dJNQHXccitNwHjvedLoq6" name="Gemini-Transfer" alt="gemini ai" src="https://cdn.mos.cms.futurecdn.net/5dJNQHXccitNwHjvedLoq6-1920-80.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>Once I was finished reading through Claude’s optimistic take on the conversation I started with ChatGPT, I decided to transfer both chatbots’ combined bits of dialogue from Claude to Gemini. Google’s chatbot took the hint as to what I was talking about beforehand and used it to answer my follow-up-question about the negative trends in the gaming industry that it predicts will happen during the next console cycle. </p><p>Gemini initially responded to me in the same manner that Claude did, as it pointed out what was already said in my previous conversation: <em>The structural cracks in the business model point to a console cycle that could be harsher on developers and consumers alike. While the previous points highlight shifts in technology and ecosystems, these are the negative, high-impact developments heading into the next hardware generation.</em></p><h2 id="the-takeaway">The takeaway</h2><p>Putting ThreadPort through its paces with my gaming industry-focused research session became a lot more comprehensive with all that chatbot switching and info-retaining transcripts that helped ChatGPT, Claude and Gemini pick up where the other one left off. </p><p>Utilizing ChatGPT’s fast response time, getting the most out of Claude’s ability to analyze longer text threads and tapping into Gemini’s use of Google’s real-time information across the internet came together to paint a clear picture of what I was looking for. I’ll be sure to use ThreadPort for my future chatbot research sessions to get as much complete data and predictive takeaways on the topic at hand.</p><p>Here’s hoping Perplexity and Kimi become a part of ThreadPort’s chat-switching chatbot family at some point.</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/i-tested-popular-ai-humanizers-and-they-made-my-writing-much-worse" target="_blank">I tested popular AI humanizers — and they made my writing much worse</a></li><li><a href="https://www.tomsguide.com/ai/i-asked-chatgpt-to-find-everything-the-internet-knows-about-me-and-it-found-more-than-i-expected" target="_blank">I asked ChatGPT to find everything the internet knows about me — and it found more than I expected</a></li><li><a href="https://www.tomsguide.com/ai/apple-intelligence/physical-ai-and-robotics-will-take-every-physical-task-in-the-next-2-5-years-neura-robotics-ceo-says-writing-is-in-the-wall-for-human-labor" target="_blank">‘Physical AI and robotics will take every physical task in the next 2-5 years’: Neura Robotics CEO says writing on the wall for human labor</a></li></ul><div data-widget-type="comparison" data-model-name="Apple MacBook Neo"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/ai/i-found-an-easier-way-to-transfer-my-chats-between-chatgpt-claude-and-gemini-and-it-only-takes-a-single-chrome-extension</link>
                                                                            <description>
                            <![CDATA[ With this single Chrome extension, I’ve found a simpler way to move my chats between three AI tools while getting different insights along the way. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">YdSwDJZ4wsnZFBJurWyPKS</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/2q89xtoZqnrcb8udp353oJ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 24 Aug 2026 05:30:00 +0000</pubDate>                                                                                                                                <updated>Mon, 24 Aug 2026 08:13:35 +0000</updated>
                                                                                                                                            <category><![CDATA[AI]]></category>
                                                                                                                    <dc:creator><![CDATA[ Elton Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/NVtYYXr3tEPUE67jf3HtXM-320-70.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/2q89xtoZqnrcb8udp353oJ-1280-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[ai tools]]></media:description>                                                            <media:text><![CDATA[ai tools]]></media:text>
                                <media:title type="plain"><![CDATA[ai tools]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/2q89xtoZqnrcb8udp353oJ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I’ve been exploring the AI tool market and have a better understanding of the biggest strengths and weaknesses of the big three.</p><p>ChatGPT’s response time is amazingly fast, and it's great for creative brainstorming, but it's more prone to hallucinations. <a href="https://www.tomsguide.com/ai/im-a-published-author-and-i-tested-claude-3-7-sonnet-vs-grok-3-at-creative-writing-heres-my-verdict">Claude is great for lengthy document analysis, and its writing reads more human-like</a>, but its usage limits are pretty tight for free users and cap out pretty quickly. As for Google’s signature chatbot, Gemini’s reliance on real-time web research that cites the most up-to-date information and its Google Workspace integration are top-notch. But it’s also prone to hallucinations and isn’t all that great at handling complex prompts.</p><p>With all those pros and cons in mind, I’ve been engaging in the practice of starting my<a href="https://www.tomsguide.com/ai/i-reclaimed-15-hours-this-week-with-ai-agents-here-is-the-exact-setup-i-used-to-automate-my-workflow"> research-themed chats</a> in ChatGPT, <a href="https://www.tomsguide.com/ai/i-quit-chatgpt-heres-how-i-moved-everything-to-claude-and-gemini-without-losing-my-data-or-my-mind">moving them over to Claude</a> and then doing a final transfer of them over to Gemini. I’ve done a whole lot of copying and pasting text to make that happen, just so I can get a second and third opinion on what Claude and Gemini’s interpretation of my initial questions and each preceding chatbot’s responses.</p><p>Thankfully, my editor made me aware of a Chrome extension that makes my whole “chat transfer” practice a whole lot simpler. And it’s given me a better way to retain context between chats and stronger follow-up responses to my research queries.</p><h2 id="shifting-my-conversations-with-just-a-few-clicks">Shifting my conversations with just a few clicks</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:1460px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="GnWMTwmPweuzbcPHg7azhC" name="ChatGPT vs Gemini vs Claude_by_imagy" alt="ChatGPT vs Gemini vs Claude" src="https://cdn.mos.cms.futurecdn.net/GnWMTwmPweuzbcPHg7azhC-1920-80.png" mos="" align="middle" fullscreen="" width="1460" height="821" 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>The Chrome extension that’s now a central part of my chatbot research sessions is <a href="https://chromewebstore.google.com/detail/threadport-%E2%80%94-move-chats-b/kclkpikpgnldnpnmojkcnoclcihmhhmd" target="_blank">ThreadPort</a>, which goes beyond just summarizing a conversation from another AI tool in a separate one. </p><p>After attaching it to my Chrome browser, I made it more easily accessible by clicking on the extension icon at the top right of my screen next to my Google profile pic and clicking on the pin icon to make the ThreadPort extension visible as a purple icon that’s visible in the same area.</p><p>ThreadPort actually moves the full transcript of a conversation, makes sure the subsequent AI that gets access to that information reads everything that was previously said and picks up exactly where I left off when trying to move the conversation forward. You can move your chats from ChatGPT, Claude and Gemini, plus you can do that in reverse order at the start of a new chat if need be.</p><p>It truly doesn’t matter how long your initial conversation may end up being—ThreadPort is capable of handling the transcript transcription action with ease, as it does a good job of retaining a chat’s defined task. On the digital safety front, the developer of this Chrome extension eased my fears by stating that my transferred chats will never be contained with their servers (they’re nonexistent, after all).</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="mQnnjVrPQ4A59Wtm4tQspZ" name="ChatGPT-Transfer" alt="chatgpt" src="https://cdn.mos.cms.futurecdn.net/mQnnjVrPQ4A59Wtm4tQspZ-1920-80.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>During one of my recent research sessions, I ended up using ThreadPort to get a wider range of opinions on the subject at hand. I started with ChatGPT by asking about the biggest development in the video game industry that will have a major impact on the next generation of home consoles. </p><p>The chatbot gave me its take on the eight major developments I need to pay attention to and the bigger-picture statement surrounding the next generation of gaming (<em>The really interesting story isn't “PS6 vs. next Xbox.” It's whether Sony and Microsoft can convince people that buying a dedicated console still makes sense in a world where gaming is increasingly available on PCs, handhelds, phones, and the cloud</em>).</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="sGhTKyYnsMYT4PwkacQw4h" name="Claude-Transfer" alt="claude ai" src="https://cdn.mos.cms.futurecdn.net/sGhTKyYnsMYT4PwkacQw4h-1920-80.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>With all that in mind, I clicked on the ThreadPort icon to take all of the information ChatGPT laid out, move it over to Claude and continue my conversation over there by asking for its thoughts on the current most positive gaming trends it foresees becoming the norm for the future of the industry itself. </p><p>To make its intention clear, ThreadPort pasted the transcript from ChatGPT into Claude by stating the following: <em>You are continuing a conversation that started on ChatGPT. Below is the transcript so far. Absorb it as context and continue the conversation naturally — do not summarize it back to me, just pick up where it left off. If the transcript ends with a question from me, answer it.</em></p><p>Claude read through the entire transcript it was given and acknowledged it with this statement: <em>Good context to draw from. Now let me continue the conversation naturally, focusing on the genuinely positive side rather than just repeating the same industry-shift framing.</em></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="5dJNQHXccitNwHjvedLoq6" name="Gemini-Transfer" alt="gemini ai" src="https://cdn.mos.cms.futurecdn.net/5dJNQHXccitNwHjvedLoq6-1920-80.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>Once I was finished reading through Claude’s optimistic take on the conversation I started with ChatGPT, I decided to transfer both chatbots’ combined bits of dialogue from Claude to Gemini. Google’s chatbot took the hint as to what I was talking about beforehand and used it to answer my follow-up-question about the negative trends in the gaming industry that it predicts will happen during the next console cycle. </p><p>Gemini initially responded to me in the same manner that Claude did, as it pointed out what was already said in my previous conversation: <em>The structural cracks in the business model point to a console cycle that could be harsher on developers and consumers alike. While the previous points highlight shifts in technology and ecosystems, these are the negative, high-impact developments heading into the next hardware generation.</em></p><h2 id="the-takeaway">The takeaway</h2><p>Putting ThreadPort through its paces with my gaming industry-focused research session became a lot more comprehensive with all that chatbot switching and info-retaining transcripts that helped ChatGPT, Claude and Gemini pick up where the other one left off. </p><p>Utilizing ChatGPT’s fast response time, getting the most out of Claude’s ability to analyze longer text threads and tapping into Gemini’s use of Google’s real-time information across the internet came together to paint a clear picture of what I was looking for. I’ll be sure to use ThreadPort for my future chatbot research sessions to get as much complete data and predictive takeaways on the topic at hand.</p><p>Here’s hoping Perplexity and Kimi become a part of ThreadPort’s chat-switching chatbot family at some point.</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/i-tested-popular-ai-humanizers-and-they-made-my-writing-much-worse" target="_blank">I tested popular AI humanizers — and they made my writing much worse</a></li><li><a href="https://www.tomsguide.com/ai/i-asked-chatgpt-to-find-everything-the-internet-knows-about-me-and-it-found-more-than-i-expected" target="_blank">I asked ChatGPT to find everything the internet knows about me — and it found more than I expected</a></li><li><a href="https://www.tomsguide.com/ai/apple-intelligence/physical-ai-and-robotics-will-take-every-physical-task-in-the-next-2-5-years-neura-robotics-ceo-says-writing-is-in-the-wall-for-human-labor" target="_blank">‘Physical AI and robotics will take every physical task in the next 2-5 years’: Neura Robotics CEO says writing on the wall for human labor</a></li></ul><div data-widget-type="comparison" data-model-name="Apple MacBook Neo"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tested Hatch's new sleep tracking sunrise alarm clock — and it helps you get deeper sleep and wake up refreshed ]]></title>
                                                                                                <dc:content><![CDATA[ <p>It's time to clear a space on your nightstand — the new Hatch Sleep Clock is here and I'm already won over. Combining contactless sleep tracking with a circadian-friendly sunrise alarm clock, the Hatch Sleep Clock, <a href="https://www.hatch.co/hatch-sleep-clock" target="_blank">now $249.99 at Hatch</a>, promises to be the smartest thing next to your bed.</p><p>Adding a <a href="https://www.tomsguide.com/wellness/sleep-tech/best-sleep-tracker">sleep tracker</a> to a Hatch sunrise alarm clock is, in my opinion, an excellent idea. It takes the sleep-friendly tech of the <a href="https://www.tomsguide.com/wellness/sleep/best-sunrise-alarm-clocks">best sunrise alarm clocks</a> and adds the data to see the benefits at play. All without needing a watch, ring, or headband. I was eager to get my hands on it.</p><p>But can the reality of the Hatch Sleep Clock live up to the promise? I've been taking it for a spin — placing it delicately on my nightstand, in other words — to see we should throw away the wearables.</p><div class="product"><a data-dimension112="55742b10-9bdf-11f1-8300-334f7f449ff2" data-action="Deal Block" data-label="Sleep Clock" data-dimension48="Sleep Clock" data-dimension25="$249.99" href="https://www.hatch.co/hatch-sleep-clock" 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="es3P5SePS3tfmDbr3KSGHo" name="Hatch Sleep Clock deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/es3P5SePS3tfmDbr3KSGHo-1920-80.jpg" mos="" align="middle" fullscreen="" width="900" height="900" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Hatch Sleep Clock is a 2-in-1: sleep tracker and sunrise alarm clock. It comes with a 30-day free Hatch+ subscription (reg. $4.99 per month), which gains you access to the full selection of sleep sounds and lights.<a class="view-deal button" href="https://www.hatch.co/hatch-sleep-clock" target="_blank" rel="nofollow" data-dimension112="55742b10-9bdf-11f1-8300-334f7f449ff2" data-action="Deal Block" data-label="Sleep Clock" data-dimension48="Sleep Clock" data-dimension25="$249.99">View Deal</a></p></div><h2 id="what-is-the-hatch-sleep-clock">What is the Hatch Sleep Clock?</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:2500px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="7EQp8BYcFHVha8pvkBYim6" name="Hatch Sleep Clock" alt="A woman with brown hair sleeps next to a cocoa coloured Hatch Sleep Clock placed on a wooden nightstand" src="https://cdn.mos.cms.futurecdn.net/7EQp8BYcFHVha8pvkBYim6-1920-80.jpg" mos="" align="middle" fullscreen="" width="2500" height="1406" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Hatch)</span></figcaption></figure><p>The Hatch Sleep Clock is a sunrise alarm clock and sleep tracker, rolled up in one neat package. (It's also a <a href="https://www.tomsguide.com/reference/how-does-white-noise-help-you-sleep">white noise machine</a>, making it a true triple threat.)</p><p>As a white noise machine and sunrise alarm clock, the Hatch Sleep Clock will gradually ease you into sleep and gently waking you up in the morning. </p><p>As a sleep tracker, the Sleep Clock observes your rest throughout the night. It then delivers insight into your sleep cycle and routine.</p><p>And it does all this from a position on your nightstand. No wearable required.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-Wlkw2e"></div>                            </div>                            <script src="https://kwizly.com/embed/Wlkw2e.js" async></script><h2 id="how-does-the-hatch-sleep-clock-work">How does the Hatch Sleep Clock work?</h2><p>As a sunrise alarm clock, the Hatch Sleep Clock isn't exactly breaking new ground. At least, nothing that hasn't already been covered by the <a href="https://www.tomsguide.com/wellness/sleep-tech/hatch-restore-3-sunrise-alarm-clock-review">Hatch Restore 3</a>. It slowly floods the room with light to naturally trigger your <a href="https://www.tomsguide.com/wellness/sleep/circadian-rhythm">circadian response</a> and wake you up. I'll dive into all that later.</p><p>The sleep tracking is the real story of the Hatch Sleep Clock. Contactless trackers are driving the <a href="https://www.tomsguide.com/wellness/sleep-tech/meet-the-new-school-of-sleep-tech">next generation of sleep tech</a>, offering a way to observe your sleep without the intrusion of a <a href="https://www.tomsguide.com/us/best-fitness-trackers,review-2066.html">health wearable</a>. </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="86cUikNo34HJLYpBruX2DW" name="Hatch Sleep Clock turn on" alt="The Hatch Sleep Clock in Cocoa on a nightstand in our reviewer's bedroom. A hand can be seen pressing the button on top of the Hatch Sleep Clock" src="https://cdn.mos.cms.futurecdn.net/86cUikNo34HJLYpBruX2DW-1920-80.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>While wearables typically use a combination of metrics to measure sleep, the Hatch Sleep Clock relies on "ultra-low-power radio signals" to observe movement. From this, it determines which sleep stage you're in. </p><p>At the end of the the night it collates this data into an attractive chart — honestly, it's a work of minimalist art — but no <a href="https://www.tomsguide.com/wellness/sleep/i-hit-a-sleep-score-of-100-last-weekend-heres-everything-i-did-to-sleep-better">sleep score</a>.</p><p>The more you use the Hatch Sleep Clock, the more it learns your sleep. Including how the Hatch fits into your routine. So if you sleep better on nights with gentle rainstorms or drift off faster when enjoying a podcast, it can let you know. Then it's up to you to adjust your routine.</p><h2 id="a-contactless-device-that-tracks-your-sleep-well-most-of-it">A contactless device that tracks your sleep... Well, most of it</h2><p>Through 'low power sensors', the Sleep Clock tracks your rest from your nightstand with what Hatch claims is 97% accuracy (based on a <a href="https://www.sciencedirect.com/science/article/abs/pii/S1389945720301027" target="_blank">third-party study</a>.)</p><p>Movement tracking is the kind of thing you find in <a href="https://www.tomsguide.com/wellness/sleep-tech/i-tried-3-free-sleep-trackers-for-iphones-and-compared-them-to-my-gold-standard-sleep-tracker-one-seriously-impressed-me">free sleep tracking apps</a>. The Sleep Clock costs $249. Needless to say, I was wary.</p><p>But even compared to my <a href="https://www.tomsguide.com/wellness/smart-rings/oura-ring-5-hands-on-review-ive-worn-the-worlds-smallest-smart-ring-for-a-week-and-it-changes-fitness-tracking-forever">Oura Ring 5</a>, the <a href="https://www.tomsguide.com/computing/mobile-apps/best-sleep-tracking-apps-2024-top-5-apps-to-download-now">best sleep tracker</a> we've tested, the Sleep Clock is pulling in good results. It's great at identifying when I've gotten in and out of bed, and it has the general outline of my sleep nailed. If you want an overview of your night, the Hatch will provide 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:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="eJtxMDUuzFrVWuWjwxhhFi" name="hatch sleep clock vs oura day one" alt="On the left, a screenshot of the Hatch Sleep Clock app showing the data from a night's sleep. On the right, a screenshot of the Oura Ring 5 app showing sleep data from the same night." src="https://cdn.mos.cms.futurecdn.net/eJtxMDUuzFrVWuWjwxhhFi-1920-80.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="caption-text">On the left, the Hatch Sleep Clock. On the right, Oura Ring 5. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Hatch / Oura)</span></figcaption></figure><p>There's one notable problem, however. While the Oura Ring detected just 56 minutes of <a href="https://www.tomsguide.com/wellness/sleep/how-much-deep-sleep-do-you-need">deep sleep</a>, the Hatch thought I managed over 2 hours. Based on my energy levels today, I'm inclined to trust the Oura.</p><p>It's still early days (early nights?) for the Hatch Sleep Clock, so I'll keep an eye on how my data compares. For now, I'll say it's good at the picture but struggles with the finer details.</p><h2 id="bookend-your-day-with-a-stress-busting-sunrise-alarm-clock">Bookend your day with a stress-busting sunrise alarm clock</h2><p>Of course, the Sleep Clock still offers Hatch's signature <a href="https://www.tomsguide.com/wellness/sleep-tech/how-to-use-a-sunrise-alarm-clock-to-fall-asleep-faster-and-wake-up-full-of-energy">sunrise alarm clock</a>. You set a wake up time and in the 30 minutes beforehand the Hatch gradually floods the room with light. </p><p>This sunrise mimicking effect is intended to kickstart your circadian cycle. (<a href="https://pubmed.ncbi.nlm.nih.gov/10487717/" target="_blank">Light triggers</a> the <a href="https://www.tomsguide.com/wellness/sleep/stress-was-waking-me-up-at-3-a-m-until-two-of-the-worlds-best-sleep-doctors-shared-5-fast-fixes-to-lower-my-cortisol-at-night">cortisol awakening response</a>.) By the time your (gentle) alarm goes off, you should be primed to wake up.</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="EmYrUkKcurBfiRfWbqpszn" name="Hatch Sleep Clock in morning" alt="The Hatch Sleep Clock glowing gently in a semi-dark room" src="https://cdn.mos.cms.futurecdn.net/EmYrUkKcurBfiRfWbqpszn-1920-80.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 summer, so my sunrise alarm clock is facing some stiff competition from the actual sun. But the Sleep Clock did as it promised, brightening in the half hour before my alarm was set to go off. I know, because I was already awake in my sunlit room.</p><p>Right now, it's the pre-bed programs that have caught my eye. The Hatch Restore 3 also offers a turn down service, featuring curated lights and sound.</p><p>I've only experienced a <a href="https://www.tomsguide.com/wellness/sleep/perfect-your-own-turndown-service-at-home-for-better-sleep">hotel turn down service</a> once in my life and the Hatch can't quite compare — no chocolate on the pillow, for a start — but it's still pretty luxurious. My room was bathed in relaxing light while soothing sound emanated from my Hatch. For a brief moment, my bedroom was a spa.</p><h2 id="final-thoughts-so-far">Final thoughts so far</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="NwpDUhpLG9ofjuifozg2cB" name="Hatch Sleep Clock before bed" alt="The Hatch Sleep Clock glowing gently yellow next to a bed in a dark room" src="https://cdn.mos.cms.futurecdn.net/NwpDUhpLG9ofjuifozg2cB-1920-80.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>The Hatch Sleep Clock still delivers as a sunrise alarm clock and the turn down service made even my messy bedroom feel luxurious. But so far, none of this justifies paying the extra $80 to upgrade from the Restore 3.</p><p>So is the sleep tracking worth the extra? Based on my early testing, I'll say yes... with a but. For sleep tracking aficionados who want precise, in-depth data, you're better off sticking with your wearable. </p><p>If you want an overview of your sleep from a non-invasive tracker, the Sleep Clock is a smart pick. And while the upgrade from Restore 3 to Sleep Clock might seem like a price jump, $80 is on the cheap side for a decent sleep tracker.</p><div data-model-name="Homelabs Sunrise Alarm Clock,Hatch Restore - Sound Machine,Smart Light, Personal Sleep Routine, Bedside Reading Light, Wind Down Content and Sunrise Alarm Clock for Gentle Wake Up,Fitbit Air,JALL Wake Up Light Sunrise Alarm Clock,Apple Watch 11,Hatch Restore 2 sunrise alarm clock,Withings Sleep Analyzer,Oura Ring 5,Dreamegg sunrise alarm clock,Whoop 5.0" data-rows="5" data-widget-type="multimodelreview" data-widget-title="Today's best prices on popular sleep tech"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/sleep-tech/hatch-sleep-clock-hands-on</link>
                                                                            <description>
                            <![CDATA[ The Hatch Sleep Clock sunrise alarm clock is the most exciting sleep tech I've seen in months — I've been hands-on with this sunrise alarm clock and sleep tracker. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">d6sSnBGgt8vj6RPCPBgxNA</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Ast8Q6NnJrSEWsKqmH6VNJ-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 22 Aug 2026 10:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Sleep Tech]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                    <category><![CDATA[Sleep]]></category>
                                                                                                <author><![CDATA[ ruth.jones@futurenet.com (Ruth Jones) ]]></author>                    <dc:creator><![CDATA[ Ruth Jones ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/Cqbswyyro7aBYnvMKaoS6W-320-70.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/Ast8Q6NnJrSEWsKqmH6VNJ-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The new Hatch Sleep Clock on a white wooden nightstand in our reviewer&#039;s bedroom]]></media:description>                                                            <media:text><![CDATA[The new Hatch Sleep Clock on a white wooden nightstand in our reviewer&#039;s bedroom]]></media:text>
                                <media:title type="plain"><![CDATA[The new Hatch Sleep Clock on a white wooden nightstand in our reviewer&#039;s bedroom]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Ast8Q6NnJrSEWsKqmH6VNJ-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It's time to clear a space on your nightstand — the new Hatch Sleep Clock is here and I'm already won over. Combining contactless sleep tracking with a circadian-friendly sunrise alarm clock, the Hatch Sleep Clock, <a href="https://www.hatch.co/hatch-sleep-clock" target="_blank">now $249.99 at Hatch</a>, promises to be the smartest thing next to your bed.</p><p>Adding a <a href="https://www.tomsguide.com/wellness/sleep-tech/best-sleep-tracker">sleep tracker</a> to a Hatch sunrise alarm clock is, in my opinion, an excellent idea. It takes the sleep-friendly tech of the <a href="https://www.tomsguide.com/wellness/sleep/best-sunrise-alarm-clocks">best sunrise alarm clocks</a> and adds the data to see the benefits at play. All without needing a watch, ring, or headband. I was eager to get my hands on it.</p><p>But can the reality of the Hatch Sleep Clock live up to the promise? I've been taking it for a spin — placing it delicately on my nightstand, in other words — to see we should throw away the wearables.</p><div class="product"><a data-dimension112="55742b10-9bdf-11f1-8300-334f7f449ff2" data-action="Deal Block" data-label="Sleep Clock" data-dimension48="Sleep Clock" data-dimension25="$249.99" href="https://www.hatch.co/hatch-sleep-clock" 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="es3P5SePS3tfmDbr3KSGHo" name="Hatch Sleep Clock deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/es3P5SePS3tfmDbr3KSGHo-1920-80.jpg" mos="" align="middle" fullscreen="" width="900" height="900" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Hatch Sleep Clock is a 2-in-1: sleep tracker and sunrise alarm clock. It comes with a 30-day free Hatch+ subscription (reg. $4.99 per month), which gains you access to the full selection of sleep sounds and lights.<a class="view-deal button" href="https://www.hatch.co/hatch-sleep-clock" target="_blank" rel="nofollow" data-dimension112="55742b10-9bdf-11f1-8300-334f7f449ff2" data-action="Deal Block" data-label="Sleep Clock" data-dimension48="Sleep Clock" data-dimension25="$249.99">View Deal</a></p></div><h2 id="what-is-the-hatch-sleep-clock">What is the Hatch Sleep Clock?</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:2500px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="7EQp8BYcFHVha8pvkBYim6" name="Hatch Sleep Clock" alt="A woman with brown hair sleeps next to a cocoa coloured Hatch Sleep Clock placed on a wooden nightstand" src="https://cdn.mos.cms.futurecdn.net/7EQp8BYcFHVha8pvkBYim6-1920-80.jpg" mos="" align="middle" fullscreen="" width="2500" height="1406" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Hatch)</span></figcaption></figure><p>The Hatch Sleep Clock is a sunrise alarm clock and sleep tracker, rolled up in one neat package. (It's also a <a href="https://www.tomsguide.com/reference/how-does-white-noise-help-you-sleep">white noise machine</a>, making it a true triple threat.)</p><p>As a white noise machine and sunrise alarm clock, the Hatch Sleep Clock will gradually ease you into sleep and gently waking you up in the morning. </p><p>As a sleep tracker, the Sleep Clock observes your rest throughout the night. It then delivers insight into your sleep cycle and routine.</p><p>And it does all this from a position on your nightstand. No wearable required.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-Wlkw2e"></div>                            </div>                            <script src="https://kwizly.com/embed/Wlkw2e.js" async></script><h2 id="how-does-the-hatch-sleep-clock-work">How does the Hatch Sleep Clock work?</h2><p>As a sunrise alarm clock, the Hatch Sleep Clock isn't exactly breaking new ground. At least, nothing that hasn't already been covered by the <a href="https://www.tomsguide.com/wellness/sleep-tech/hatch-restore-3-sunrise-alarm-clock-review">Hatch Restore 3</a>. It slowly floods the room with light to naturally trigger your <a href="https://www.tomsguide.com/wellness/sleep/circadian-rhythm">circadian response</a> and wake you up. I'll dive into all that later.</p><p>The sleep tracking is the real story of the Hatch Sleep Clock. Contactless trackers are driving the <a href="https://www.tomsguide.com/wellness/sleep-tech/meet-the-new-school-of-sleep-tech">next generation of sleep tech</a>, offering a way to observe your sleep without the intrusion of a <a href="https://www.tomsguide.com/us/best-fitness-trackers,review-2066.html">health wearable</a>. </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="86cUikNo34HJLYpBruX2DW" name="Hatch Sleep Clock turn on" alt="The Hatch Sleep Clock in Cocoa on a nightstand in our reviewer's bedroom. A hand can be seen pressing the button on top of the Hatch Sleep Clock" src="https://cdn.mos.cms.futurecdn.net/86cUikNo34HJLYpBruX2DW-1920-80.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>While wearables typically use a combination of metrics to measure sleep, the Hatch Sleep Clock relies on "ultra-low-power radio signals" to observe movement. From this, it determines which sleep stage you're in. </p><p>At the end of the the night it collates this data into an attractive chart — honestly, it's a work of minimalist art — but no <a href="https://www.tomsguide.com/wellness/sleep/i-hit-a-sleep-score-of-100-last-weekend-heres-everything-i-did-to-sleep-better">sleep score</a>.</p><p>The more you use the Hatch Sleep Clock, the more it learns your sleep. Including how the Hatch fits into your routine. So if you sleep better on nights with gentle rainstorms or drift off faster when enjoying a podcast, it can let you know. Then it's up to you to adjust your routine.</p><h2 id="a-contactless-device-that-tracks-your-sleep-well-most-of-it">A contactless device that tracks your sleep... Well, most of it</h2><p>Through 'low power sensors', the Sleep Clock tracks your rest from your nightstand with what Hatch claims is 97% accuracy (based on a <a href="https://www.sciencedirect.com/science/article/abs/pii/S1389945720301027" target="_blank">third-party study</a>.)</p><p>Movement tracking is the kind of thing you find in <a href="https://www.tomsguide.com/wellness/sleep-tech/i-tried-3-free-sleep-trackers-for-iphones-and-compared-them-to-my-gold-standard-sleep-tracker-one-seriously-impressed-me">free sleep tracking apps</a>. The Sleep Clock costs $249. Needless to say, I was wary.</p><p>But even compared to my <a href="https://www.tomsguide.com/wellness/smart-rings/oura-ring-5-hands-on-review-ive-worn-the-worlds-smallest-smart-ring-for-a-week-and-it-changes-fitness-tracking-forever">Oura Ring 5</a>, the <a href="https://www.tomsguide.com/computing/mobile-apps/best-sleep-tracking-apps-2024-top-5-apps-to-download-now">best sleep tracker</a> we've tested, the Sleep Clock is pulling in good results. It's great at identifying when I've gotten in and out of bed, and it has the general outline of my sleep nailed. If you want an overview of your night, the Hatch will provide 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:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="eJtxMDUuzFrVWuWjwxhhFi" name="hatch sleep clock vs oura day one" alt="On the left, a screenshot of the Hatch Sleep Clock app showing the data from a night's sleep. On the right, a screenshot of the Oura Ring 5 app showing sleep data from the same night." src="https://cdn.mos.cms.futurecdn.net/eJtxMDUuzFrVWuWjwxhhFi-1920-80.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="caption-text">On the left, the Hatch Sleep Clock. On the right, Oura Ring 5. </span><span class="credit" itemprop="copyrightHolder">(Image credit: Hatch / Oura)</span></figcaption></figure><p>There's one notable problem, however. While the Oura Ring detected just 56 minutes of <a href="https://www.tomsguide.com/wellness/sleep/how-much-deep-sleep-do-you-need">deep sleep</a>, the Hatch thought I managed over 2 hours. Based on my energy levels today, I'm inclined to trust the Oura.</p><p>It's still early days (early nights?) for the Hatch Sleep Clock, so I'll keep an eye on how my data compares. For now, I'll say it's good at the picture but struggles with the finer details.</p><h2 id="bookend-your-day-with-a-stress-busting-sunrise-alarm-clock">Bookend your day with a stress-busting sunrise alarm clock</h2><p>Of course, the Sleep Clock still offers Hatch's signature <a href="https://www.tomsguide.com/wellness/sleep-tech/how-to-use-a-sunrise-alarm-clock-to-fall-asleep-faster-and-wake-up-full-of-energy">sunrise alarm clock</a>. You set a wake up time and in the 30 minutes beforehand the Hatch gradually floods the room with light. </p><p>This sunrise mimicking effect is intended to kickstart your circadian cycle. (<a href="https://pubmed.ncbi.nlm.nih.gov/10487717/" target="_blank">Light triggers</a> the <a href="https://www.tomsguide.com/wellness/sleep/stress-was-waking-me-up-at-3-a-m-until-two-of-the-worlds-best-sleep-doctors-shared-5-fast-fixes-to-lower-my-cortisol-at-night">cortisol awakening response</a>.) By the time your (gentle) alarm goes off, you should be primed to wake up.</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="EmYrUkKcurBfiRfWbqpszn" name="Hatch Sleep Clock in morning" alt="The Hatch Sleep Clock glowing gently in a semi-dark room" src="https://cdn.mos.cms.futurecdn.net/EmYrUkKcurBfiRfWbqpszn-1920-80.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 summer, so my sunrise alarm clock is facing some stiff competition from the actual sun. But the Sleep Clock did as it promised, brightening in the half hour before my alarm was set to go off. I know, because I was already awake in my sunlit room.</p><p>Right now, it's the pre-bed programs that have caught my eye. The Hatch Restore 3 also offers a turn down service, featuring curated lights and sound.</p><p>I've only experienced a <a href="https://www.tomsguide.com/wellness/sleep/perfect-your-own-turndown-service-at-home-for-better-sleep">hotel turn down service</a> once in my life and the Hatch can't quite compare — no chocolate on the pillow, for a start — but it's still pretty luxurious. My room was bathed in relaxing light while soothing sound emanated from my Hatch. For a brief moment, my bedroom was a spa.</p><h2 id="final-thoughts-so-far">Final thoughts so far</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="NwpDUhpLG9ofjuifozg2cB" name="Hatch Sleep Clock before bed" alt="The Hatch Sleep Clock glowing gently yellow next to a bed in a dark room" src="https://cdn.mos.cms.futurecdn.net/NwpDUhpLG9ofjuifozg2cB-1920-80.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>The Hatch Sleep Clock still delivers as a sunrise alarm clock and the turn down service made even my messy bedroom feel luxurious. But so far, none of this justifies paying the extra $80 to upgrade from the Restore 3.</p><p>So is the sleep tracking worth the extra? Based on my early testing, I'll say yes... with a but. For sleep tracking aficionados who want precise, in-depth data, you're better off sticking with your wearable. </p><p>If you want an overview of your sleep from a non-invasive tracker, the Sleep Clock is a smart pick. And while the upgrade from Restore 3 to Sleep Clock might seem like a price jump, $80 is on the cheap side for a decent sleep tracker.</p><div data-model-name="Homelabs Sunrise Alarm Clock,Hatch Restore - Sound Machine,Smart Light, Personal Sleep Routine, Bedside Reading Light, Wind Down Content and Sunrise Alarm Clock for Gentle Wake Up,Fitbit Air,JALL Wake Up Light Sunrise Alarm Clock,Apple Watch 11,Hatch Restore 2 sunrise alarm clock,Withings Sleep Analyzer,Oura Ring 5,Dreamegg sunrise alarm clock,Whoop 5.0" data-rows="5" data-widget-type="multimodelreview" data-widget-title="Today's best prices on popular sleep tech"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I put Honor's Robot Phone against a pocket gimbal camera — here's which one I'd buy ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The Honor Robot Phone is no longer just a concept. We went <a href="https://www.tomsguide.com/phones/i-tried-the-honor-robot-phone-and-its-the-coolest-phone-in-years-thats-not-coming-to-the-us">hands-on with the final version of the Honor Robot Phone</a>, and it's officially going on sale in China starting August 20 for RMB 9,999 (around $1,480), putting it roughly in the same price bracket as the iPhone 17 Pro Max in the country. </p><p>While I compared the <a href="https://www.tomsguide.com/phones/iphones/honor-robot-phone-vs-iphone-17-pro-max">Honor Robot Phone with the iPhone 17 Pro Max</a>, one question has been on my mind ever since I first used the device: Is it actually better than a dedicated pocket gimbal camera? </p><p>I tested the Honor Robot Phone alongside the <a href="https://www.tomsguide.com/cameras-photography/i-tested-the-insta360-luna-ultra-for-a-month-and-its-become-my-go-to-camera-as-a-content-creator">Insta360 Luna Ultra</a> to find out, and the answer surprised me. The dedicated gimbal is still better overall, but Honor has gotten so close that you might not need to carry one anymore.</p><h2 id="honor-got-surprisingly-close-to-a-dedicated-gimbal-on-its-first-try">Honor got surprisingly close to a dedicated gimbal on its first try</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="MqqZqkuWMGWZfPzEQBu2fe" name="honor-robot-phone-vs-luna-ultra-2" alt="Honor robot phone next to Insta360 Luna Ultra" src="https://cdn.mos.cms.futurecdn.net/MqqZqkuWMGWZfPzEQBu2fe-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>The most impressive thing about the Robot Phone is just how similar the shooting experience feels to using an actual pocket gimbal camera. Honor has mounted a 200MP f/1.6 camera on a physical arm that can move around to stabilize footage and follow subjects. </p><p>Of course, the form factors are completely different. The <a href="https://www.tomsguide.com/cameras-photography/i-tested-the-insta360-luna-ultra-for-a-month-and-its-become-my-go-to-camera-as-a-content-creator">Luna Ultra</a> is designed specifically to be held as a camera, so it's naturally more comfortable when you're recording for longer durations.</p><p>But the core idea is pretty much the same on both. Even on the Robot Phone, you're getting pretty much the same moving gimbal setup as the Luna Ultra, except it's built into a standard slab smartphone that doesn't feel ridiculously thick. </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/raWY1rAX_04" allowfullscreen></iframe></div></div><p>There are a few small differences, though. In my testing, I found the Luna Ultra slightly faster to get up and running. You can pull it out and start recording almost immediately, whereas getting into the Robot Phone's gimbal camera takes an extra second or two. </p><p>Interestingly, both devices also share the same limitation when it comes to vertical video. Neither physically rotates its main sensor when you switch to portrait recording. Instead, both crop into the horizontally oriented sensor, meaning vertical footage tops out at roughly 2.8K rather than native 4K.</p><h2 id="even-the-software-experience-is-remarkably-similar">Even the software experience is remarkably similar</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="nUVW72QJEUt5euQBWxTjn" name="honor-robot-phone-vs-iphone-17-pro-max-4" alt="Honor Robot Phone hands-on versus iPhone 17 Pro Max" src="https://cdn.mos.cms.futurecdn.net/nUVW72QJEUt5euQBWxTjn-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>Speaking of similarities, the software experience on both devices is surprisingly close as well. Both offer subject tracking, letting you lock onto a person and have the gimbal automatically follow them to keep them in the frame. </p><p>In my testing, I expected the Luna Ultra to have an advantage here, but it really doesn't. I tried tracking a person in a busy Shenzhen bay area while walking alongside them, and the Honor Robot Phone easily matched the Luna Ultra at keeping the subject in frame. </p><p>The difference only really becomes noticeable when the subject moves quickly toward the edge. During normal movement, though, the Robot Phone had no trouble staying locked on, even with other people moving around the scene.</p><p>The Robot Phone also offers a Super Steady mode that adds another layer of stabilization on top of the physical gimbal, something the Luna Ultra doesn't offer. That said, I don't think you're missing much without it. Footage from both devices already comes out incredibly stable. </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:5712px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="KD7QWHmwqrZdjBcgMmzgQe" name="Insta360 Luna Ultra" alt="Insta360 Luna Ultra" src="https://cdn.mos.cms.futurecdn.net/KD7QWHmwqrZdjBcgMmzgQe-1920-80.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)</span></figcaption></figure><p>One software advantage the Robot Phone does have is Honor's partnership with ARRI. If you're into filmmaking or more serious content creation, you can use ARRI's cinematic color science while shooting video, which isn't something you get on the Luna Ultra.</p><p>On the other hand, newer pocket gimbals like the Luna Ultra and <a href="https://www.tomsguide.com/cameras-photography/dji-osmo-pocket-4p-first-impressions">DJI Osmo Pocket 4P</a> have dedicated zoom hardware. Honor doesn't have that on its gimbal-mounted camera, but the 200MP sensor gives it plenty of room to crop in, offering up to around 4x zoom. So you're not completely missing out there either.</p><h2 id="i-39-d-still-buy-the-dedicated-gimbal-but-honor-got-incredibly-close">I'd still buy the dedicated gimbal, but Honor got incredibly close</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="2i7FFTykk8vX5peuycjdde" name="Insta360 Luna Ultra" alt="Insta360 Luna Ultra" src="https://cdn.mos.cms.futurecdn.net/2i7FFTykk8vX5peuycjdde-1920-80.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)</span></figcaption></figure><p>On the whole, if I had to spend my money, I'd still probably go with the Luna Ultra. There are a few small things it simply does better. It's quicker to launch, more comfortable to hold for longer shoots, has dedicated zoom hardware, and I found the subject tracking to be ever so slightly better. </p><p>Plus, you can actually buy it in the U.S., whereas the Robot Phone remains limited to China for now. </p><p>But then again, the Robot Phone isn't just a camera. For the same money, you're getting the gimbal hardware inside a full-fledged flagship phone with a 7,060mAh battery, <a href="https://www.tomsguide.com/phones/android-phones/snapdragon-8-elite-gen-5-benchmarks-apples-a19-pro-meets-its-match">Snapdragon 8 Elite Gen 5</a>, 512GB of storage, and a flagship display. </p><p>And I think that's where Honor has really surprised me. I went into this comparison expecting the Luna Ultra to easily come out on top because, well, that's literally what it's built for. It still does, just not by the margin I expected.</p><div data-widget-type="productname" data-model-name="Insta360 Luna Ultra"></div><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/phones/samsung-phones/ive-been-living-with-the-galaxy-z-fold-8-for-3-weeks-and-i-was-wrong">I’ve been living with the Galaxy Z Fold 8 for 3 weeks — and I was wrong</a></li><li><a href="https://www.tomsguide.com/cameras-photography/insta360s-gimbal-camera-has-just-hit-shelves-and-theres-one-factor-that-has-me-lining-up-to-purchase-one-stat">Insta360's gimbal camera has just hit shelves, and there's one factor that has me lining up to purchase one stat</a></li><li><a href="https://www.tomsguide.com/cameras-photography/my-favorite-cameras-drones-of-2026-so-far">I’ve tested a ton of cameras and drones in 2026 — and these are my 5 favorites (so far) from DJI, Canon, Leica and more</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/android-phones/i-put-honor-robot-phone-against-pocket-gimbal-camera</link>
                                                                            <description>
                            <![CDATA[ Can the Honor Robot Phone replace a pocket gimbal camera like the DJI Osmo Pocket or Insta360 Luna Ultra? I put it to the test. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">DGxuMqSPyAn482C8ziJJPA</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/p7verGzkUfXuSH3XJ9GrYe-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 22 Aug 2026 06:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Android Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sanuj Bhatia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/8p5BvMVA7cnu5AWkxnTjRC-320-70.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/p7verGzkUfXuSH3XJ9GrYe-1280-80.jpg">
                                                            <media:credit><![CDATA[Sanuj Bhatia / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Honor robot phone next to Insta360 Luna Ultra]]></media:description>                                                            <media:text><![CDATA[Honor robot phone next to Insta360 Luna Ultra]]></media:text>
                                <media:title type="plain"><![CDATA[Honor robot phone next to Insta360 Luna Ultra]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/p7verGzkUfXuSH3XJ9GrYe-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The Honor Robot Phone is no longer just a concept. We went <a href="https://www.tomsguide.com/phones/i-tried-the-honor-robot-phone-and-its-the-coolest-phone-in-years-thats-not-coming-to-the-us">hands-on with the final version of the Honor Robot Phone</a>, and it's officially going on sale in China starting August 20 for RMB 9,999 (around $1,480), putting it roughly in the same price bracket as the iPhone 17 Pro Max in the country. </p><p>While I compared the <a href="https://www.tomsguide.com/phones/iphones/honor-robot-phone-vs-iphone-17-pro-max">Honor Robot Phone with the iPhone 17 Pro Max</a>, one question has been on my mind ever since I first used the device: Is it actually better than a dedicated pocket gimbal camera? </p><p>I tested the Honor Robot Phone alongside the <a href="https://www.tomsguide.com/cameras-photography/i-tested-the-insta360-luna-ultra-for-a-month-and-its-become-my-go-to-camera-as-a-content-creator">Insta360 Luna Ultra</a> to find out, and the answer surprised me. The dedicated gimbal is still better overall, but Honor has gotten so close that you might not need to carry one anymore.</p><h2 id="honor-got-surprisingly-close-to-a-dedicated-gimbal-on-its-first-try">Honor got surprisingly close to a dedicated gimbal on its first try</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="MqqZqkuWMGWZfPzEQBu2fe" name="honor-robot-phone-vs-luna-ultra-2" alt="Honor robot phone next to Insta360 Luna Ultra" src="https://cdn.mos.cms.futurecdn.net/MqqZqkuWMGWZfPzEQBu2fe-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>The most impressive thing about the Robot Phone is just how similar the shooting experience feels to using an actual pocket gimbal camera. Honor has mounted a 200MP f/1.6 camera on a physical arm that can move around to stabilize footage and follow subjects. </p><p>Of course, the form factors are completely different. The <a href="https://www.tomsguide.com/cameras-photography/i-tested-the-insta360-luna-ultra-for-a-month-and-its-become-my-go-to-camera-as-a-content-creator">Luna Ultra</a> is designed specifically to be held as a camera, so it's naturally more comfortable when you're recording for longer durations.</p><p>But the core idea is pretty much the same on both. Even on the Robot Phone, you're getting pretty much the same moving gimbal setup as the Luna Ultra, except it's built into a standard slab smartphone that doesn't feel ridiculously thick. </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/raWY1rAX_04" allowfullscreen></iframe></div></div><p>There are a few small differences, though. In my testing, I found the Luna Ultra slightly faster to get up and running. You can pull it out and start recording almost immediately, whereas getting into the Robot Phone's gimbal camera takes an extra second or two. </p><p>Interestingly, both devices also share the same limitation when it comes to vertical video. Neither physically rotates its main sensor when you switch to portrait recording. Instead, both crop into the horizontally oriented sensor, meaning vertical footage tops out at roughly 2.8K rather than native 4K.</p><h2 id="even-the-software-experience-is-remarkably-similar">Even the software experience is remarkably similar</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="nUVW72QJEUt5euQBWxTjn" name="honor-robot-phone-vs-iphone-17-pro-max-4" alt="Honor Robot Phone hands-on versus iPhone 17 Pro Max" src="https://cdn.mos.cms.futurecdn.net/nUVW72QJEUt5euQBWxTjn-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>Speaking of similarities, the software experience on both devices is surprisingly close as well. Both offer subject tracking, letting you lock onto a person and have the gimbal automatically follow them to keep them in the frame. </p><p>In my testing, I expected the Luna Ultra to have an advantage here, but it really doesn't. I tried tracking a person in a busy Shenzhen bay area while walking alongside them, and the Honor Robot Phone easily matched the Luna Ultra at keeping the subject in frame. </p><p>The difference only really becomes noticeable when the subject moves quickly toward the edge. During normal movement, though, the Robot Phone had no trouble staying locked on, even with other people moving around the scene.</p><p>The Robot Phone also offers a Super Steady mode that adds another layer of stabilization on top of the physical gimbal, something the Luna Ultra doesn't offer. That said, I don't think you're missing much without it. Footage from both devices already comes out incredibly stable. </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:5712px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="KD7QWHmwqrZdjBcgMmzgQe" name="Insta360 Luna Ultra" alt="Insta360 Luna Ultra" src="https://cdn.mos.cms.futurecdn.net/KD7QWHmwqrZdjBcgMmzgQe-1920-80.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)</span></figcaption></figure><p>One software advantage the Robot Phone does have is Honor's partnership with ARRI. If you're into filmmaking or more serious content creation, you can use ARRI's cinematic color science while shooting video, which isn't something you get on the Luna Ultra.</p><p>On the other hand, newer pocket gimbals like the Luna Ultra and <a href="https://www.tomsguide.com/cameras-photography/dji-osmo-pocket-4p-first-impressions">DJI Osmo Pocket 4P</a> have dedicated zoom hardware. Honor doesn't have that on its gimbal-mounted camera, but the 200MP sensor gives it plenty of room to crop in, offering up to around 4x zoom. So you're not completely missing out there either.</p><h2 id="i-39-d-still-buy-the-dedicated-gimbal-but-honor-got-incredibly-close">I'd still buy the dedicated gimbal, but Honor got incredibly close</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="2i7FFTykk8vX5peuycjdde" name="Insta360 Luna Ultra" alt="Insta360 Luna Ultra" src="https://cdn.mos.cms.futurecdn.net/2i7FFTykk8vX5peuycjdde-1920-80.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)</span></figcaption></figure><p>On the whole, if I had to spend my money, I'd still probably go with the Luna Ultra. There are a few small things it simply does better. It's quicker to launch, more comfortable to hold for longer shoots, has dedicated zoom hardware, and I found the subject tracking to be ever so slightly better. </p><p>Plus, you can actually buy it in the U.S., whereas the Robot Phone remains limited to China for now. </p><p>But then again, the Robot Phone isn't just a camera. For the same money, you're getting the gimbal hardware inside a full-fledged flagship phone with a 7,060mAh battery, <a href="https://www.tomsguide.com/phones/android-phones/snapdragon-8-elite-gen-5-benchmarks-apples-a19-pro-meets-its-match">Snapdragon 8 Elite Gen 5</a>, 512GB of storage, and a flagship display. </p><p>And I think that's where Honor has really surprised me. I went into this comparison expecting the Luna Ultra to easily come out on top because, well, that's literally what it's built for. It still does, just not by the margin I expected.</p><div data-widget-type="productname" data-model-name="Insta360 Luna Ultra"></div><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/phones/samsung-phones/ive-been-living-with-the-galaxy-z-fold-8-for-3-weeks-and-i-was-wrong">I’ve been living with the Galaxy Z Fold 8 for 3 weeks — and I was wrong</a></li><li><a href="https://www.tomsguide.com/cameras-photography/insta360s-gimbal-camera-has-just-hit-shelves-and-theres-one-factor-that-has-me-lining-up-to-purchase-one-stat">Insta360's gimbal camera has just hit shelves, and there's one factor that has me lining up to purchase one stat</a></li><li><a href="https://www.tomsguide.com/cameras-photography/my-favorite-cameras-drones-of-2026-so-far">I’ve tested a ton of cameras and drones in 2026 — and these are my 5 favorites (so far) from DJI, Canon, Leica and more</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I've been training with the Galaxy Watch 9 for a month — 3 things I like (and 3 I don't) ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The Samsung Galaxy Watch 9 was unveiled at the <a href="https://www.tomsguide.com/news/live/samsung-galaxy-unpacked-2026-live">Galaxy Unpacked</a> event alongside the <a href="https://www.tomsguide.com/wellness/smartwatches/galaxy-watch-ultra-2-hands-on-review">Galaxy Watch Ultra 2</a>.</p><p>To read the full lowdown on what you can do with the latest Galaxy Watch model, my wearables expert colleague <a href="https://www.tomsguide.com/author/dan-bracaglia">Dan Bracaglia</a> discusses the <a href="https://www.tomsguide.com/wellness/smartwatches/5-things-to-know-about-the-new-samsung-galaxy-watch-9">5 things you need to know about the Galaxy Watch 9</a> in more detail. However, as a trainer and fitness editor, I'm more concerned about whether it's the type of watch I want strapped to my wrist during workouts. </p><p>Recently, I attended BXR to get first-hand experience with the watch on behalf of Samsung; we hit the treadmills, did some strength training and even stretched it out in a 20-minute yoga class. But for me, that wasn't enough. Thankfully, I got to spend more time with the model, training at home, in the gym and in my yoga classes, to really see what it's about. </p><p>Here are three things I like so far, and three that I'm really not a fan of if you're looking to purchase one of the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a> in 2026.</p><div class="product"><a data-dimension112="ade90f98-9cd1-11f1-a314-f7a6b93fb3ee" data-action="Deal Block" data-label="Galaxy Watch 9" data-dimension48="Galaxy Watch 9" data-dimension25="£379.99" href="https://www.samsung.com/us/watches/galaxy-watch9/buy/galaxy-watch9-40mm-graphite-bluetooth-sku-sm-l340nzkaxaa/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1148px;"><p class="vanilla-image-block" style="padding-top:116.72%;"><img id="tEF32W52wJvZ9enzPgBxfB" name="Galaxy Watch 9 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/tEF32W52wJvZ9enzPgBxfB-1920-80.jpg" mos="" align="middle" fullscreen="" width="1148" height="1340" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Galaxy Watch 9 offers better battery life and a wealth of health and fitness tracking capabilities that aren't all locked behind a paywall. <a class="view-deal button" href="https://www.samsung.com/us/watches/galaxy-watch9/buy/galaxy-watch9-40mm-graphite-bluetooth-sku-sm-l340nzkaxaa/" target="_blank" rel="nofollow" data-dimension112="ade90f98-9cd1-11f1-a314-f7a6b93fb3ee" data-action="Deal Block" data-label="Galaxy Watch 9" data-dimension48="Galaxy Watch 9" data-dimension25="£379.99">View Deal</a></p></div><h3 class="article-body__section" id="section-like-1-aesthetics"><span>Like 1: Aesthetics</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:5322px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="ryz4WsgNuzbFG2wC9R8VKk" name="GalaxyWatch9-03" alt="Close-up of the Samsung Galaxy Watch 9 in white" src="https://cdn.mos.cms.futurecdn.net/ryz4WsgNuzbFG2wC9R8VKk-1920-80.jpg" mos="" align="middle" fullscreen="" width="5322" height="2994" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Retailing at $379 for 40mm (no LTE, which is $50 extra) or $409 for 44mm (no LTE) compared to $349 for the Galaxy Watch 8, the 9 is no doubt a good-looking smartwatch-fitness tracker with a premium price tag. </p><p>I like how easy it is to set up and pair with the <a href="https://www.tomsguide.com/phones/samsung-phones/ive-spent-more-than-three-weeks-using-the-galaxy-z-flip-8-and-its-a-tipping-point-for-samsung">Samsung Galaxy Z Flip 8</a>, and the sleek sports strap and screen design are right up my alley; I don't like having garish fitness trackers or fussy smartwatches on my wrist, especially when lifting weights. 40mm is available in Cream or Graphite; 44mm comes in Graphite or Silver.</p><div class="instagram-embed"><blockquote class="instagram-media"  data-instgrm-version="6" style="width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);"><p><a href="https://www.instagram.com/p/DbK_qq0gAGV/" target="_blank">A post shared by Tom's Guide Fitness (@tomsguidefitness)</a></p><p>A photo posted by </p></blockquote></div><p>We'll get on to size (one of my dislikes) below, but in terms of design, you get pretty much the same aesthetics, screen brightness and size options as the 8. However, the 9 boasts a faster processor and up to 20% better battery life. You can also customize your sports bands with various color options, too.</p><p>I highly recommend leaving the always-on option enabled so you can glance during workouts. I didn't do this at first and it caused me some very high cortisol levels and extra faff.</p><p>But let's focus on the real MVP: new health and fitness tracking tools. </p><div class="instagram-embed"><blockquote class="instagram-media"  data-instgrm-version="6" style="width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);"><p><a href="https://www.instagram.com/p/DcN39S0IeBU/" target="_blank">A post shared by Tom's Guide Fitness (@tomsguidefitness)</a></p><p>A photo posted by </p></blockquote></div><h3 class="article-body__section" id="section-like-2-swipeable-health-features-upgraded"><span>Like 2: Swipeable health features upgraded</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:4996px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="qkNNwr3UPRR6b8yK94DdDk" name="GalaxyWatch9-01" alt="Close-up of the Samsung Galaxy Watch 9 on a user's wrist against a blue background" src="https://cdn.mos.cms.futurecdn.net/qkNNwr3UPRR6b8yK94DdDk-1920-80.jpg" mos="" align="middle" fullscreen="" width="4996" height="2810" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Samsung Health offers a wealth of fitness and health tracking and insights, without locking it all behind a paywall. There are plenty of sports and activities to choose from, and an array of sensors means you can pick up pretty detailed data.</p><p>Some of the latest upgrades include a <strong>Vitals dashboard </strong>with metrics for heart rate, HRV, sp02, body temperature, breathing, and <strong>Heart Health Score.</strong> Alongside this, you get fitness features such as <strong>Cardio Load</strong> and <strong>Fitness Index</strong> (a score out of 100 based on activity levels, VO2 max, recovery time and more).</p><p>The idea is to be preventative, which means more of a holistic focus on wellbeing and useful insights. The Vitals dashboard features one easy-to-view panel with information on heart rate, blood pressure and ECG. It's handy to swipe left and right to catch a quick glance while on the go. You can also swipe to use quick features such as <strong>Running Coach, Body Composition and Sleep. </strong></p><p>By swiping twice to my left, I could quickly access the <strong>Fitness</strong> section, where I could select from a list of activities or add my own via my Samsung Galaxy phone or on the watch itself. You can set up your watch to suit your preferences, but note that you'll need to sleep with it on to access some of the longer-term trends and vitals, particularly sleep, of course.</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="o3hRCLxa7rk5VKMhfRf2Wa" name="samsung galaxy watch vs coros 2" alt="Samsung Galaxy Watch 9 on user wrist during treadmill workout" src="https://cdn.mos.cms.futurecdn.net/o3hRCLxa7rk5VKMhfRf2Wa-1920-80.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>I’ve worn the<a href="https://www.tomsguide.com/wellness/smartwatches/coros-pace-4-review"> Coros Pace 4 </a>alongside the Samsung Galaxy Watch 9 on several occasions. Not because it's a totally fair comparison, but if I'm exploring what I like and don't like about a watch during exercise, I'm doing it with my favorite one on my wrist, too. </p><p>The Coros Pace 4 has proved reliable for workouts for me and my colleague <a href="https://www.tomsguide.com/author/nick-harris-fry">Nick Harris-Fry</a>, who runs regularly wearing it alongside other wearables because of dual-band GPS tracking and top sports features.</p><p>Throughout testing, the Galaxy Watch 9 has been fairly consistent with my trusty Coros Pace 4, though the Watch 9 tends to track more time spent in heart rate zones 1, 2, and 3 during my running efforts than the Pace 4. The Watch 9 also tends to overestimate calorie burn, but I don't pay too much attention to <a href="https://www.tomsguide.com/wellness/workouts/we-asked-toms-guide-readers-which-fitness-tracking-metrics-do-you-trust-the-least-heres-the-surprising-answer">calorie burn on fitness trackers</a> anyway, as so many variables impact how many active calories you can burn.</p><p>That aside, distances and paces have been around the same, and the Galaxy Watch 9 is intuitive at picking up workouts through auto-detection. And it's useful to remember that the Pace 4 is a sports watch, after all, not a smart one, so those who are most likely to purchase this smartwatch-come-fitness tracker will be looking at a lot more than just workouts.</p><h3 class="article-body__section" id="section-like-3-auto-activity-detection"><span>Like 3: Auto activity detection</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:1440px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Um6SwSAjctWztR46p2WpVa" name="samsung galaxy v coros" alt="Samsung Galaxy Watch 9 on user wrist during treadmill workout" src="https://cdn.mos.cms.futurecdn.net/Um6SwSAjctWztR46p2WpVa-1920-80.jpg" mos="" align="middle" fullscreen="" width="1440" height="810" 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>The Samsung Galaxy Watch 9 can automatically track exercises, including walking, running, cycling, swimming, rowing, and elliptical, using its BioActive Sensor and accelerometer. That means you don't need to rely on manually starting some activities, which I found really handy.</p><p>The watch automatically picked up when I walked and paused when it detected I was stationary. I found this to be pretty accurate for time and distance, and it's good to know that this data feeds into my overall activity levels, trends and insights. I'd like this feature to roll out across more activities, but it's great that the basics are there.</p><p>I could view duration, pace, distance and time of day at a glance, and I found the watch particularly good for tracking running data. That said, if you take your running seriously, you'd be looking more at the <a href="https://www.tomsguide.com/wellness/smartwatches/i-tested-19-running-watches-in-2025-these-are-the-2-that-id-actually-buy">best running watch</a> anyway. </p><h3 class="article-body__section" id="section-dislike-1-hard-to-use-on-the-go"><span>Dislike 1: Hard to use on the go</span></h3><p>I recently became emotionally dependent on my Coros Pace 4 sports watch, which is easy to wear, tight-fitting, rugged, very easy to use on the go and tracks everything I need during exercise. It also has excellent battery life without overwhelming me. </p><p>While this is not a head-to-head comparison, using both watches has given me a strong sense of what works and doesn't work for me personally during exercise.</p><p>I've worn both watches for yoga, Pilates, strength training and running, and I find the Galaxy Watch 9 "faffy" to use. The screen is extremely sensitive (but yes, it is fast), and I find it hard to navigate the tiles and swipe left-to-right quickly while running and walking.</p><p>I'm a button girlie, and while the swipeable screen is handy, I will always prefer navigating settings primarily with buttons. There are two on the watch on the right side, but I couldn't use them as much as I wanted to.</p><p>I'm also not a fan of overcomplicated screens and having to swipe this way and that to see a handful of the metrics I find most important. I recommend spending some time setting up your Galaxy Watch 9 by configuring the layout and features you need most, plus choosing a clean watch face via the Galaxy Wearable app, if you're a bit like me with tech overwhelm.</p><p>You'll also need to go into the Samsung Health app to enable various health and fitness tracking features, which aren't automatically set up; be warned, there are many, and it takes a little time. </p><h3 class="article-body__section" id="section-dislike-2-sizing"><span>Dislike 2: Sizing</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:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="eFPf6iF8xmwkUeBk8Z7uTa" name="samsung galaxy watch vs coros 3" alt="Samsung Galaxy Watch 9 on user wrist during treadmill workout" src="https://cdn.mos.cms.futurecdn.net/eFPf6iF8xmwkUeBk8Z7uTa-1920-80.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>As a female with small wrists, I have this issue with sports and smartwatches all the time. It's one of the areas where my colleague Jane McGuire says<a href="https://www.tomsguide.com/wellness/fitness-trackers/ive-been-writing-about-fitness-trackers-for-a-decade-10-years-later-they-are-still-falling-short-for-women"> fitness trackers still fall short for women.  </a></p><p>I don't need bulk on my wrists when I lift weights or run; it is distracting and creates more weight and fuss when I'm trying to position weights along my forearms for exercises like front rack squats or cleans.  </p><p>For me, the Galaxy Watch 9 feels heavy, even with the aluminum casing, which is supposed to help make the watch lightweight. I was given a M/L wrist strap, so I highly recommend picking a S/M strap if you have small wrists like mine, as the watch slid around even on the tightest strap setting.</p><p>For those who get sweaty during workouts, I'd also consider the fabric band instead of the sports band that came with my watch.</p><p>While I do like how the watch looks and I enjoy the understated design, I'm not a fan of the sizing overall, even for the smaller 40mm model. I still think brands need to think more about their female customers when designing smartwatches and sports watches in general.</p><p>For that reason, I wouldn't want to wear this watch to bed. But that said, I generally don't like having anything on my wrist at night and rely on my <a href="https://www.tomsguide.com/wellness/smart-rings/ive-worn-the-oura-ring-5-for-six-weeks-here-are-3-things-i-love-and-2-things-i-wish-i-could-change">Oura Ring 5</a> to track sleep instead. If this is a problem for you, note that some features rely on you sleeping in your watch.</p><h3 class="article-body__section" id="section-dislike-3-battery-life"><span>Dislike 3: Battery life</span></h3><p>Both the 40mm and 44mm Samsung Galaxy Watch 9 models feature modest battery capacity increases. For the smaller model, that's a jump from 325 mAh for the Galaxy Watch 8 to 390 mAh for the Galaxy Watch 9. For the bigger model, the capacity has increased from 435 mAh on the Galaxy Watch 8 to 445 mAh for the Galaxy Watch 9.</p><p>This, coupled with up to 15% more efficient processing,<em> should </em>mean that the Galaxy Watch 9 lasts longer than the average of roughly 30 hours per charge (for the 8) with the always-on enabled.</p><p>I'd say I'm very active, and mine has lasted roughly 24 hours on a charge. Compare that with watches like the <a href="https://www.tomsguide.com/wellness/smartwatches/i-just-tried-the-new-google-pixel-watch-5-and-its-new-health-and-safety-features-blow-the-apple-watch-out-of-the-water">Pixel Watch 5,</a> which should last around two days, and the <a href="https://www.tomsguide.com/wellness/smartwatches/coros-pace-4-review">Coros Pace 4</a>, which I usually wear and can last me about a week, and the battery life could be better. </p><p>I'm a little disappointed, as battery life is one of the features most celebrated with the Galaxy Watch 9. if I were taking it away on a trip, I'd need to charge it every day, though it does charge quickly when you do juice it up.</p><h2 id="verdict-2">Verdict</h2><p>For me, the Samsung Galaxy Watch 9 looks great, is fast, offers a wealth of health and fitness features and pretty accurate tracking across the activities I tested, but would I switch out other trusty watches in favor of it for exercise alone? No, I wouldn't. </p><p>That said, I will be spending some more time wearing it, and I plan to update you here with more long-term feedback. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/wellness/smartwatches/google-exclusive-how-the-pixel-watch-3-got-a-life-saving-feature-the-apple-watch-cant-match"><strong>Exclusive: Garmin Cirqa PM says ‘it just felt like we had all of the pieces in place’ to launch a screen-free fitness tracker</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/fitness/an-iphone-moment-for-your-eyes-why-xpanceo-is-betting-big-on-smart-contact-lenses-as-the-future-of-ar"><strong>An ‘iPhone moment’ for your eyes — why Xpanceo is betting big on smart contact lenses as the future of AR</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/fitness-trackers/exclusive-google-design-director-says-fitbit-air-reception-proves-they-made-the-right-decision-going-screen-free"><strong>Exclusive: Google design director says Fitbit Air reception proves they 'made the right decision' going screen-free</strong></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/wellness/smartwatches/ive-been-training-with-the-galaxy-watch-9-for-a-month-3-things-i-like-and-3-i-dont</link>
                                                                            <description>
                            <![CDATA[ We've been training with the Galaxy Watch 9, and there are some features we like and dislike so far. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">NT6f8Q8DoFuk7EciGQX2r4</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/9VYZkwkFKGrzUBK9zzEc3k-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 21 Aug 2026 08:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smartwatches]]></category>
                                                    <category><![CDATA[Fitness]]></category>
                                                    <category><![CDATA[Wellness]]></category>
                                                                                                <author><![CDATA[ sam.hopes@futurenet.com (Sam Hopes) ]]></author>                    <dc:creator><![CDATA[ Sam Hopes ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/jZ88qJqvjWaCXXv3qvUQPA-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Sam Hopes is a level 3 qualified trainer, a level 2 Reiki practitioner and a fitness editor at Tom&#039;s Guide. She is also currently undertaking her Yoga For Athletes training course. Sam has written for various fitness brands and websites over the years and has experience across brands at Future, such as &lt;a href=&quot;https://www.livescience.com/author/sam-hopes&quot;&gt;Live Science&lt;/a&gt;,&lt;a href=&quot;https://www.fitandwell.com/author/sam-hopes&quot;&gt; Fit&amp;amp;Well&lt;/a&gt;,&lt;a href=&quot;https://www.coachweb.com/author/sam-hopes&quot;&gt; Coach&lt;/a&gt;, and T3. &lt;/p&gt;&lt;p&gt;Having worked with fitness studios like F45 and Virgin Active and trained both group and 1:1, Sam now primarily teaches outdoor bootcamps, bodyweight, and kettlebells. She also coaches mobility and flexibility classes several times a week and believes that true strength comes from a holistic approach to training your body. &lt;/p&gt;&lt;p&gt;Sam has completed two mixed doubles Hyrox competitions in London and the Netherlands and finished her first doubles attempt in 1:11.&lt;/p&gt;&lt;p&gt;In her spare time, she enjoys CrossFit, hot yoga, Pilates and running and can be found perfecting her handstand walks and handstand push-ups in the gym whenever she has the chance to be upside down. At work, she can be found testing the latest in fitness technology and wearables, anything yoga and CrossFit-related and has a keen interest in nutrition, mindfulness, sleep and recovery.&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/9VYZkwkFKGrzUBK9zzEc3k-1280-80.jpg">
                                                            <media:credit><![CDATA[Dan Bracaglia/Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Close-up of the Samsung Galaxy Watch 9 in white]]></media:description>                                                            <media:text><![CDATA[Close-up of the Samsung Galaxy Watch 9 in white]]></media:text>
                                <media:title type="plain"><![CDATA[Close-up of the Samsung Galaxy Watch 9 in white]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/9VYZkwkFKGrzUBK9zzEc3k-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The Samsung Galaxy Watch 9 was unveiled at the <a href="https://www.tomsguide.com/news/live/samsung-galaxy-unpacked-2026-live">Galaxy Unpacked</a> event alongside the <a href="https://www.tomsguide.com/wellness/smartwatches/galaxy-watch-ultra-2-hands-on-review">Galaxy Watch Ultra 2</a>.</p><p>To read the full lowdown on what you can do with the latest Galaxy Watch model, my wearables expert colleague <a href="https://www.tomsguide.com/author/dan-bracaglia">Dan Bracaglia</a> discusses the <a href="https://www.tomsguide.com/wellness/smartwatches/5-things-to-know-about-the-new-samsung-galaxy-watch-9">5 things you need to know about the Galaxy Watch 9</a> in more detail. However, as a trainer and fitness editor, I'm more concerned about whether it's the type of watch I want strapped to my wrist during workouts. </p><p>Recently, I attended BXR to get first-hand experience with the watch on behalf of Samsung; we hit the treadmills, did some strength training and even stretched it out in a 20-minute yoga class. But for me, that wasn't enough. Thankfully, I got to spend more time with the model, training at home, in the gym and in my yoga classes, to really see what it's about. </p><p>Here are three things I like so far, and three that I'm really not a fan of if you're looking to purchase one of the <a href="https://www.tomsguide.com/wellness/smartwatches/best-smartwatch">best smartwatches</a> in 2026.</p><div class="product"><a data-dimension112="ade90f98-9cd1-11f1-a314-f7a6b93fb3ee" data-action="Deal Block" data-label="Galaxy Watch 9" data-dimension48="Galaxy Watch 9" data-dimension25="£379.99" href="https://www.samsung.com/us/watches/galaxy-watch9/buy/galaxy-watch9-40mm-graphite-bluetooth-sku-sm-l340nzkaxaa/" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1148px;"><p class="vanilla-image-block" style="padding-top:116.72%;"><img id="tEF32W52wJvZ9enzPgBxfB" name="Galaxy Watch 9 deal block" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/tEF32W52wJvZ9enzPgBxfB-1920-80.jpg" mos="" align="middle" fullscreen="" width="1148" height="1340" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Galaxy Watch 9 offers better battery life and a wealth of health and fitness tracking capabilities that aren't all locked behind a paywall. <a class="view-deal button" href="https://www.samsung.com/us/watches/galaxy-watch9/buy/galaxy-watch9-40mm-graphite-bluetooth-sku-sm-l340nzkaxaa/" target="_blank" rel="nofollow" data-dimension112="ade90f98-9cd1-11f1-a314-f7a6b93fb3ee" data-action="Deal Block" data-label="Galaxy Watch 9" data-dimension48="Galaxy Watch 9" data-dimension25="£379.99">View Deal</a></p></div><h3 class="article-body__section" id="section-like-1-aesthetics"><span>Like 1: Aesthetics</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:5322px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="ryz4WsgNuzbFG2wC9R8VKk" name="GalaxyWatch9-03" alt="Close-up of the Samsung Galaxy Watch 9 in white" src="https://cdn.mos.cms.futurecdn.net/ryz4WsgNuzbFG2wC9R8VKk-1920-80.jpg" mos="" align="middle" fullscreen="" width="5322" height="2994" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Retailing at $379 for 40mm (no LTE, which is $50 extra) or $409 for 44mm (no LTE) compared to $349 for the Galaxy Watch 8, the 9 is no doubt a good-looking smartwatch-fitness tracker with a premium price tag. </p><p>I like how easy it is to set up and pair with the <a href="https://www.tomsguide.com/phones/samsung-phones/ive-spent-more-than-three-weeks-using-the-galaxy-z-flip-8-and-its-a-tipping-point-for-samsung">Samsung Galaxy Z Flip 8</a>, and the sleek sports strap and screen design are right up my alley; I don't like having garish fitness trackers or fussy smartwatches on my wrist, especially when lifting weights. 40mm is available in Cream or Graphite; 44mm comes in Graphite or Silver.</p><div class="instagram-embed"><blockquote class="instagram-media"  data-instgrm-version="6" style="width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);"><p><a href="https://www.instagram.com/p/DbK_qq0gAGV/" target="_blank">A post shared by Tom's Guide Fitness (@tomsguidefitness)</a></p><p>A photo posted by </p></blockquote></div><p>We'll get on to size (one of my dislikes) below, but in terms of design, you get pretty much the same aesthetics, screen brightness and size options as the 8. However, the 9 boasts a faster processor and up to 20% better battery life. You can also customize your sports bands with various color options, too.</p><p>I highly recommend leaving the always-on option enabled so you can glance during workouts. I didn't do this at first and it caused me some very high cortisol levels and extra faff.</p><p>But let's focus on the real MVP: new health and fitness tracking tools. </p><div class="instagram-embed"><blockquote class="instagram-media"  data-instgrm-version="6" style="width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);"><p><a href="https://www.instagram.com/p/DcN39S0IeBU/" target="_blank">A post shared by Tom's Guide Fitness (@tomsguidefitness)</a></p><p>A photo posted by </p></blockquote></div><h3 class="article-body__section" id="section-like-2-swipeable-health-features-upgraded"><span>Like 2: Swipeable health features upgraded</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:4996px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="qkNNwr3UPRR6b8yK94DdDk" name="GalaxyWatch9-01" alt="Close-up of the Samsung Galaxy Watch 9 on a user's wrist against a blue background" src="https://cdn.mos.cms.futurecdn.net/qkNNwr3UPRR6b8yK94DdDk-1920-80.jpg" mos="" align="middle" fullscreen="" width="4996" height="2810" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Dan Bracaglia/Tom's Guide)</span></figcaption></figure><p>Samsung Health offers a wealth of fitness and health tracking and insights, without locking it all behind a paywall. There are plenty of sports and activities to choose from, and an array of sensors means you can pick up pretty detailed data.</p><p>Some of the latest upgrades include a <strong>Vitals dashboard </strong>with metrics for heart rate, HRV, sp02, body temperature, breathing, and <strong>Heart Health Score.</strong> Alongside this, you get fitness features such as <strong>Cardio Load</strong> and <strong>Fitness Index</strong> (a score out of 100 based on activity levels, VO2 max, recovery time and more).</p><p>The idea is to be preventative, which means more of a holistic focus on wellbeing and useful insights. The Vitals dashboard features one easy-to-view panel with information on heart rate, blood pressure and ECG. It's handy to swipe left and right to catch a quick glance while on the go. You can also swipe to use quick features such as <strong>Running Coach, Body Composition and Sleep. </strong></p><p>By swiping twice to my left, I could quickly access the <strong>Fitness</strong> section, where I could select from a list of activities or add my own via my Samsung Galaxy phone or on the watch itself. You can set up your watch to suit your preferences, but note that you'll need to sleep with it on to access some of the longer-term trends and vitals, particularly sleep, of course.</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="o3hRCLxa7rk5VKMhfRf2Wa" name="samsung galaxy watch vs coros 2" alt="Samsung Galaxy Watch 9 on user wrist during treadmill workout" src="https://cdn.mos.cms.futurecdn.net/o3hRCLxa7rk5VKMhfRf2Wa-1920-80.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>I’ve worn the<a href="https://www.tomsguide.com/wellness/smartwatches/coros-pace-4-review"> Coros Pace 4 </a>alongside the Samsung Galaxy Watch 9 on several occasions. Not because it's a totally fair comparison, but if I'm exploring what I like and don't like about a watch during exercise, I'm doing it with my favorite one on my wrist, too. </p><p>The Coros Pace 4 has proved reliable for workouts for me and my colleague <a href="https://www.tomsguide.com/author/nick-harris-fry">Nick Harris-Fry</a>, who runs regularly wearing it alongside other wearables because of dual-band GPS tracking and top sports features.</p><p>Throughout testing, the Galaxy Watch 9 has been fairly consistent with my trusty Coros Pace 4, though the Watch 9 tends to track more time spent in heart rate zones 1, 2, and 3 during my running efforts than the Pace 4. The Watch 9 also tends to overestimate calorie burn, but I don't pay too much attention to <a href="https://www.tomsguide.com/wellness/workouts/we-asked-toms-guide-readers-which-fitness-tracking-metrics-do-you-trust-the-least-heres-the-surprising-answer">calorie burn on fitness trackers</a> anyway, as so many variables impact how many active calories you can burn.</p><p>That aside, distances and paces have been around the same, and the Galaxy Watch 9 is intuitive at picking up workouts through auto-detection. And it's useful to remember that the Pace 4 is a sports watch, after all, not a smart one, so those who are most likely to purchase this smartwatch-come-fitness tracker will be looking at a lot more than just workouts.</p><h3 class="article-body__section" id="section-like-3-auto-activity-detection"><span>Like 3: Auto activity detection</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:1440px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Um6SwSAjctWztR46p2WpVa" name="samsung galaxy v coros" alt="Samsung Galaxy Watch 9 on user wrist during treadmill workout" src="https://cdn.mos.cms.futurecdn.net/Um6SwSAjctWztR46p2WpVa-1920-80.jpg" mos="" align="middle" fullscreen="" width="1440" height="810" 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>The Samsung Galaxy Watch 9 can automatically track exercises, including walking, running, cycling, swimming, rowing, and elliptical, using its BioActive Sensor and accelerometer. That means you don't need to rely on manually starting some activities, which I found really handy.</p><p>The watch automatically picked up when I walked and paused when it detected I was stationary. I found this to be pretty accurate for time and distance, and it's good to know that this data feeds into my overall activity levels, trends and insights. I'd like this feature to roll out across more activities, but it's great that the basics are there.</p><p>I could view duration, pace, distance and time of day at a glance, and I found the watch particularly good for tracking running data. That said, if you take your running seriously, you'd be looking more at the <a href="https://www.tomsguide.com/wellness/smartwatches/i-tested-19-running-watches-in-2025-these-are-the-2-that-id-actually-buy">best running watch</a> anyway. </p><h3 class="article-body__section" id="section-dislike-1-hard-to-use-on-the-go"><span>Dislike 1: Hard to use on the go</span></h3><p>I recently became emotionally dependent on my Coros Pace 4 sports watch, which is easy to wear, tight-fitting, rugged, very easy to use on the go and tracks everything I need during exercise. It also has excellent battery life without overwhelming me. </p><p>While this is not a head-to-head comparison, using both watches has given me a strong sense of what works and doesn't work for me personally during exercise.</p><p>I've worn both watches for yoga, Pilates, strength training and running, and I find the Galaxy Watch 9 "faffy" to use. The screen is extremely sensitive (but yes, it is fast), and I find it hard to navigate the tiles and swipe left-to-right quickly while running and walking.</p><p>I'm a button girlie, and while the swipeable screen is handy, I will always prefer navigating settings primarily with buttons. There are two on the watch on the right side, but I couldn't use them as much as I wanted to.</p><p>I'm also not a fan of overcomplicated screens and having to swipe this way and that to see a handful of the metrics I find most important. I recommend spending some time setting up your Galaxy Watch 9 by configuring the layout and features you need most, plus choosing a clean watch face via the Galaxy Wearable app, if you're a bit like me with tech overwhelm.</p><p>You'll also need to go into the Samsung Health app to enable various health and fitness tracking features, which aren't automatically set up; be warned, there are many, and it takes a little time. </p><h3 class="article-body__section" id="section-dislike-2-sizing"><span>Dislike 2: Sizing</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:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="eFPf6iF8xmwkUeBk8Z7uTa" name="samsung galaxy watch vs coros 3" alt="Samsung Galaxy Watch 9 on user wrist during treadmill workout" src="https://cdn.mos.cms.futurecdn.net/eFPf6iF8xmwkUeBk8Z7uTa-1920-80.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>As a female with small wrists, I have this issue with sports and smartwatches all the time. It's one of the areas where my colleague Jane McGuire says<a href="https://www.tomsguide.com/wellness/fitness-trackers/ive-been-writing-about-fitness-trackers-for-a-decade-10-years-later-they-are-still-falling-short-for-women"> fitness trackers still fall short for women.  </a></p><p>I don't need bulk on my wrists when I lift weights or run; it is distracting and creates more weight and fuss when I'm trying to position weights along my forearms for exercises like front rack squats or cleans.  </p><p>For me, the Galaxy Watch 9 feels heavy, even with the aluminum casing, which is supposed to help make the watch lightweight. I was given a M/L wrist strap, so I highly recommend picking a S/M strap if you have small wrists like mine, as the watch slid around even on the tightest strap setting.</p><p>For those who get sweaty during workouts, I'd also consider the fabric band instead of the sports band that came with my watch.</p><p>While I do like how the watch looks and I enjoy the understated design, I'm not a fan of the sizing overall, even for the smaller 40mm model. I still think brands need to think more about their female customers when designing smartwatches and sports watches in general.</p><p>For that reason, I wouldn't want to wear this watch to bed. But that said, I generally don't like having anything on my wrist at night and rely on my <a href="https://www.tomsguide.com/wellness/smart-rings/ive-worn-the-oura-ring-5-for-six-weeks-here-are-3-things-i-love-and-2-things-i-wish-i-could-change">Oura Ring 5</a> to track sleep instead. If this is a problem for you, note that some features rely on you sleeping in your watch.</p><h3 class="article-body__section" id="section-dislike-3-battery-life"><span>Dislike 3: Battery life</span></h3><p>Both the 40mm and 44mm Samsung Galaxy Watch 9 models feature modest battery capacity increases. For the smaller model, that's a jump from 325 mAh for the Galaxy Watch 8 to 390 mAh for the Galaxy Watch 9. For the bigger model, the capacity has increased from 435 mAh on the Galaxy Watch 8 to 445 mAh for the Galaxy Watch 9.</p><p>This, coupled with up to 15% more efficient processing,<em> should </em>mean that the Galaxy Watch 9 lasts longer than the average of roughly 30 hours per charge (for the 8) with the always-on enabled.</p><p>I'd say I'm very active, and mine has lasted roughly 24 hours on a charge. Compare that with watches like the <a href="https://www.tomsguide.com/wellness/smartwatches/i-just-tried-the-new-google-pixel-watch-5-and-its-new-health-and-safety-features-blow-the-apple-watch-out-of-the-water">Pixel Watch 5,</a> which should last around two days, and the <a href="https://www.tomsguide.com/wellness/smartwatches/coros-pace-4-review">Coros Pace 4</a>, which I usually wear and can last me about a week, and the battery life could be better. </p><p>I'm a little disappointed, as battery life is one of the features most celebrated with the Galaxy Watch 9. if I were taking it away on a trip, I'd need to charge it every day, though it does charge quickly when you do juice it up.</p><h2 id="verdict-2">Verdict</h2><p>For me, the Samsung Galaxy Watch 9 looks great, is fast, offers a wealth of health and fitness features and pretty accurate tracking across the activities I tested, but would I switch out other trusty watches in favor of it for exercise alone? No, I wouldn't. </p><p>That said, I will be spending some more time wearing it, and I plan to update you here with more long-term feedback. </p><h3 class="article-body__section" id="section-more-from-tom-s-guide"><span>More from Tom's Guide</span></h3><ul><li><strong></strong><a href="https://www.tomsguide.com/wellness/smartwatches/google-exclusive-how-the-pixel-watch-3-got-a-life-saving-feature-the-apple-watch-cant-match"><strong>Exclusive: Garmin Cirqa PM says ‘it just felt like we had all of the pieces in place’ to launch a screen-free fitness tracker</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/fitness/an-iphone-moment-for-your-eyes-why-xpanceo-is-betting-big-on-smart-contact-lenses-as-the-future-of-ar"><strong>An ‘iPhone moment’ for your eyes — why Xpanceo is betting big on smart contact lenses as the future of AR</strong></a><strong></strong></li><li><strong></strong><a href="https://www.tomsguide.com/wellness/fitness-trackers/exclusive-google-design-director-says-fitbit-air-reception-proves-they-made-the-right-decision-going-screen-free"><strong>Exclusive: Google design director says Fitbit Air reception proves they 'made the right decision' going screen-free</strong></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tested the Clicks Power Keyboard against my touchscreen — the results ruined my BlackBerry nostalgia ]]></title>
                                                                                                <dc:content><![CDATA[ <p>For those of us who came of age firing off emails on a BlackBerry, the tactile click-clack of physical buttons is the holy grail of mobile productivity. So, when Clicks released the Power Keyboard — a MagSafe-compatible slide-out QWERTY keyboard — I was instantly on board. </p><p>I slapped it onto the back of my phone for a week, ready to watch my words-per-minute (WPM) soar. And then…I actually ran a typing speed test to find out that I am significantly faster on a flat pane of glass than I am on a keyboard. </p><p>Turns out that strapping a chunky $99 plastic brick to my phone didn’t magically resurrect my 2010 typing skills; it just ruins the modern ergonomics of your phone. But while I do have plenty of problems to talk about on the Power Keyboard, there are some small saving graces here.</p><p>This accessory is a bit problematic, from its tiny battery for charging your phone to the hinge feeling all kinds of loose. But for the very particular niche I fall into, I couldn’t help but develop a bit of a soft spot for it.</p><div class="product"><a data-dimension112="6c063c12-9a61-11f1-a313-31254cb8cdef" data-action="Deal Block" data-label="Power Keyboard" data-dimension48="Power Keyboard" data-dimension25="$99" href="https://www.clicks.tech/products/powerkeyboard" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1080px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="mdS8bjifM9Wp6iXDFhXLUh" name="Clicks Power Keyboard" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/mdS8bjifM9Wp6iXDFhXLUh-1920-80.jpg" mos="" align="middle" fullscreen="" width="1080" height="1080" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Love the idea of the Clicks keyboard but want it to be more detachable than sticking a whole case on your phone? The Power Keyboard is a MagSafe-attached board that slides out from behind your phone. It packs a 2,300mAh power bank inside, is compatible with Qi2 as well, and works with existing cases.<a class="view-deal button" href="https://www.clicks.tech/products/powerkeyboard" target="_blank" rel="nofollow" data-dimension112="6c063c12-9a61-11f1-a313-31254cb8cdef" data-action="Deal Block" data-label="Power Keyboard" data-dimension48="Power Keyboard" data-dimension25="$99">View Deal</a></p></div><h2 id="the-typing-test-reality-check">The typing test reality check</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="DfaercqrPdevg2xHasfHXK" name="Clicks Power Keyboard" alt="Clicks Power Keyboard" src="https://cdn.mos.cms.futurecdn.net/DfaercqrPdevg2xHasfHXK-1920-80.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>Let me get straight into the typing experience. The keys themselves are objectively well-made, and a good omen for the upcoming Clicks Communicator. They’re ergonomically well shaped with just the right amount of travel and an oh-so satisfying click. Sliding it out to get going took me back to my Palm Pre days!</p><p>But when I put the Clicks Power Keyboard head-to-head against my on-screen keyboard, the glass screen won effortlessly.</p><div ><table><thead><tr><th class="firstcol " ><p>Typing method</p></th><th  ><p>Typing speed (words per minute)</p></th><th  ><p>Typing accuracy (%)</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>iPhone 15 Pro touchscreen keyboard</strong></p></td><td  ><p>53 WPM</p></td><td  ><p>81%</p></td></tr><tr><td class="firstcol " ><p><strong>Clicks Power Keyboard</strong></p></td><td  ><p>30 WPM</p></td><td  ><p>62%</p></td></tr></tbody></table></div><p>Why? Well probably the most obvious reason here is time invested in these devices. I may have spent years with Blackberrys and my Pre in the past, but the last decade and a half has been nothing but capacitive touchscreens. But it’s more than that.</p><p>Our thumbs have been trained to glide across screens, relying heavily on aggressive autocorrect and predictive text algorithms. Moving back to physical, separated keys requires deliberate, forceful presses. You have to actively hunt for punctuation on that backlit keyboard and travel between letters. </p><p>It feels more intentional and satisfying for sure, but the raw numbers don’t lie: my thumb-typing muscle memory has moved on.</p><h2 id="an-ergonomic-nightmare">An ergonomic nightmare</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="dSSpiqkmw3KGhDuuT7vAWK" name="Clicks Power Keyboard" alt="Clicks Power Keyboard" src="https://cdn.mos.cms.futurecdn.net/dSSpiqkmw3KGhDuuT7vAWK-1920-80.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>But trust me when I say you have to suffer for that satisfying feeling. Modern pro smartphones are already pretty chunky, and the Clicks adds another 15.2mm of junk in the trunk.</p><p>With that bulk comes the weight distribution. Because the keyboard slides down from the bottom, typing makes your phone severely top-heavy. I constantly felt like it was going to somersault backward out of my hands.</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="sXoLfuSneZzMaxT8mxV44K" name="Clicks Power Keyboard" alt="Clicks Power Keyboard" src="https://cdn.mos.cms.futurecdn.net/sXoLfuSneZzMaxT8mxV44K-1920-80.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>Combine that awkward balancing act with a cheap-feeling plastic back and a slide-out hinge that feels almost distressingly loose, and the overall build quality doesn’t feel like it hits the mark for an accessory that costs over a hundred bucks.</p><h2 id="the-saving-grace">The saving grace</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="ufz6roXbpKKRBTjZxMdFEK" name="Clicks Power Keyboard" alt="Clicks Power Keyboard" src="https://cdn.mos.cms.futurecdn.net/ufz6roXbpKKRBTjZxMdFEK-1920-80.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>There is one superpower that did save it a little for me, and it’s not the power bank element. A 2,300 mAh battery with slow 5W Qi wireless charging is basically life support for a dying phone, not a true battery pack.</p><p>No, it’s actually the fact that this isn’t <em>just </em>about the phone. With Bluetooth 5.4 and multi-point support for up to nine devices, this became quite the phenomenal universal remote to all my devices.</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="TttoiKEHCNCcnXYW6hBJWK" name="Clicks Power Keyboard" alt="Clicks Power Keyboard" src="https://cdn.mos.cms.futurecdn.net/TttoiKEHCNCcnXYW6hBJWK-1920-80.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>I found myself hot-swapping the bluetooth connection over to my smart TV to bypass the abysmal on-screen keyboard, and then switching over to my PS5 to fire off a quick message in the team chat. It’s real versatility that made this fit real nicely into my multi-device home.</p><p>Reclaiming my phone screen space is nice, but using this as a tactile hub for your living room is where the real magic happens.</p><h2 id="not-for-everyone">Not for everyone</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="S3sE9BVJFVRcwLooZ9bqVK" name="Clicks Power Keyboard" alt="Clicks Power Keyboard" src="https://cdn.mos.cms.futurecdn.net/S3sE9BVJFVRcwLooZ9bqVK-1920-80.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 this left me confused. The Clicks Power Keyboard is a fascinating, flawed experiment in nostalgia. It proved to me that while I miss the feeling of physical keys, I certainly don’t miss the speed. </p><p>If you’re in my niche of wanting a pocketable Bluetooth keyboard to hot-swap between your TV and console, it is undeniably useful. Also, shout-out to using it with Samsung Dex and my <a href="https://www.tomsguide.com/computing/smart-glasses/viture-pro-2-xr-glasses-review">Viture Pro 2</a> glasses. The touchscreen of my <a href="https://www.tomsguide.com/phones/samsung-phones/ive-been-living-with-the-galaxy-z-fold-8-for-3-weeks-and-i-was-wrong">Galaxy Z Fold 8</a> becomes a nice touchpad complemented by the physical keys.</p><p>But as just a daily driver for your phone, you’ve got to be committed to the throwback feels. You have to be willing to sacrifice your typing speed, your premium aesthetics and your ergonomic comfort. Will you?</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/phones/iphones/honor-robot-phone-vs-iphone-17-pro-max">I put Honor's crazy Robot Phone up against the iPhone 17 Pro Max — I'm both impressed and confused</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/the-tech-world-hyped-up-the-galaxy-z-fold-8s-crease-free-display-heres-a-reality-check-after-7-days">The tech world hyped up the Galaxy Z Fold 8's 'crease-free' display — here's a reality check after 7 days</a></li><li><a href="https://www.tomsguide.com/phones/i-just-tried-the-thinnest-phone-grip-popsockets-has-created-and-now-theres-no-reason-to-not-get-a-grip-for-your-phone">I just tried the thinnest phone grip Popsockets has created — and now there's no reason to not get a grip for your phone</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/i-tested-the-clicks-power-keyboard-against-my-touchscreen-the-results-ruined-my-blackberry-nostalgia</link>
                                                                            <description>
                            <![CDATA[ I tested the MagSafe Clicks Power Keyboard against my smartphone touchscreen. Here is why physical keys, bulky ergonomics, and nostalgia don't mix. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">RsvcG4cRvj6kcJaQiewX4n</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/UWnmZj9A6pN8c3vGz27HWK-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 18 Aug 2026 08:30:00 +0000</pubDate>                                                                                                                                <updated>Tue, 18 Aug 2026 11:12:55 +0000</updated>
                                                                                                                                            <category><![CDATA[Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&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/UWnmZj9A6pN8c3vGz27HWK-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Clicks Power Keyboard]]></media:description>                                                            <media:text><![CDATA[Clicks Power Keyboard]]></media:text>
                                <media:title type="plain"><![CDATA[Clicks Power Keyboard]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/UWnmZj9A6pN8c3vGz27HWK-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>For those of us who came of age firing off emails on a BlackBerry, the tactile click-clack of physical buttons is the holy grail of mobile productivity. So, when Clicks released the Power Keyboard — a MagSafe-compatible slide-out QWERTY keyboard — I was instantly on board. </p><p>I slapped it onto the back of my phone for a week, ready to watch my words-per-minute (WPM) soar. And then…I actually ran a typing speed test to find out that I am significantly faster on a flat pane of glass than I am on a keyboard. </p><p>Turns out that strapping a chunky $99 plastic brick to my phone didn’t magically resurrect my 2010 typing skills; it just ruins the modern ergonomics of your phone. But while I do have plenty of problems to talk about on the Power Keyboard, there are some small saving graces here.</p><p>This accessory is a bit problematic, from its tiny battery for charging your phone to the hinge feeling all kinds of loose. But for the very particular niche I fall into, I couldn’t help but develop a bit of a soft spot for it.</p><div class="product"><a data-dimension112="6c063c12-9a61-11f1-a313-31254cb8cdef" data-action="Deal Block" data-label="Power Keyboard" data-dimension48="Power Keyboard" data-dimension25="$99" href="https://www.clicks.tech/products/powerkeyboard" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1080px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="mdS8bjifM9Wp6iXDFhXLUh" name="Clicks Power Keyboard" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/mdS8bjifM9Wp6iXDFhXLUh-1920-80.jpg" mos="" align="middle" fullscreen="" width="1080" height="1080" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>Love the idea of the Clicks keyboard but want it to be more detachable than sticking a whole case on your phone? The Power Keyboard is a MagSafe-attached board that slides out from behind your phone. It packs a 2,300mAh power bank inside, is compatible with Qi2 as well, and works with existing cases.<a class="view-deal button" href="https://www.clicks.tech/products/powerkeyboard" target="_blank" rel="nofollow" data-dimension112="6c063c12-9a61-11f1-a313-31254cb8cdef" data-action="Deal Block" data-label="Power Keyboard" data-dimension48="Power Keyboard" data-dimension25="$99">View Deal</a></p></div><h2 id="the-typing-test-reality-check">The typing test reality check</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="DfaercqrPdevg2xHasfHXK" name="Clicks Power Keyboard" alt="Clicks Power Keyboard" src="https://cdn.mos.cms.futurecdn.net/DfaercqrPdevg2xHasfHXK-1920-80.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>Let me get straight into the typing experience. The keys themselves are objectively well-made, and a good omen for the upcoming Clicks Communicator. They’re ergonomically well shaped with just the right amount of travel and an oh-so satisfying click. Sliding it out to get going took me back to my Palm Pre days!</p><p>But when I put the Clicks Power Keyboard head-to-head against my on-screen keyboard, the glass screen won effortlessly.</p><div ><table><thead><tr><th class="firstcol " ><p>Typing method</p></th><th  ><p>Typing speed (words per minute)</p></th><th  ><p>Typing accuracy (%)</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>iPhone 15 Pro touchscreen keyboard</strong></p></td><td  ><p>53 WPM</p></td><td  ><p>81%</p></td></tr><tr><td class="firstcol " ><p><strong>Clicks Power Keyboard</strong></p></td><td  ><p>30 WPM</p></td><td  ><p>62%</p></td></tr></tbody></table></div><p>Why? Well probably the most obvious reason here is time invested in these devices. I may have spent years with Blackberrys and my Pre in the past, but the last decade and a half has been nothing but capacitive touchscreens. But it’s more than that.</p><p>Our thumbs have been trained to glide across screens, relying heavily on aggressive autocorrect and predictive text algorithms. Moving back to physical, separated keys requires deliberate, forceful presses. You have to actively hunt for punctuation on that backlit keyboard and travel between letters. </p><p>It feels more intentional and satisfying for sure, but the raw numbers don’t lie: my thumb-typing muscle memory has moved on.</p><h2 id="an-ergonomic-nightmare">An ergonomic nightmare</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="dSSpiqkmw3KGhDuuT7vAWK" name="Clicks Power Keyboard" alt="Clicks Power Keyboard" src="https://cdn.mos.cms.futurecdn.net/dSSpiqkmw3KGhDuuT7vAWK-1920-80.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>But trust me when I say you have to suffer for that satisfying feeling. Modern pro smartphones are already pretty chunky, and the Clicks adds another 15.2mm of junk in the trunk.</p><p>With that bulk comes the weight distribution. Because the keyboard slides down from the bottom, typing makes your phone severely top-heavy. I constantly felt like it was going to somersault backward out of my hands.</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="sXoLfuSneZzMaxT8mxV44K" name="Clicks Power Keyboard" alt="Clicks Power Keyboard" src="https://cdn.mos.cms.futurecdn.net/sXoLfuSneZzMaxT8mxV44K-1920-80.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>Combine that awkward balancing act with a cheap-feeling plastic back and a slide-out hinge that feels almost distressingly loose, and the overall build quality doesn’t feel like it hits the mark for an accessory that costs over a hundred bucks.</p><h2 id="the-saving-grace">The saving grace</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="ufz6roXbpKKRBTjZxMdFEK" name="Clicks Power Keyboard" alt="Clicks Power Keyboard" src="https://cdn.mos.cms.futurecdn.net/ufz6roXbpKKRBTjZxMdFEK-1920-80.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>There is one superpower that did save it a little for me, and it’s not the power bank element. A 2,300 mAh battery with slow 5W Qi wireless charging is basically life support for a dying phone, not a true battery pack.</p><p>No, it’s actually the fact that this isn’t <em>just </em>about the phone. With Bluetooth 5.4 and multi-point support for up to nine devices, this became quite the phenomenal universal remote to all my devices.</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="TttoiKEHCNCcnXYW6hBJWK" name="Clicks Power Keyboard" alt="Clicks Power Keyboard" src="https://cdn.mos.cms.futurecdn.net/TttoiKEHCNCcnXYW6hBJWK-1920-80.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>I found myself hot-swapping the bluetooth connection over to my smart TV to bypass the abysmal on-screen keyboard, and then switching over to my PS5 to fire off a quick message in the team chat. It’s real versatility that made this fit real nicely into my multi-device home.</p><p>Reclaiming my phone screen space is nice, but using this as a tactile hub for your living room is where the real magic happens.</p><h2 id="not-for-everyone">Not for everyone</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="S3sE9BVJFVRcwLooZ9bqVK" name="Clicks Power Keyboard" alt="Clicks Power Keyboard" src="https://cdn.mos.cms.futurecdn.net/S3sE9BVJFVRcwLooZ9bqVK-1920-80.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 this left me confused. The Clicks Power Keyboard is a fascinating, flawed experiment in nostalgia. It proved to me that while I miss the feeling of physical keys, I certainly don’t miss the speed. </p><p>If you’re in my niche of wanting a pocketable Bluetooth keyboard to hot-swap between your TV and console, it is undeniably useful. Also, shout-out to using it with Samsung Dex and my <a href="https://www.tomsguide.com/computing/smart-glasses/viture-pro-2-xr-glasses-review">Viture Pro 2</a> glasses. The touchscreen of my <a href="https://www.tomsguide.com/phones/samsung-phones/ive-been-living-with-the-galaxy-z-fold-8-for-3-weeks-and-i-was-wrong">Galaxy Z Fold 8</a> becomes a nice touchpad complemented by the physical keys.</p><p>But as just a daily driver for your phone, you’ve got to be committed to the throwback feels. You have to be willing to sacrifice your typing speed, your premium aesthetics and your ergonomic comfort. Will you?</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/phones/iphones/honor-robot-phone-vs-iphone-17-pro-max">I put Honor's crazy Robot Phone up against the iPhone 17 Pro Max — I'm both impressed and confused</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/the-tech-world-hyped-up-the-galaxy-z-fold-8s-crease-free-display-heres-a-reality-check-after-7-days">The tech world hyped up the Galaxy Z Fold 8's 'crease-free' display — here's a reality check after 7 days</a></li><li><a href="https://www.tomsguide.com/phones/i-just-tried-the-thinnest-phone-grip-popsockets-has-created-and-now-theres-no-reason-to-not-get-a-grip-for-your-phone">I just tried the thinnest phone grip Popsockets has created — and now there's no reason to not get a grip for your phone</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I just tried this privacy-focused version of Android for Pixel phones — and I'm very impressed ]]></title>
                                                                                                <dc:content><![CDATA[ <p>If you've been paying attention to the news, you've probably heard about <a href="https://www.tomsguide.com/features/i-tried-de-googled-android-again-heres-how-that-went">GrapheneOS</a>. The Android-based mobile OS hit the news a few weeks back over a dispute at the U.S. border, in which a traveller is <a href="https://www.theguardian.com/us-news/2026/jul/23/cop-city-protester-phone" target="_blank">alleged</a> to have wiped their GrapheneOS-powered phone using a "duress" password — and now faces charges of destroying evidence.</p><p>You may have heard about GrapheneOS but never gave it much thought for one reason or another. I know that was the case with me, and while I knew it was based on Android I hadn't ever done much digging into exactly how it differed from the Google-provided Android experience. </p><p>But this news got me curious, and I realized that it was about time I got to grips with what Graphene actually has to offer.</p><h2 id="what-is-grapheneos">What is GrapheneOS?</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:3304px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="bxXU699NHbMwCDf8wusrYT" name="Graphine OS 2" alt="GrapheneOS shown on a Pixel 9 Pro" src="https://cdn.mos.cms.futurecdn.net/bxXU699NHbMwCDf8wusrYT-1920-80.jpg" mos="" align="middle" fullscreen="" width="3304" height="1858" 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><strong></strong><a href="https://grapheneos.org/" target="_blank" rel="nofollow"><strong>GrapheneOS</strong></a><strong> is an open source mobile operating system that emphasizes both security and privacy. </strong>It's completely free to install, and the project is supported by donations.</p><p>The software is built with the Android Open Source Project, and is focused on one of the biggest issues many people have with Google's mobile OS — the fact that it's severely lacking when it comes to protecting user privacy.</p><p>GrapheneOS also strips out most Google systems and bloatware, which means you won't set up your phone and find that it's filled with a bunch of apps that you can't remove. The software also features a bunch of dedicated privacy features that you won't find on most Android phones.</p><h2 id="grapheneos-device-support-which-phones-does-it-work-with">GrapheneOS device support: Which phones does it work with?</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:3267px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="33F6Y3eo7XiYSDEg5va2YT" name="Graphine OS 3" alt="GrapheneOS shown on a Pixel 9 Pro" src="https://cdn.mos.cms.futurecdn.net/33F6Y3eo7XiYSDEg5va2YT-1920-80.jpg" mos="" align="middle" fullscreen="" width="3267" height="1838" 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>GrapheneOS is currently only officially compatible with Pixel phones, with the site listing all Google-made phones up to (and including) the <a href="https://www.tomsguide.com/reviews/google-pixel-6">Google Pixel 6</a> and <a href="https://www.tomsguide.com/reviews/google-pixel-6-pro">6 Pro</a>. The <a href="https://www.tomsguide.com/reviews/google-pixel-tablet">Pixel Tablet</a> is also supported.</p><p>The software's official support pages confirm that other devices do support GrapheneOS "at a source level," but without official support it means that more work is needed to actually install the software — which makes everything a lot more complicated.</p><p>Earlier this year Motorola <a href="https://motorolanews.com/motorola-three-new-b2b-solutions-at-mwc-2026/" target="_blank">confirmed</a> it had partnered with GrapheneOS, with the aim to "strengthen smartphone security and collaborate on future devices engineered with GrapheneOS compatibility. " In other words, future Motorola devices will eventually support GrapheneOS as well. But we don't know which devices will offer it, or when they will be released.</p><h2 id="how-do-you-actually-install-it">How do you actually install 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:3292px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="yFWXb3uNikfB4NBm6wnTWT" name="Graphine OS 4" alt="GrapheneOS shown on a Pixel 9 Pro" src="https://cdn.mos.cms.futurecdn.net/yFWXb3uNikfB4NBm6wnTWT-1920-80.jpg" mos="" align="middle" fullscreen="" width="3292" height="1852" 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've never really been one for tinkering with software, and it's never really been something that interested me. I did try my hand at rooting one of my Android phones about ten years ago, to see what I might be missing out on, but never made much progress. </p><div><blockquote><p>All the hard work is done by GrapheneOS's Web Installer, which makes the process more or less idiotproof. Best of all, you don't even need to root your phone.</p></blockquote></div><p>The phones I had at the time came from companies that weren't very big on letting people mess with their phones' software, and trying to root them proved to be a task worthy of Sisyphus himself. Obviously, being the quitter that I am, I gave up and never bothered to try that sort of thing ever again.</p><p>That's partly why I never gave GrapheneOS a second thought. I wasn't sure what to expect when I finally decided to try and install it on one of my older phones.</p><p>GrapheneOS has a full guide on how to install the software on a compatible phone, and at first glance looks a little intimidating. It has its own table of contents, and that's never something you want to see when you don't really know what you're doing. Fortunately, the whole process is actually pretty simple, and based on my experience it's quite difficult to screw up.</p><p>I'll admit that I did screw up a couple of times because I wasn't reading the instructions carefully, and the worst thing that happened was that I had to wait for my phone to restart — at which point I ended up exactly where I left off. </p><p>All the actual hard work is done by GrapheneOS's <a href="https://grapheneos.org/install/web" target="_blank">Web Installer</a>, which makes the process more or less idiotproof. Best of all, you don't even need to root your phone.</p><p>Reverting back is proving to be a little trickier for me, simply because I couldn't get GrapheneOS's web installer to recognize that my phone is available and needs its bootloader unlocked. That's going to require some troubleshooting on my end.</p><h2 id="what-is-grapheneos-actually-like">What is GrapheneOS actually like?</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:3567px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="Kw8QBBMp7uahQMTtPuNZZT" name="Graphine OS 5" alt="GrapheneOS shown on a Pixel 9 Pro" src="https://cdn.mos.cms.futurecdn.net/Kw8QBBMp7uahQMTtPuNZZT-1920-80.jpg" mos="" align="middle" fullscreen="" width="3567" height="2006" 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 first thing I noticed about GrapheneOS is just how sparse the software selection actually is from a design point of view. This is a version of Android software that is effectively free of all Google influence, and that means the number of pre-installed apps is at its bare minimum.</p><p>After years of using smartphones running Android and iOS, this is actually quite refreshing. It's like finding yourself in a quiet, minimally-furnished room after walking off a crowded city street. The lower emphasis on Google products also makes the setup process a lot smoother, since you don't have to link to Google accounts or deal with setting up features like Gemini.</p><p>It's a similar story with the built-in App Store. Since there are no Google apps pre-installed, this is the place that lets you install certain Android features like Android Auto, the Thermometer app (if you have a compatible Pixel) and other app stores — including Google Play. There are only 14 apps available, and anything else you need has to be acquired from a different source.</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:3750px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="AvPBSzVsG3ZQcoAmjiQ8aT" name="Graphine OS 6" alt="GrapheneOS shown on a Pixel 9 Pro" src="https://cdn.mos.cms.futurecdn.net/AvPBSzVsG3ZQcoAmjiQ8aT-1920-80.jpg" mos="" align="middle" fullscreen="" width="3750" height="2109" 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 distinct lack of color when GrapheneOS loads up for the first time is rather jarring, if I'm being totally honest. But that's a non-issue that quickly solves itself once you actually start using the phone. </p><p>If you're familiar with stock Android or Google's Pixel Launcher skin, then GrapheneOS isn't going to be that much of a surprise. The developers haven't taken many, if any, liberties with the general feel of the software. This means navigating and accessing the various settings menus is pretty simple, and doesn't require having to relearn where everything is. You can't say that for other smartphone brands.</p><p>It's not exactly the same under the hood, though, and there are some <a href="https://grapheneos.org/features" target="_blank">extra optional features</a> that are designed for security and privacy reasons. This includes the duress password, PIN scrambling, and a bunch more things I don't have room to list here. There's a lot to come to grips with, and so far I haven't actually made a huge dent.</p><p>Sadly, there is one catch I've found so far, and that's the fact my phone always warns me that I'm loading up a different operating system. It doesn't require you to confirm you want this to happen, but it is a little annoying that you don't seem to be able to switch this off.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XkwLZX"></div>                            </div>                            <script src="https://kwizly.com/embed/XkwLZX.js" async></script><h2 id="the-google-play-conundrum">The Google Play conundrum</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:4080px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kv9Z7azaLFUbA3TixFM2cT" name="Graphine OS 7" alt="GrapheneOS shown on a Pixel 9 Pro" src="https://cdn.mos.cms.futurecdn.net/kv9Z7azaLFUbA3TixFM2cT-1920-80.jpg" mos="" align="middle" fullscreen="" width="4080" height="2295" 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 may wonder what the point of having GrapheneOS is if you're just going to install Google Play? The sad thing about Android is that some apps won't work without Google Play Services installed, which means sideloading or using a third-party app store won't work. </p><div><blockquote><p>You can still enjoy access to apps that are only compatible with Google Play, but without handing over unfiltered access to the software.</p></blockquote></div><p>Banking apps are the one that caught me off guard, and it meant that I would either have to rely on browser-based banking (which is not ideal) or bite the bullet and install Google Play.</p><p>Thankfully, GrapheneOS does have a compromise, and sandboxes Google Play Services so that it doesn't have the same level of privileged access you'll see with a typical Android OS. This effectively means you can still enjoy access to apps that are only compatible with Google Play, but without handing over unfiltered access to the software.</p><p>As this thread on <a href="https://www.reddit.com/r/GrapheneOS/comments/1rxzgay/comment/obcl8p4/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button" target="_blank">Reddit</a> put it, the idea behind Graphene isn't to deGoogle. The software comes with a Chromium-based browser after all, albeit with more security-focused features than the stock Chrome app. You can deGoogle if you like, but that's not something that is forced upon you.</p><p>Sideloading is possible, since Graphene is an Android-based operating system, but it's up to you to decide which app-installation option is the right one for you.</p><h2 id="bottom-line">Bottom line</h2><p>The switch over to GrapheneOS wasn't as drastic as I expected it would be. Not only was the installation an absolute cinch, the fact it looks and feels so close to stock Android means that there isn't much of a learning curve when it comes to getting started. All you really need to do is figure out where all the extra privacy and security features are. </p><p>The switch rom Google services is certainly very appealing. While I wouldn't go completely cold turkey (I need my banking apps), the fact that Google Play is available in a sandbox means that you don't appear to be missing out on much by ditching the Pixels' particular brand of Android. It's rather like having the most important parts of the Android ecosystem, but without compromising your own personal privacy in the process.</p><p>Switching back to the Pixel's Android OS has proved a little difficult, and I'm not entirely sure where the problem lies. So for now, I recommend that anyone hoping to try GrapheneOS for themselves either knows more than I do about installing Android software, or tests it out on an older device first to make sure they like it.</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/phones/google-pixel-phones/the-pixel-11s-tensor-g6-chip-isnt-2nm-despite-the-rumors-opening-the-door-for-iphone-18-pro">The Pixel 11's Tensor G6 chip isn't 2nm despite the rumors — opening the door for iPhone 18 Pro</a></li><li><a href="https://www.tomsguide.com/phones/iphones/ios-27-brings-5-star-ratings-to-photos-here-is-how-to-use-them">iOS 27 brings 5-star ratings to Photos — here is how to use them</a></li><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/i-wanted-to-be-excited-about-the-pixel-11-but-google-has-made-that-impossible-with-the-most-uninspired-launch-ive-ever-seen">I've been using Pixel phones for the past 5 years, but the lack of Pixel 11 upgrades is indefensible</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/google-pixel-phones/i-just-tried-this-privacy-focused-version-of-android-for-pixel-phones-and-im-very-impressed</link>
                                                                            <description>
                            <![CDATA[ If you want some extra privacy on your phone, it might be worth installing GrapheneOS. It actually feels more like Android than a lot of other Android phones. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">RCNbBs9riBmkjZPMna3Yjh</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/2xpFjRFjdZTcjkT8YEZGYT-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 15 Aug 2026 09:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Google Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></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-320-70.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/2xpFjRFjdZTcjkT8YEZGYT-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[GrapheneOS shown on a Pixel 9 Pro]]></media:description>                                                            <media:text><![CDATA[GrapheneOS shown on a Pixel 9 Pro]]></media:text>
                                <media:title type="plain"><![CDATA[GrapheneOS shown on a Pixel 9 Pro]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/2xpFjRFjdZTcjkT8YEZGYT-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>If you've been paying attention to the news, you've probably heard about <a href="https://www.tomsguide.com/features/i-tried-de-googled-android-again-heres-how-that-went">GrapheneOS</a>. The Android-based mobile OS hit the news a few weeks back over a dispute at the U.S. border, in which a traveller is <a href="https://www.theguardian.com/us-news/2026/jul/23/cop-city-protester-phone" target="_blank">alleged</a> to have wiped their GrapheneOS-powered phone using a "duress" password — and now faces charges of destroying evidence.</p><p>You may have heard about GrapheneOS but never gave it much thought for one reason or another. I know that was the case with me, and while I knew it was based on Android I hadn't ever done much digging into exactly how it differed from the Google-provided Android experience. </p><p>But this news got me curious, and I realized that it was about time I got to grips with what Graphene actually has to offer.</p><h2 id="what-is-grapheneos">What is GrapheneOS?</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:3304px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="bxXU699NHbMwCDf8wusrYT" name="Graphine OS 2" alt="GrapheneOS shown on a Pixel 9 Pro" src="https://cdn.mos.cms.futurecdn.net/bxXU699NHbMwCDf8wusrYT-1920-80.jpg" mos="" align="middle" fullscreen="" width="3304" height="1858" 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><strong></strong><a href="https://grapheneos.org/" target="_blank" rel="nofollow"><strong>GrapheneOS</strong></a><strong> is an open source mobile operating system that emphasizes both security and privacy. </strong>It's completely free to install, and the project is supported by donations.</p><p>The software is built with the Android Open Source Project, and is focused on one of the biggest issues many people have with Google's mobile OS — the fact that it's severely lacking when it comes to protecting user privacy.</p><p>GrapheneOS also strips out most Google systems and bloatware, which means you won't set up your phone and find that it's filled with a bunch of apps that you can't remove. The software also features a bunch of dedicated privacy features that you won't find on most Android phones.</p><h2 id="grapheneos-device-support-which-phones-does-it-work-with">GrapheneOS device support: Which phones does it work with?</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:3267px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="33F6Y3eo7XiYSDEg5va2YT" name="Graphine OS 3" alt="GrapheneOS shown on a Pixel 9 Pro" src="https://cdn.mos.cms.futurecdn.net/33F6Y3eo7XiYSDEg5va2YT-1920-80.jpg" mos="" align="middle" fullscreen="" width="3267" height="1838" 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>GrapheneOS is currently only officially compatible with Pixel phones, with the site listing all Google-made phones up to (and including) the <a href="https://www.tomsguide.com/reviews/google-pixel-6">Google Pixel 6</a> and <a href="https://www.tomsguide.com/reviews/google-pixel-6-pro">6 Pro</a>. The <a href="https://www.tomsguide.com/reviews/google-pixel-tablet">Pixel Tablet</a> is also supported.</p><p>The software's official support pages confirm that other devices do support GrapheneOS "at a source level," but without official support it means that more work is needed to actually install the software — which makes everything a lot more complicated.</p><p>Earlier this year Motorola <a href="https://motorolanews.com/motorola-three-new-b2b-solutions-at-mwc-2026/" target="_blank">confirmed</a> it had partnered with GrapheneOS, with the aim to "strengthen smartphone security and collaborate on future devices engineered with GrapheneOS compatibility. " In other words, future Motorola devices will eventually support GrapheneOS as well. But we don't know which devices will offer it, or when they will be released.</p><h2 id="how-do-you-actually-install-it">How do you actually install 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:3292px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="yFWXb3uNikfB4NBm6wnTWT" name="Graphine OS 4" alt="GrapheneOS shown on a Pixel 9 Pro" src="https://cdn.mos.cms.futurecdn.net/yFWXb3uNikfB4NBm6wnTWT-1920-80.jpg" mos="" align="middle" fullscreen="" width="3292" height="1852" 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've never really been one for tinkering with software, and it's never really been something that interested me. I did try my hand at rooting one of my Android phones about ten years ago, to see what I might be missing out on, but never made much progress. </p><div><blockquote><p>All the hard work is done by GrapheneOS's Web Installer, which makes the process more or less idiotproof. Best of all, you don't even need to root your phone.</p></blockquote></div><p>The phones I had at the time came from companies that weren't very big on letting people mess with their phones' software, and trying to root them proved to be a task worthy of Sisyphus himself. Obviously, being the quitter that I am, I gave up and never bothered to try that sort of thing ever again.</p><p>That's partly why I never gave GrapheneOS a second thought. I wasn't sure what to expect when I finally decided to try and install it on one of my older phones.</p><p>GrapheneOS has a full guide on how to install the software on a compatible phone, and at first glance looks a little intimidating. It has its own table of contents, and that's never something you want to see when you don't really know what you're doing. Fortunately, the whole process is actually pretty simple, and based on my experience it's quite difficult to screw up.</p><p>I'll admit that I did screw up a couple of times because I wasn't reading the instructions carefully, and the worst thing that happened was that I had to wait for my phone to restart — at which point I ended up exactly where I left off. </p><p>All the actual hard work is done by GrapheneOS's <a href="https://grapheneos.org/install/web" target="_blank">Web Installer</a>, which makes the process more or less idiotproof. Best of all, you don't even need to root your phone.</p><p>Reverting back is proving to be a little trickier for me, simply because I couldn't get GrapheneOS's web installer to recognize that my phone is available and needs its bootloader unlocked. That's going to require some troubleshooting on my end.</p><h2 id="what-is-grapheneos-actually-like">What is GrapheneOS actually like?</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:3567px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="Kw8QBBMp7uahQMTtPuNZZT" name="Graphine OS 5" alt="GrapheneOS shown on a Pixel 9 Pro" src="https://cdn.mos.cms.futurecdn.net/Kw8QBBMp7uahQMTtPuNZZT-1920-80.jpg" mos="" align="middle" fullscreen="" width="3567" height="2006" 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 first thing I noticed about GrapheneOS is just how sparse the software selection actually is from a design point of view. This is a version of Android software that is effectively free of all Google influence, and that means the number of pre-installed apps is at its bare minimum.</p><p>After years of using smartphones running Android and iOS, this is actually quite refreshing. It's like finding yourself in a quiet, minimally-furnished room after walking off a crowded city street. The lower emphasis on Google products also makes the setup process a lot smoother, since you don't have to link to Google accounts or deal with setting up features like Gemini.</p><p>It's a similar story with the built-in App Store. Since there are no Google apps pre-installed, this is the place that lets you install certain Android features like Android Auto, the Thermometer app (if you have a compatible Pixel) and other app stores — including Google Play. There are only 14 apps available, and anything else you need has to be acquired from a different source.</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:3750px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="AvPBSzVsG3ZQcoAmjiQ8aT" name="Graphine OS 6" alt="GrapheneOS shown on a Pixel 9 Pro" src="https://cdn.mos.cms.futurecdn.net/AvPBSzVsG3ZQcoAmjiQ8aT-1920-80.jpg" mos="" align="middle" fullscreen="" width="3750" height="2109" 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 distinct lack of color when GrapheneOS loads up for the first time is rather jarring, if I'm being totally honest. But that's a non-issue that quickly solves itself once you actually start using the phone. </p><p>If you're familiar with stock Android or Google's Pixel Launcher skin, then GrapheneOS isn't going to be that much of a surprise. The developers haven't taken many, if any, liberties with the general feel of the software. This means navigating and accessing the various settings menus is pretty simple, and doesn't require having to relearn where everything is. You can't say that for other smartphone brands.</p><p>It's not exactly the same under the hood, though, and there are some <a href="https://grapheneos.org/features" target="_blank">extra optional features</a> that are designed for security and privacy reasons. This includes the duress password, PIN scrambling, and a bunch more things I don't have room to list here. There's a lot to come to grips with, and so far I haven't actually made a huge dent.</p><p>Sadly, there is one catch I've found so far, and that's the fact my phone always warns me that I'm loading up a different operating system. It doesn't require you to confirm you want this to happen, but it is a little annoying that you don't seem to be able to switch this off.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XkwLZX"></div>                            </div>                            <script src="https://kwizly.com/embed/XkwLZX.js" async></script><h2 id="the-google-play-conundrum">The Google Play conundrum</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:4080px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kv9Z7azaLFUbA3TixFM2cT" name="Graphine OS 7" alt="GrapheneOS shown on a Pixel 9 Pro" src="https://cdn.mos.cms.futurecdn.net/kv9Z7azaLFUbA3TixFM2cT-1920-80.jpg" mos="" align="middle" fullscreen="" width="4080" height="2295" 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 may wonder what the point of having GrapheneOS is if you're just going to install Google Play? The sad thing about Android is that some apps won't work without Google Play Services installed, which means sideloading or using a third-party app store won't work. </p><div><blockquote><p>You can still enjoy access to apps that are only compatible with Google Play, but without handing over unfiltered access to the software.</p></blockquote></div><p>Banking apps are the one that caught me off guard, and it meant that I would either have to rely on browser-based banking (which is not ideal) or bite the bullet and install Google Play.</p><p>Thankfully, GrapheneOS does have a compromise, and sandboxes Google Play Services so that it doesn't have the same level of privileged access you'll see with a typical Android OS. This effectively means you can still enjoy access to apps that are only compatible with Google Play, but without handing over unfiltered access to the software.</p><p>As this thread on <a href="https://www.reddit.com/r/GrapheneOS/comments/1rxzgay/comment/obcl8p4/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button" target="_blank">Reddit</a> put it, the idea behind Graphene isn't to deGoogle. The software comes with a Chromium-based browser after all, albeit with more security-focused features than the stock Chrome app. You can deGoogle if you like, but that's not something that is forced upon you.</p><p>Sideloading is possible, since Graphene is an Android-based operating system, but it's up to you to decide which app-installation option is the right one for you.</p><h2 id="bottom-line">Bottom line</h2><p>The switch over to GrapheneOS wasn't as drastic as I expected it would be. Not only was the installation an absolute cinch, the fact it looks and feels so close to stock Android means that there isn't much of a learning curve when it comes to getting started. All you really need to do is figure out where all the extra privacy and security features are. </p><p>The switch rom Google services is certainly very appealing. While I wouldn't go completely cold turkey (I need my banking apps), the fact that Google Play is available in a sandbox means that you don't appear to be missing out on much by ditching the Pixels' particular brand of Android. It's rather like having the most important parts of the Android ecosystem, but without compromising your own personal privacy in the process.</p><p>Switching back to the Pixel's Android OS has proved a little difficult, and I'm not entirely sure where the problem lies. So for now, I recommend that anyone hoping to try GrapheneOS for themselves either knows more than I do about installing Android software, or tests it out on an older device first to make sure they like it.</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/phones/google-pixel-phones/the-pixel-11s-tensor-g6-chip-isnt-2nm-despite-the-rumors-opening-the-door-for-iphone-18-pro">The Pixel 11's Tensor G6 chip isn't 2nm despite the rumors — opening the door for iPhone 18 Pro</a></li><li><a href="https://www.tomsguide.com/phones/iphones/ios-27-brings-5-star-ratings-to-photos-here-is-how-to-use-them">iOS 27 brings 5-star ratings to Photos — here is how to use them</a></li><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/i-wanted-to-be-excited-about-the-pixel-11-but-google-has-made-that-impossible-with-the-most-uninspired-launch-ive-ever-seen">I've been using Pixel phones for the past 5 years, but the lack of Pixel 11 upgrades is indefensible</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I put Honor's crazy Robot Phone up against the iPhone 17 Pro Max — I'm both impressed and confused ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Honor's new Robot Phone is finally official. After first teasing the device last year and then showing it off at MWC, the company has finally taken the wraps off its ambitious new smartphone at a launch event in China. The <a href="https://www.tomsguide.com/phones/i-tried-the-honor-robot-phone-and-its-the-coolest-phone-in-years-thats-not-coming-to-the-us">Honor Robot Phone</a> goes on sale starting August 20, priced at RMB 9,999 (around $1,480). Sadly, there's no word on a global launch just yet. </p><p>The big highlight, of course, is the gimbal-mounted camera on the back. It promises much better stabilization and many of the features you'd expect from a dedicated handheld gimbal camera, while still giving you all the hardware and features of a flagship smartphone. </p><p>But does having a dedicated gimbal built into your phone actually make it better at shooting video than the iPhone 17 Pro Max? I put the two against each other to find out.</p><div class="instagram-embed"><blockquote class="instagram-media"  data-instgrm-version="6" style="width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);"><p><a href="https://www.instagram.com/p/DcL29ZVxmoZ/" target="_blank">A post shared by Tom's Guide (@tomsguide)</a></p><p>A photo posted by </p></blockquote></div><div ><table><caption>Honor Robot Phone vs iPhone 17 Pro Max: Specs</caption><thead><tr><th class="firstcol " ><p>Category</p></th><th  ><p>Honor Robot Phone</p></th><th  ><p>iPhone 17 Pro Max</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>6.31-inch LTPO OLED, 120Hz</p></td><td  ><p>6.9-inch Super Retina XDR OLED, 120Hz</p></td></tr><tr><td class="firstcol " ><p><strong>OS</strong></p></td><td  ><p>MagicOS 10 (Android 16)</p></td><td  ><p>iOS 26</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>Snapdragon 8 Elite Gen 5</p></td><td  ><p>Apple A19 Pro</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>12GB / 16GB</p></td><td  ><p>12GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>512GB / 1TB</p></td><td  ><p>256GB / 512GB / 1TB / 2TB</p></td></tr><tr><td class="firstcol " ><p><strong>Rear Cameras</strong></p></td><td  ><p>200MP main (gimbal-mounted), 50 ultrawide, 200MP telephoto (2.7x optical zoom)</p></td><td  ><p>48MP main, 48MP ultrawide, 48MP telephoto (4x optical zoom)</p></td></tr><tr><td class="firstcol " ><p><strong>Front Camera</strong></p></td><td  ><p>50MP</p></td><td  ><p>18MP</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>7,060mAh</p></td><td  ><p>5,088mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Charging</strong></p></td><td  ><p>120W wired, 50W wireless Qi2</p></td><td  ><p>40W wired, 25W wireless Qi2</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>248g</p></td><td  ><p>233g</p></td></tr></tbody></table></div><h2 id="honor-has-a-hardware-advantage-the-iphone-simply-can-39-t-match">Honor has a hardware advantage the iPhone simply can't match</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="Zuqeay2sCeibgGyj9BFBs" name="honor-robot-phone-vs-iphone-17-pro-max-3" alt="Honor Robot Phone hands-on versus iPhone 17 Pro Max" src="https://cdn.mos.cms.futurecdn.net/Zuqeay2sCeibgGyj9BFBs-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>Right off the bat, the Honor Robot Phone has one pretty obvious advantage: it has an actual three-axis gimbal built into the back of the phone.</p><p>The 200MP f/1.6 camera sits on a motorized gimbal that can physically move around, and using it almost feels like having something like a <a href="https://www.tomsguide.com/cameras-photography/dji-osmo-pocket-4p-first-impressions">DJI Osmo Pocket 4</a> built right into your phone. </p><p>The difference in stabilization isn't night and day. The iPhone 17 Pro Max already records incredibly stable video out of the box. Plus, you can also <a href="https://www.tomsguide.com/how-to/how-to-enable-action-mode-on-iphone">switch to Action mode</a> if you need even more stabilization.</p><p>But put footage from the two phones side by side while walking, and you can definitely notice the difference. The Honor Robot Phone handles movement better, with the physical gimbal helping smooth out those little movements as you walk. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UkeVugRcPtfC4jPCjo4R33" name="honor-robot-phone-vs-iphone-17-pro-max-6" alt="Honor Robot Phone hands-on versus iPhone 17 Pro Max" src="https://cdn.mos.cms.futurecdn.net/UkeVugRcPtfC4jPCjo4R33-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>But stabilization is only part of the advantage. The bigger difference for me is subject tracking. The Honor Robot Phone lets you lock onto a person while recording, and the gimbal physically moves to keep that subject in the frame. Of course, there's only so far it can rotate before your subject moves completely out of view, but within that range, it keeps track of the subject pretty well in my testing. </p><p>And that's something you simply can't do on the iPhone 17 Pro Max. There's no option to lock onto a subject and have the camera follow them as they move. </p><p>I can already think of plenty of situations where this would be useful. If you're recording yourself during a gym session, for example, you could leave the Robot Phone in one place, lock the camera onto yourself, and let the gimbal follow you as you move around. The same applies when you're recording yourself outdoors or simply filming someone else without constantly having to reposition the phone. </p><h2 id="but-the-iphone-still-wins-in-a-few-important-areas">But the iPhone still wins in a few important areas</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/e7YUGnIDlyk" allowfullscreen></iframe></div></div><p>The Honor Robot Phone works great in most camera-related scenarios, but there are still a few areas where the <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-review">iPhone 17 Pro Max</a> came out ahead during my testing, particularly in low light. The Robot Phone introduced noticeably more noise in darker conditions, while the iPhone handled the same conditions much better. </p><p>There's also a noticeable difference when shooting vertical video. Yes, the Robot Phone can record vertically, but the 200MP sensor itself remains horizontally oriented. The sensor physically doesn't rotate, which means the phone crops into the landscape image to create a vertical frame.</p><p>As a result, you're getting roughly 2.8K resolution rather than true 4K vertical footage. The iPhone 17 Pro Max doesn't have that limitation and can shoot vertical video at up to 4K 120fps. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nUVW72QJEUt5euQBWxTjn" name="honor-robot-phone-vs-iphone-17-pro-max-4" alt="Honor Robot Phone hands-on versus iPhone 17 Pro Max" src="https://cdn.mos.cms.futurecdn.net/nUVW72QJEUt5euQBWxTjn-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>For someone who shoots a lot of short-form content, that's not a small compromise. And probably the biggest reason I wouldn't say Honor has outright beaten the iPhone for video just yet.</p><p>But apart from somehow fitting an entire gimbal camera into a smartphone, what impressed me most about the Robot Phone is that Honor hasn't sacrificed the rest of the flagship experience to make room for it.</p><p>You still get a 200MP periscope telephoto camera with 2.7x optical zoom and a 50MP ultrawide alongside the gimbal-mounted main camera. Honor has also somehow squeezed in a massive 7,060mAh battery, despite the phone being smaller than the iPhone 17 Pro Max in terms of overall dimensions. And you also get the <a href="https://www.tomsguide.com/phones/android-phones/snapdragon-8-elite-gen-5-benchmarks-apples-a19-pro-meets-its-match">Snapdragon 8 Elite Gen 5</a> under the hood, which means the performance shouldn't be an issue either. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JHWA4H9bk5x4MZioA7hZK3" name="honor-logo-robot-phone" alt="Honor Robot Phone hands-on versus iPhone 17 Pro Max" src="https://cdn.mos.cms.futurecdn.net/JHWA4H9bk5x4MZioA7hZK3-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>I still can't say whether the Honor Robot Phone is a better overall video-recording device than the iPhone 17 Pro Max. That's something that will require a lot more testing. But when it comes to things like stabilization and subject tracking, the Robot Phone can do things the iPhone physically can't.</p><p>Overall, at $1,480, the Robot Phone seems like a seriously impressive package. It's just a shame you won't officially be able to buy one in the U.S.</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/phones/samsung-phones/ive-been-living-with-the-galaxy-z-fold-8-for-3-weeks-and-i-was-wrong">I’ve been living with the Galaxy Z Fold 8 for 3 weeks — and I was wrong</a></li><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/after-10-years-of-pixels-why-is-google-still-making-phones">After 10 years of Pixels, why is Google still making phones?</a></li><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/i-tried-the-pixel-11-pro-fold-and-its-more-ultra-than-samsungs-foldable-for-usd200-less">I tried the Pixel 11 Pro Fold and it's more 'Ultra' than Samsung's foldable (for $200 less)</a></li></ul><div data-widget-type="productname" data-model-name="Apple iPhone 17 Pro Max"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/iphones/honor-robot-phone-vs-iphone-17-pro-max</link>
                                                                            <description>
                            <![CDATA[ How does Honor's ambitious new Robot Phone stack up against the content creator's favorite — the iPhone 17 Pro Max? Let's put it to the test. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">uC44kRCJ4BjpWNK6gy2MQL</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/4rAefyTHqcutGBZ9i6uy33-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 15 Aug 2026 04:30:00 +0000</pubDate>                                                                                                                                <updated>Thu, 20 Aug 2026 17:02:38 +0000</updated>
                                                                                                                                            <category><![CDATA[iPhones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sanuj Bhatia ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/8p5BvMVA7cnu5AWkxnTjRC-320-70.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/4rAefyTHqcutGBZ9i6uy33-1280-80.jpg">
                                                            <media:credit><![CDATA[Sanuj Bhatia / Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Honor Robot Phone hands-on versus iPhone 17 Pro Max]]></media:description>                                                            <media:text><![CDATA[Honor Robot Phone hands-on versus iPhone 17 Pro Max]]></media:text>
                                <media:title type="plain"><![CDATA[Honor Robot Phone hands-on versus iPhone 17 Pro Max]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/4rAefyTHqcutGBZ9i6uy33-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Honor's new Robot Phone is finally official. After first teasing the device last year and then showing it off at MWC, the company has finally taken the wraps off its ambitious new smartphone at a launch event in China. The <a href="https://www.tomsguide.com/phones/i-tried-the-honor-robot-phone-and-its-the-coolest-phone-in-years-thats-not-coming-to-the-us">Honor Robot Phone</a> goes on sale starting August 20, priced at RMB 9,999 (around $1,480). Sadly, there's no word on a global launch just yet. </p><p>The big highlight, of course, is the gimbal-mounted camera on the back. It promises much better stabilization and many of the features you'd expect from a dedicated handheld gimbal camera, while still giving you all the hardware and features of a flagship smartphone. </p><p>But does having a dedicated gimbal built into your phone actually make it better at shooting video than the iPhone 17 Pro Max? I put the two against each other to find out.</p><div class="instagram-embed"><blockquote class="instagram-media"  data-instgrm-version="6" style="width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);"><p><a href="https://www.instagram.com/p/DcL29ZVxmoZ/" target="_blank">A post shared by Tom's Guide (@tomsguide)</a></p><p>A photo posted by </p></blockquote></div><div ><table><caption>Honor Robot Phone vs iPhone 17 Pro Max: Specs</caption><thead><tr><th class="firstcol " ><p>Category</p></th><th  ><p>Honor Robot Phone</p></th><th  ><p>iPhone 17 Pro Max</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>6.31-inch LTPO OLED, 120Hz</p></td><td  ><p>6.9-inch Super Retina XDR OLED, 120Hz</p></td></tr><tr><td class="firstcol " ><p><strong>OS</strong></p></td><td  ><p>MagicOS 10 (Android 16)</p></td><td  ><p>iOS 26</p></td></tr><tr><td class="firstcol " ><p><strong>Processor</strong></p></td><td  ><p>Snapdragon 8 Elite Gen 5</p></td><td  ><p>Apple A19 Pro</p></td></tr><tr><td class="firstcol " ><p><strong>RAM</strong></p></td><td  ><p>12GB / 16GB</p></td><td  ><p>12GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>512GB / 1TB</p></td><td  ><p>256GB / 512GB / 1TB / 2TB</p></td></tr><tr><td class="firstcol " ><p><strong>Rear Cameras</strong></p></td><td  ><p>200MP main (gimbal-mounted), 50 ultrawide, 200MP telephoto (2.7x optical zoom)</p></td><td  ><p>48MP main, 48MP ultrawide, 48MP telephoto (4x optical zoom)</p></td></tr><tr><td class="firstcol " ><p><strong>Front Camera</strong></p></td><td  ><p>50MP</p></td><td  ><p>18MP</p></td></tr><tr><td class="firstcol " ><p><strong>Battery</strong></p></td><td  ><p>7,060mAh</p></td><td  ><p>5,088mAh</p></td></tr><tr><td class="firstcol " ><p><strong>Charging</strong></p></td><td  ><p>120W wired, 50W wireless Qi2</p></td><td  ><p>40W wired, 25W wireless Qi2</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>248g</p></td><td  ><p>233g</p></td></tr></tbody></table></div><h2 id="honor-has-a-hardware-advantage-the-iphone-simply-can-39-t-match">Honor has a hardware advantage the iPhone simply can't match</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="Zuqeay2sCeibgGyj9BFBs" name="honor-robot-phone-vs-iphone-17-pro-max-3" alt="Honor Robot Phone hands-on versus iPhone 17 Pro Max" src="https://cdn.mos.cms.futurecdn.net/Zuqeay2sCeibgGyj9BFBs-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>Right off the bat, the Honor Robot Phone has one pretty obvious advantage: it has an actual three-axis gimbal built into the back of the phone.</p><p>The 200MP f/1.6 camera sits on a motorized gimbal that can physically move around, and using it almost feels like having something like a <a href="https://www.tomsguide.com/cameras-photography/dji-osmo-pocket-4p-first-impressions">DJI Osmo Pocket 4</a> built right into your phone. </p><p>The difference in stabilization isn't night and day. The iPhone 17 Pro Max already records incredibly stable video out of the box. Plus, you can also <a href="https://www.tomsguide.com/how-to/how-to-enable-action-mode-on-iphone">switch to Action mode</a> if you need even more stabilization.</p><p>But put footage from the two phones side by side while walking, and you can definitely notice the difference. The Honor Robot Phone handles movement better, with the physical gimbal helping smooth out those little movements as you walk. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="UkeVugRcPtfC4jPCjo4R33" name="honor-robot-phone-vs-iphone-17-pro-max-6" alt="Honor Robot Phone hands-on versus iPhone 17 Pro Max" src="https://cdn.mos.cms.futurecdn.net/UkeVugRcPtfC4jPCjo4R33-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>But stabilization is only part of the advantage. The bigger difference for me is subject tracking. The Honor Robot Phone lets you lock onto a person while recording, and the gimbal physically moves to keep that subject in the frame. Of course, there's only so far it can rotate before your subject moves completely out of view, but within that range, it keeps track of the subject pretty well in my testing. </p><p>And that's something you simply can't do on the iPhone 17 Pro Max. There's no option to lock onto a subject and have the camera follow them as they move. </p><p>I can already think of plenty of situations where this would be useful. If you're recording yourself during a gym session, for example, you could leave the Robot Phone in one place, lock the camera onto yourself, and let the gimbal follow you as you move around. The same applies when you're recording yourself outdoors or simply filming someone else without constantly having to reposition the phone. </p><h2 id="but-the-iphone-still-wins-in-a-few-important-areas">But the iPhone still wins in a few important areas</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/e7YUGnIDlyk" allowfullscreen></iframe></div></div><p>The Honor Robot Phone works great in most camera-related scenarios, but there are still a few areas where the <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-review">iPhone 17 Pro Max</a> came out ahead during my testing, particularly in low light. The Robot Phone introduced noticeably more noise in darker conditions, while the iPhone handled the same conditions much better. </p><p>There's also a noticeable difference when shooting vertical video. Yes, the Robot Phone can record vertically, but the 200MP sensor itself remains horizontally oriented. The sensor physically doesn't rotate, which means the phone crops into the landscape image to create a vertical frame.</p><p>As a result, you're getting roughly 2.8K resolution rather than true 4K vertical footage. The iPhone 17 Pro Max doesn't have that limitation and can shoot vertical video at up to 4K 120fps. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nUVW72QJEUt5euQBWxTjn" name="honor-robot-phone-vs-iphone-17-pro-max-4" alt="Honor Robot Phone hands-on versus iPhone 17 Pro Max" src="https://cdn.mos.cms.futurecdn.net/nUVW72QJEUt5euQBWxTjn-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>For someone who shoots a lot of short-form content, that's not a small compromise. And probably the biggest reason I wouldn't say Honor has outright beaten the iPhone for video just yet.</p><p>But apart from somehow fitting an entire gimbal camera into a smartphone, what impressed me most about the Robot Phone is that Honor hasn't sacrificed the rest of the flagship experience to make room for it.</p><p>You still get a 200MP periscope telephoto camera with 2.7x optical zoom and a 50MP ultrawide alongside the gimbal-mounted main camera. Honor has also somehow squeezed in a massive 7,060mAh battery, despite the phone being smaller than the iPhone 17 Pro Max in terms of overall dimensions. And you also get the <a href="https://www.tomsguide.com/phones/android-phones/snapdragon-8-elite-gen-5-benchmarks-apples-a19-pro-meets-its-match">Snapdragon 8 Elite Gen 5</a> under the hood, which means the performance shouldn't be an issue either. </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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="JHWA4H9bk5x4MZioA7hZK3" name="honor-logo-robot-phone" alt="Honor Robot Phone hands-on versus iPhone 17 Pro Max" src="https://cdn.mos.cms.futurecdn.net/JHWA4H9bk5x4MZioA7hZK3-1920-80.jpg" 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: Sanuj Bhatia / Tom's Guide)</span></figcaption></figure><p>I still can't say whether the Honor Robot Phone is a better overall video-recording device than the iPhone 17 Pro Max. That's something that will require a lot more testing. But when it comes to things like stabilization and subject tracking, the Robot Phone can do things the iPhone physically can't.</p><p>Overall, at $1,480, the Robot Phone seems like a seriously impressive package. It's just a shame you won't officially be able to buy one in the U.S.</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/phones/samsung-phones/ive-been-living-with-the-galaxy-z-fold-8-for-3-weeks-and-i-was-wrong">I’ve been living with the Galaxy Z Fold 8 for 3 weeks — and I was wrong</a></li><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/after-10-years-of-pixels-why-is-google-still-making-phones">After 10 years of Pixels, why is Google still making phones?</a></li><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/i-tried-the-pixel-11-pro-fold-and-its-more-ultra-than-samsungs-foldable-for-usd200-less">I tried the Pixel 11 Pro Fold and it's more 'Ultra' than Samsung's foldable (for $200 less)</a></li></ul><div data-widget-type="productname" data-model-name="Apple iPhone 17 Pro Max"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I used a thermal camera to see how hot the Galaxy Z Fold 8 Ultra gets compared to the Galaxy S26 Ultra — here's what happened ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Samsung has packed a bunch of upgrades into the new <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-ultra-review">Galaxy Z Fold 8 Ultra</a>, but the one noticeable absence is the lack of any sort of active cooling system. The <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review">Galaxy S26 Ultra</a> has a built-in vapor chamber to prevent heat build-up, and similar features have existed in non-folding flagships for over a decade.</p><p>The question isn't why hasn't Samsung added a vapor chamber to its foldables yet, it's whether that actually matters. The Galaxy Z Fold 8 Ultra has the same super-powered <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-s26-performance-face-off-snapdragon-8-elite-gen-5-vs-exynos-2600">Snapdragon 8 Elite Gen 5 for Galaxy chip </a>as the S26 Ultra, and I was curious how much heat would actually build up in both phones — and more importantly, where it ends up.</p><p>So I grabbed my trusty thermal camera, the <a href="https://www.tomsguide.com/opinion/i-used-this-thermal-camera-to-identify-heat-loss-in-my-home-heres-what-i-found">Flir One Pro</a>, and set up the Galaxy Z Fold 8 Ultra alongside the Galaxy S26 Ultra, <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Galaxy Z Fold 7</a> and the <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-review">iPhone 17 Pro Max</a> side by side. Then, by running <a href="https://www.3dmark.com/" target="_blank" rel="nofollow">3DMark's</a> Solar Bay Extreme Stress Test, I recorded just how much heat all four phones produced.</p><h2 id="is-it-getting-hot-in-here">Is it getting hot in here?</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:693px;"><p class="vanilla-image-block" style="padding-top:64.07%;"><img id="znB7Xvbzpp2dt6HgMwsjSj" name="ezgif-65d79b61dde731aa" alt="z fold 8 ultra thermal camera" src="https://cdn.mos.cms.futurecdn.net/znB7Xvbzpp2dt6HgMwsjSj-1920-80.gif" mos="" align="middle" fullscreen="" width="693" height="444" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Left to right: S26 Ultra, iPhone 17 Pro Max, Z Fold 8 Ultra, Z Fold 7 </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If you look at the video of all four phones, you can see that the Galaxy S26 Ultra starts heating up the fastest, hitting around 30C/86F in around a minute. The iPhone 17 Pro Max isn't that far behind, though the Z Fold 8 Ultra and Z Fold 7 both seem to be heating up a lot more slowly in their folded state.</p><p>The S26 Ultra seems to concentrate most of its heat in the top left corner, on the opposite side of the phone to the vertical camera bar. Meanwhile, the iPhone 17 Pro Max has a large section of heat across its top half, where the raised plateau camera bar is — which makes sense considering Apple designed the camera bar to help dissipate heat.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ZRLvLLAGituNoaESiU4oo9-1920-80.png" alt="z fold 8 ultra thermal camera test" /><figcaption>1 minute into testing<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bzj92un33KpMxAF44bHwo9-1920-80.png" alt="z fold 8 ultra thermal camera test" /><figcaption>4 minutes into testing<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/oX5iuHNRbkQxxyWEGvANp9-1920-80.png" alt="z fold 8 ultra thermal camera test" /><figcaption>9 minutes into testing<small role="credit">Future</small></figcaption></figure></figure><p>As the videos approach the 4-minute mark, the S26 Ultra starts to approach 40C/104F, while the two foldables only just hit 30C/86F. The iPhone isn't that far behind Samsung, and in the case of all four phones the heat seems to be mainly concentrated in the top half of each device. </p><p>By the time the 10-minute run is almost complete, parts of the S26 Ultra and iPhone have exceeded 40C/104F, while the foldables both seem to be hovering between 35C/95F and 37C/99F. At this stage the heat seems to have covered the entirety of the four phones, though only the iPhone and S26 Ultra have such high concentrations.</p><p>When I picked up the phones after closing 3DMark, I found that the S26 Ultra definitely felt the hottest, especially around the camera bar. Not quite enough to instantly burn yourself, but hot enough that you don't want prolonged exposure to it. The iPhone was similar, though didn't feel quite as hot, while the two foldables didn't feel that much different from normal.</p><h2 id="unfolding-the-heat">Unfolding the heat</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:601px;"><p class="vanilla-image-block" style="padding-top:64.89%;"><img id="4NBA7rCAbyzBwqtNsmwwVW" name="ezgif-6d4db9046320a37d" alt="z fold 8 ultra vs z fold 7 thermal camera test" src="https://cdn.mos.cms.futurecdn.net/4NBA7rCAbyzBwqtNsmwwVW-1920-80.gif" mos="" align="middle" fullscreen="" width="601" height="390" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Left: Galaxy Z Fold 8 Ultra. Right: Galaxy Z Fold 7 </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Of course these readings were taken from the front of the phone, while the two foldables were all closed up. How much of a difference would unfolding them make? As it turns out, quite a lot.</p><p>As soon as the benchmarking test started, heat bloomed out of both phones in the top right — right where the camera bar is. Unsurprisingly given its more powerful hardware, the temperature climbed much higher on the Z Fold 8 Ultra, though the Z Fold 7 wasn't that far behind.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/g9wgFLhXViFwMhiYSLPDxG-1920-80.png" alt="z fold 8 ultra vs z fold 7 thermal test screenshots" /><figcaption>1 minute into testing<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/73eGhkiwfqAfgimrDBqfvG-1920-80.png" alt="z fold 8 ultra vs z fold 7 thermal test screenshots" /><figcaption>5 minutes into testing<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ookdm6idgGQ2qpSU3Z9etG-1920-80.png" alt="z fold 8 ultra vs z fold 7 thermal test screenshots" /><figcaption>10 minutes into testing<small role="credit">Future</small></figcaption></figure></figure><p>Within 20 seconds the temperature had jumped past 30C/89F, and after a minute the Z Fold 8 Ultra had already climbed past 40C/104F. 20 seconds later the Z Fold 7 joined it, and in both cases the heat was concentrated in the top right corner before slowly spreading out over both halves of the phones.</p><p>The temperature plateaued pretty quickly, landing a few degrees higher than 40C and hovering around that level. The majority of the heat remained concentrated on the right side of the phone too, with minimal transference  over to the left half. </p><p>This explains why the heat build-up seemed so slow in the previous test. The majority of the heat will have also been concentrated at the back of the device where the thermal camera couldn't pick it up as easily.</p><h2 id="verdict-3">Verdict</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="noN4XNdYP8ruPAPbWSqySm" name="PXL_20260723_153411133" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/noN4XNdYP8ruPAPbWSqySm-1920-80.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>The Galaxy Z Fold 8 Ultra can get pretty hot, but so does the Galaxy S26 Ultra and both phones seem to heat up to similar temperatures. Or, at least they did during identical Solar Bay Extreme Stress Tests — different processes will obviously have different effects.</p><p>The way the heat spread out was completely different, though. The Galaxy S26 Ultra recorded the highest temperatures in the top left side of the phone, on the opposite side of the phone to the cameras. Teardowns have revealed that this is where the vapor chamber cooling pushes the excess heat, so it's natural that this would see the most extreme temperatures. The same goes for the iPhone 17 Pro Max and its own raised camera bar.</p><p>The unfolded stress test showed that the Z Fold 8 Ultra (and Z Fold 7) don't have that advantage. While the heat appears in that top corner by the cameras, it quickly spreads across the entire right side of the phone. Apparently, the heat struggled to bypass the hinge, which is an interesting observation.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OqRVBX"></div>                            </div>                            <script src="https://kwizly.com/embed/OqRVBX.js" async></script><p>In the case of the Z Fold 8 Ultra the heat isn't being actively routed away from core internal components — like the battery or chipset. That means it has no choice but to spread out until it reaches the edge of the phone and radiates away. You can actually see that happening in the thermal video as the heat spreads out from the very top of the phone.</p><p>While concentrating the heat in one area seems like a bad thing, if it's a spot with few major components then letting the heat spread across the entire phone is even worse. Because it means the heat isn't actively being siphoned away from the components that are most affected by extreme temperatures. Over extended periods of time, that will lead to degradation and reduced performance and affect the phone's lifespan.</p><p>One thing I did notice when I accidentally closed 3DMark on the Z Fold 8 Ultra at the end of the test, is that the temperature started to drop pretty rapidly once the stress test stopped running. Which should mean that short periods of high-performance activity shouldn't pose a long-term problem. As long as you don't do it too often.</p><p>If you are doing anything performance heavy, make sure to take the appropriate measures to keep your phone as cool as possible. <a href="https://www.tomsguide.com/phones/9-tips-to-keep-your-phone-cool-during-a-heatwave-and-prevent-damage">Our tips for helping your phone survive a heatwave</a> will also apply here, which means avoiding direct sunlight, stop charging and so on. You can speed up the heat removal with things like fans or phone coolers, and you should absolutely avoid forcing your phone to cool down with appliances like the fridge — that's just going to cause even more issues.</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/phones/iphones/ive-tested-the-galaxy-z-fold-8-and-it-proves-apple-really-needs-to-solve-this-one-thing">I’ve tested the Galaxy Z Fold 8 and it proves Apple really needs to solve this one thing</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-tried-the-new-galaxy-ai-video-tracker-on-my-z-fold-8">I tried the new Galaxy AI video tracker on my Z Fold 8 — and it fixes my biggest problem with phone videos</a></li><li><a href="https://www.tomsguide.com/phones/i-asked-siri-ai-and-gemini-a-series-of-increasingly-bizarre-questions-to-see-how-they-responded-heres-what-happened">I asked Siri AI and Gemini a series of increasingly bizarre questions to see how they responded —here's what happened</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/samsung-phones/i-used-a-thermal-camera-to-see-how-hot-the-galaxy-z-fold-8-ultra-gets-compared-to-the-galaxy-s26-ultra-heres-what-happened</link>
                                                                            <description>
                            <![CDATA[ Galaxy Z Fold 8 Ultra lacks the same active cooling systems you'd find in the S26 Ultra and iPhone 17 Pro Max — and that could be a problem if you're doing performance-heavy work. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">BoNDJTiYyxadPKFBohbhwk</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/hALYgCgA465TXz5WYQn5RK-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 04 Aug 2026 08:00:00 +0000</pubDate>                                                                                                                                <updated>Tue, 04 Aug 2026 10:48:53 +0000</updated>
                                                                                                                                            <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></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-320-70.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/hALYgCgA465TXz5WYQn5RK-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy Z Fold 8 Ultra next to thermal imaging scan of the phone ]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy Z Fold 8 Ultra next to thermal imaging scan of the phone ]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy Z Fold 8 Ultra next to thermal imaging scan of the phone ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/hALYgCgA465TXz5WYQn5RK-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Samsung has packed a bunch of upgrades into the new <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-ultra-review">Galaxy Z Fold 8 Ultra</a>, but the one noticeable absence is the lack of any sort of active cooling system. The <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review">Galaxy S26 Ultra</a> has a built-in vapor chamber to prevent heat build-up, and similar features have existed in non-folding flagships for over a decade.</p><p>The question isn't why hasn't Samsung added a vapor chamber to its foldables yet, it's whether that actually matters. The Galaxy Z Fold 8 Ultra has the same super-powered <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-s26-performance-face-off-snapdragon-8-elite-gen-5-vs-exynos-2600">Snapdragon 8 Elite Gen 5 for Galaxy chip </a>as the S26 Ultra, and I was curious how much heat would actually build up in both phones — and more importantly, where it ends up.</p><p>So I grabbed my trusty thermal camera, the <a href="https://www.tomsguide.com/opinion/i-used-this-thermal-camera-to-identify-heat-loss-in-my-home-heres-what-i-found">Flir One Pro</a>, and set up the Galaxy Z Fold 8 Ultra alongside the Galaxy S26 Ultra, <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Galaxy Z Fold 7</a> and the <a href="https://www.tomsguide.com/phones/iphones/iphone-17-pro-max-review">iPhone 17 Pro Max</a> side by side. Then, by running <a href="https://www.3dmark.com/" target="_blank" rel="nofollow">3DMark's</a> Solar Bay Extreme Stress Test, I recorded just how much heat all four phones produced.</p><h2 id="is-it-getting-hot-in-here">Is it getting hot in here?</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:693px;"><p class="vanilla-image-block" style="padding-top:64.07%;"><img id="znB7Xvbzpp2dt6HgMwsjSj" name="ezgif-65d79b61dde731aa" alt="z fold 8 ultra thermal camera" src="https://cdn.mos.cms.futurecdn.net/znB7Xvbzpp2dt6HgMwsjSj-1920-80.gif" mos="" align="middle" fullscreen="" width="693" height="444" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Left to right: S26 Ultra, iPhone 17 Pro Max, Z Fold 8 Ultra, Z Fold 7 </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>If you look at the video of all four phones, you can see that the Galaxy S26 Ultra starts heating up the fastest, hitting around 30C/86F in around a minute. The iPhone 17 Pro Max isn't that far behind, though the Z Fold 8 Ultra and Z Fold 7 both seem to be heating up a lot more slowly in their folded state.</p><p>The S26 Ultra seems to concentrate most of its heat in the top left corner, on the opposite side of the phone to the vertical camera bar. Meanwhile, the iPhone 17 Pro Max has a large section of heat across its top half, where the raised plateau camera bar is — which makes sense considering Apple designed the camera bar to help dissipate heat.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ZRLvLLAGituNoaESiU4oo9-1920-80.png" alt="z fold 8 ultra thermal camera test" /><figcaption>1 minute into testing<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bzj92un33KpMxAF44bHwo9-1920-80.png" alt="z fold 8 ultra thermal camera test" /><figcaption>4 minutes into testing<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/oX5iuHNRbkQxxyWEGvANp9-1920-80.png" alt="z fold 8 ultra thermal camera test" /><figcaption>9 minutes into testing<small role="credit">Future</small></figcaption></figure></figure><p>As the videos approach the 4-minute mark, the S26 Ultra starts to approach 40C/104F, while the two foldables only just hit 30C/86F. The iPhone isn't that far behind Samsung, and in the case of all four phones the heat seems to be mainly concentrated in the top half of each device. </p><p>By the time the 10-minute run is almost complete, parts of the S26 Ultra and iPhone have exceeded 40C/104F, while the foldables both seem to be hovering between 35C/95F and 37C/99F. At this stage the heat seems to have covered the entirety of the four phones, though only the iPhone and S26 Ultra have such high concentrations.</p><p>When I picked up the phones after closing 3DMark, I found that the S26 Ultra definitely felt the hottest, especially around the camera bar. Not quite enough to instantly burn yourself, but hot enough that you don't want prolonged exposure to it. The iPhone was similar, though didn't feel quite as hot, while the two foldables didn't feel that much different from normal.</p><h2 id="unfolding-the-heat">Unfolding the heat</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:601px;"><p class="vanilla-image-block" style="padding-top:64.89%;"><img id="4NBA7rCAbyzBwqtNsmwwVW" name="ezgif-6d4db9046320a37d" alt="z fold 8 ultra vs z fold 7 thermal camera test" src="https://cdn.mos.cms.futurecdn.net/4NBA7rCAbyzBwqtNsmwwVW-1920-80.gif" mos="" align="middle" fullscreen="" width="601" height="390" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Left: Galaxy Z Fold 8 Ultra. Right: Galaxy Z Fold 7 </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Of course these readings were taken from the front of the phone, while the two foldables were all closed up. How much of a difference would unfolding them make? As it turns out, quite a lot.</p><p>As soon as the benchmarking test started, heat bloomed out of both phones in the top right — right where the camera bar is. Unsurprisingly given its more powerful hardware, the temperature climbed much higher on the Z Fold 8 Ultra, though the Z Fold 7 wasn't that far behind.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/g9wgFLhXViFwMhiYSLPDxG-1920-80.png" alt="z fold 8 ultra vs z fold 7 thermal test screenshots" /><figcaption>1 minute into testing<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/73eGhkiwfqAfgimrDBqfvG-1920-80.png" alt="z fold 8 ultra vs z fold 7 thermal test screenshots" /><figcaption>5 minutes into testing<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ookdm6idgGQ2qpSU3Z9etG-1920-80.png" alt="z fold 8 ultra vs z fold 7 thermal test screenshots" /><figcaption>10 minutes into testing<small role="credit">Future</small></figcaption></figure></figure><p>Within 20 seconds the temperature had jumped past 30C/89F, and after a minute the Z Fold 8 Ultra had already climbed past 40C/104F. 20 seconds later the Z Fold 7 joined it, and in both cases the heat was concentrated in the top right corner before slowly spreading out over both halves of the phones.</p><p>The temperature plateaued pretty quickly, landing a few degrees higher than 40C and hovering around that level. The majority of the heat remained concentrated on the right side of the phone too, with minimal transference  over to the left half. </p><p>This explains why the heat build-up seemed so slow in the previous test. The majority of the heat will have also been concentrated at the back of the device where the thermal camera couldn't pick it up as easily.</p><h2 id="verdict-3">Verdict</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="noN4XNdYP8ruPAPbWSqySm" name="PXL_20260723_153411133" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/noN4XNdYP8ruPAPbWSqySm-1920-80.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>The Galaxy Z Fold 8 Ultra can get pretty hot, but so does the Galaxy S26 Ultra and both phones seem to heat up to similar temperatures. Or, at least they did during identical Solar Bay Extreme Stress Tests — different processes will obviously have different effects.</p><p>The way the heat spread out was completely different, though. The Galaxy S26 Ultra recorded the highest temperatures in the top left side of the phone, on the opposite side of the phone to the cameras. Teardowns have revealed that this is where the vapor chamber cooling pushes the excess heat, so it's natural that this would see the most extreme temperatures. The same goes for the iPhone 17 Pro Max and its own raised camera bar.</p><p>The unfolded stress test showed that the Z Fold 8 Ultra (and Z Fold 7) don't have that advantage. While the heat appears in that top corner by the cameras, it quickly spreads across the entire right side of the phone. Apparently, the heat struggled to bypass the hinge, which is an interesting observation.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OqRVBX"></div>                            </div>                            <script src="https://kwizly.com/embed/OqRVBX.js" async></script><p>In the case of the Z Fold 8 Ultra the heat isn't being actively routed away from core internal components — like the battery or chipset. That means it has no choice but to spread out until it reaches the edge of the phone and radiates away. You can actually see that happening in the thermal video as the heat spreads out from the very top of the phone.</p><p>While concentrating the heat in one area seems like a bad thing, if it's a spot with few major components then letting the heat spread across the entire phone is even worse. Because it means the heat isn't actively being siphoned away from the components that are most affected by extreme temperatures. Over extended periods of time, that will lead to degradation and reduced performance and affect the phone's lifespan.</p><p>One thing I did notice when I accidentally closed 3DMark on the Z Fold 8 Ultra at the end of the test, is that the temperature started to drop pretty rapidly once the stress test stopped running. Which should mean that short periods of high-performance activity shouldn't pose a long-term problem. As long as you don't do it too often.</p><p>If you are doing anything performance heavy, make sure to take the appropriate measures to keep your phone as cool as possible. <a href="https://www.tomsguide.com/phones/9-tips-to-keep-your-phone-cool-during-a-heatwave-and-prevent-damage">Our tips for helping your phone survive a heatwave</a> will also apply here, which means avoiding direct sunlight, stop charging and so on. You can speed up the heat removal with things like fans or phone coolers, and you should absolutely avoid forcing your phone to cool down with appliances like the fridge — that's just going to cause even more issues.</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/phones/iphones/ive-tested-the-galaxy-z-fold-8-and-it-proves-apple-really-needs-to-solve-this-one-thing">I’ve tested the Galaxy Z Fold 8 and it proves Apple really needs to solve this one thing</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-tried-the-new-galaxy-ai-video-tracker-on-my-z-fold-8">I tried the new Galaxy AI video tracker on my Z Fold 8 — and it fixes my biggest problem with phone videos</a></li><li><a href="https://www.tomsguide.com/phones/i-asked-siri-ai-and-gemini-a-series-of-increasingly-bizarre-questions-to-see-how-they-responded-heres-what-happened">I asked Siri AI and Gemini a series of increasingly bizarre questions to see how they responded —here's what happened</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I spent a week with the Razer Seiren V3 Pro — here’s how it stacks up to my Elgato Wave 3 ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I’ve been podcasting for the better part of 14 years, and the one piece of gear I’ve invested in more than anything else is one of the <a href="https://www.tomsguide.com/best-picks/best-microphones">best microphones</a>. After all, people will forgive so-so or even boring visuals as long as the audio is solid. I ran a Samson C01U Pro for years before switching to my current <a href="https://www.tomsguide.com/reviews/elgato-wave-3-microphone">Elgato Wave 3</a>, and I’m still happy with it. That said, I’ve been testing a pretty strong rival lately — the Razer Seiren V3 Pro.</p><p>Razer’s latest Seiren is a studio-leaning dynamic mic aimed squarely at podcasters and creators who want cleaner sound without a ton of extra gear. It has a solid, Shure-inspired look and comes packed with built-in processing tools that actually help you sound better right out of the box. At $249, it’s not cheap, but you’re getting dual USB-C and XLR connectivity, a 30 mm capsule, and some useful onboard features for the money.</p><p>So, will I ditch my beloved Wave 3 for the Seiren V3 Pro? Read on for what this mic is all about and how it held up after a week of real use.</p><div class="product"><a data-dimension112="03efcb36-8d21-11f1-9888-91fd9399c585" data-action="Deal Block" data-label="Seiren V3 Pro" data-dimension48="Seiren V3 Pro" data-dimension25="$249" href="https://www.amazon.com/Razer-Seiren-Pro-Microphone-Built/dp/B0H1DW8HXQ" 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="rqgYtPsERxh7UatykS8Z3k" name="Razer Seiren V3 Pro" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/rqgYtPsERxh7UatykS8Z3k-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Razer Seiren V3 Pro is a microphone built for streamers, podcasters, and creators who want clear, professional audio with minimal fuss. Its cardioid pattern captures focused vocals while reducing background noise, and its onboard processing tools deliver excellent sound out of the box. Though it's not cheap, it'll take your podcasting/content creation to the next level.<a class="view-deal button" href="https://www.amazon.com/Razer-Seiren-Pro-Microphone-Built/dp/B0H1DW8HXQ" target="_blank" rel="nofollow" data-dimension112="03efcb36-8d21-11f1-9888-91fd9399c585" data-action="Deal Block" data-label="Seiren V3 Pro" data-dimension48="Seiren V3 Pro" data-dimension25="$249">View Deal</a></p></div><h2 id="razer-seiren-v3-pro-what-is-it">Razer Seiren V3 Pro: What is 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:5050px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="fDR6d9yR9W7skBDRoKrrGP" name="Razer Seiren V3 Pro-5" alt="Razer Seiren V3 Pro" src="https://cdn.mos.cms.futurecdn.net/fDR6d9yR9W7skBDRoKrrGP-1920-80.jpg" mos="" align="middle" fullscreen="" width="5050" height="2841" 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>Before I dig into my experience with the Seiren V3 Pro, here’s a quick look at the features so you know what you’re dealing with.</p><p>The Seiren V3 Pro is built to deliver the warm, broadcast-style sound many podcasters and streamers are after. Its cardioid pickup pattern means you speak into the top of the mic, which focuses on your voice while rejecting noise from the sides and rear. That’s especially useful if you’re recording in a regular room rather than a treated studio. It also includes a built-in shock absorber and a removable pop filter to minimize noise and plosives before they reach your recording.</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:4734px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WCYE9stSXsy6BZpKU4EEgN" name="Razer Seiren V3 Pro-3" alt="Razer Seiren V3 Pro" src="https://cdn.mos.cms.futurecdn.net/WCYE9stSXsy6BZpKU4EEgN-1920-80.jpg" mos="" align="middle" fullscreen="" width="4734" height="2663" 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>One of the standout features is the dual connectivity. You get USB-C for simple plug-and-play use, plus a full XLR connection when you want to run it through a proper audio interface or mixer. That flexibility means the same mic can sit on a basic streaming desk one day and move into a more serious recording setup the next — no need to buy two different mics!</p><p>On the software side, Razer includes onboard DSP tools such as a compressor, expander, limiter, and an AI noise remover. There’s also 32-bit float support in the Razer Synapse app, which gives you more headroom and less chance of clipping when you get loud. </p><p>Between the processing and the extra dynamic range, much of the cleanup happens before the audio even reaches your computer. A physical gain dial sits right on the mic for quick adjustments, and the Chroma RGB ring serves as both a status indicator (mute, levels, etc.) and a bit of customizable flair.</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:5150px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tAyRBBGGgUwkhLVn4BobnX" name="Razer Seiren V3 Pro-8" alt="Razer Seiren V3 Pro" src="https://cdn.mos.cms.futurecdn.net/tAyRBBGGgUwkhLVn4BobnX-1920-80.jpg" mos="" align="middle" fullscreen="" width="5150" height="2897" 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>Overall, the Seiren V3 Pro feels like the best of both worlds: easy enough for more casual users like me to set up and start using, but with enough depth and customization to keep the more serious audio folks happy.</p><h2 id="razer-seiren-v3-pro-my-experience">Razer Seiren V3 Pro: My experience</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:4721px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="wMR7YgR4vCdytLdJQo76MU" name="Razer Seiren V3 Pro-2" alt="Razer Seiren V3 Pro" src="https://cdn.mos.cms.futurecdn.net/wMR7YgR4vCdytLdJQo76MU-1920-80.jpg" mos="" align="middle" fullscreen="" width="4721" height="2656" 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 was impressed the second I pulled the Razer Seiren V3 Pro out of the box. It’s a slick-looking piece of kit. Objectively, it doesn’t look all that different from other cardioid mics, but it’s a design style I’ve always liked and rarely had the chance to use. Inside the box, you get the mic, its stand, and a long USB cable. One end is USB-A, and Razer includes a USB-A-to-USB-C adapter, a thoughtful little touch.</p><p>Once you plug it into your PC and open the Razer Synapse app, it guides you through a quick setup. You speak into the mic at a normal volume, record a bit of ambient noise, tell it what you’re using it for (podcasting, in my case), and how far the mic is from you. That’s it. The whole process takes less than five minutes and does much of the heavy lifting for you.</p><p>I’m generally happy with the recording quality. My voice comes through full, and there’s almost no background noise. The only real issue is specific to my setup: the mic sits about two feet away from me, and because I live in a pretty bare studio apartment, it can pick up a bit of that empty-room sound. I don’t have that problem with my Elgato Wave 3 since it’s on an arm and I can pull it right up to my mouth. I can’t do that as easily with the Razer, but even at a less-than-ideal distance, the audio still sounds solid.</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:1919px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="tbbBruAfb26hfJdDc2JEJG" name="Razer Seiren V3 Pro - Synapse" alt="Razer Synapse" src="https://cdn.mos.cms.futurecdn.net/tbbBruAfb26hfJdDc2JEJG-1920-80.jpg" mos="" align="middle" fullscreen="" width="1919" height="1079" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / Razer)</span></figcaption></figure><p>I’m not an audiophile, and I don’t like fussing with settings, so the preset options in Synapse work perfectly fine for me. You can dig in and tweak everything if you want, and I’m sure I could squeeze out even better results with some fine-tuning. For most people, though, the out-of-the-box presets are more than good enough.</p><p>The one real annoyance I encountered is how easy it is to accidentally mute yourself while adjusting the mic. The mute “button” is a large, sensitive target area, and it’s almost impossible not to graze it when repositioning the mic. A proper physical button that requires a bit of force to press would have solved this easily.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ONq1JW"></div>                            </div>                            <script src="https://kwizly.com/embed/ONq1JW.js" async></script><h2 id="razer-seiren-v3-pro-bottom-line">Razer Seiren V3 Pro: Bottom line</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:3865px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xZbxZnEVtx7mXth9G2zUNd" name="Razer Seiren V3 Pro-7" alt="Razer Seiren V3 Pro" src="https://cdn.mos.cms.futurecdn.net/xZbxZnEVtx7mXth9G2zUNd-1920-80.jpg" mos="" align="middle" fullscreen="" width="3865" height="2174" 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>This is my first time using a Razer microphone, and I have to say that I’m pretty impressed. Between the clean design and the solid set of features, the Seiren V3 Pro feels like a real step up for anyone looking to take their podcasting or content creation more seriously. Yeah, $249 is a chunk of money, and there are cheaper options out there. But if you decide to spend it, I don’t think you’ll walk away disappointed.</p><p>So, back to the question I asked at the start: will I switch from my Elgato Wave 3 to the Razer Seiren V3 Pro? Right now, no. I’d get a lot more out of this mic if I had it on a proper arm so I could keep it closer to my mouth. That said, it’s compact enough that I’ll definitely be tossing it in my bag for podcasting on the road. It’s a fantastic microphone that can make you sound like a pro, and at the end of the day, that’s exactly what I’m after.</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/yes-your-tv-probably-has-a-microphone-in-it-heres-how-to-turn-it-off">Yes, your TV probably has a microphone in it — here's how to turn it off</a></li><li><a href="https://www.tomsguide.com/best-picks/best-cheap-headphones">The best cheap headphones: big sound for less</a></li><li><a href="https://www.tomsguide.com/audio/microphones/shure-SM4-review">Shure SM4 review: This musician’s microphone is perfect for beginners</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/peripherals/i-spent-a-week-with-the-razer-seiren-v3-pro-heres-how-it-stacks-up-to-my-elgato-wave-3</link>
                                                                            <description>
                            <![CDATA[ The Razer Seiren V3 Pro is a slick, feature-packed podcasting mic. After a week of testing, can it actually beat the Elgato Wave 3? Here’s my honest take. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">7MYAkP9Ydc8mVwagZiHMyk</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/i5XnJDSFEEDhLa8yBc66wB-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 01 Aug 2026 11:45:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Computing Peripherals]]></category>
                                                    <category><![CDATA[Gaming Peripherals]]></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-320-70.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/i5XnJDSFEEDhLa8yBc66wB-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Razer Seiren V3 Pro]]></media:description>                                                            <media:text><![CDATA[Razer Seiren V3 Pro]]></media:text>
                                <media:title type="plain"><![CDATA[Razer Seiren V3 Pro]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/i5XnJDSFEEDhLa8yBc66wB-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I’ve been podcasting for the better part of 14 years, and the one piece of gear I’ve invested in more than anything else is one of the <a href="https://www.tomsguide.com/best-picks/best-microphones">best microphones</a>. After all, people will forgive so-so or even boring visuals as long as the audio is solid. I ran a Samson C01U Pro for years before switching to my current <a href="https://www.tomsguide.com/reviews/elgato-wave-3-microphone">Elgato Wave 3</a>, and I’m still happy with it. That said, I’ve been testing a pretty strong rival lately — the Razer Seiren V3 Pro.</p><p>Razer’s latest Seiren is a studio-leaning dynamic mic aimed squarely at podcasters and creators who want cleaner sound without a ton of extra gear. It has a solid, Shure-inspired look and comes packed with built-in processing tools that actually help you sound better right out of the box. At $249, it’s not cheap, but you’re getting dual USB-C and XLR connectivity, a 30 mm capsule, and some useful onboard features for the money.</p><p>So, will I ditch my beloved Wave 3 for the Seiren V3 Pro? Read on for what this mic is all about and how it held up after a week of real use.</p><div class="product"><a data-dimension112="03efcb36-8d21-11f1-9888-91fd9399c585" data-action="Deal Block" data-label="Seiren V3 Pro" data-dimension48="Seiren V3 Pro" data-dimension25="$249" href="https://www.amazon.com/Razer-Seiren-Pro-Microphone-Built/dp/B0H1DW8HXQ" 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="rqgYtPsERxh7UatykS8Z3k" name="Razer Seiren V3 Pro" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/rqgYtPsERxh7UatykS8Z3k-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p>The Razer Seiren V3 Pro is a microphone built for streamers, podcasters, and creators who want clear, professional audio with minimal fuss. Its cardioid pattern captures focused vocals while reducing background noise, and its onboard processing tools deliver excellent sound out of the box. Though it's not cheap, it'll take your podcasting/content creation to the next level.<a class="view-deal button" href="https://www.amazon.com/Razer-Seiren-Pro-Microphone-Built/dp/B0H1DW8HXQ" target="_blank" rel="nofollow" data-dimension112="03efcb36-8d21-11f1-9888-91fd9399c585" data-action="Deal Block" data-label="Seiren V3 Pro" data-dimension48="Seiren V3 Pro" data-dimension25="$249">View Deal</a></p></div><h2 id="razer-seiren-v3-pro-what-is-it">Razer Seiren V3 Pro: What is 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:5050px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="fDR6d9yR9W7skBDRoKrrGP" name="Razer Seiren V3 Pro-5" alt="Razer Seiren V3 Pro" src="https://cdn.mos.cms.futurecdn.net/fDR6d9yR9W7skBDRoKrrGP-1920-80.jpg" mos="" align="middle" fullscreen="" width="5050" height="2841" 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>Before I dig into my experience with the Seiren V3 Pro, here’s a quick look at the features so you know what you’re dealing with.</p><p>The Seiren V3 Pro is built to deliver the warm, broadcast-style sound many podcasters and streamers are after. Its cardioid pickup pattern means you speak into the top of the mic, which focuses on your voice while rejecting noise from the sides and rear. That’s especially useful if you’re recording in a regular room rather than a treated studio. It also includes a built-in shock absorber and a removable pop filter to minimize noise and plosives before they reach your recording.</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:4734px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="WCYE9stSXsy6BZpKU4EEgN" name="Razer Seiren V3 Pro-3" alt="Razer Seiren V3 Pro" src="https://cdn.mos.cms.futurecdn.net/WCYE9stSXsy6BZpKU4EEgN-1920-80.jpg" mos="" align="middle" fullscreen="" width="4734" height="2663" 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>One of the standout features is the dual connectivity. You get USB-C for simple plug-and-play use, plus a full XLR connection when you want to run it through a proper audio interface or mixer. That flexibility means the same mic can sit on a basic streaming desk one day and move into a more serious recording setup the next — no need to buy two different mics!</p><p>On the software side, Razer includes onboard DSP tools such as a compressor, expander, limiter, and an AI noise remover. There’s also 32-bit float support in the Razer Synapse app, which gives you more headroom and less chance of clipping when you get loud. </p><p>Between the processing and the extra dynamic range, much of the cleanup happens before the audio even reaches your computer. A physical gain dial sits right on the mic for quick adjustments, and the Chroma RGB ring serves as both a status indicator (mute, levels, etc.) and a bit of customizable flair.</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:5150px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="tAyRBBGGgUwkhLVn4BobnX" name="Razer Seiren V3 Pro-8" alt="Razer Seiren V3 Pro" src="https://cdn.mos.cms.futurecdn.net/tAyRBBGGgUwkhLVn4BobnX-1920-80.jpg" mos="" align="middle" fullscreen="" width="5150" height="2897" 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>Overall, the Seiren V3 Pro feels like the best of both worlds: easy enough for more casual users like me to set up and start using, but with enough depth and customization to keep the more serious audio folks happy.</p><h2 id="razer-seiren-v3-pro-my-experience">Razer Seiren V3 Pro: My experience</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:4721px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="wMR7YgR4vCdytLdJQo76MU" name="Razer Seiren V3 Pro-2" alt="Razer Seiren V3 Pro" src="https://cdn.mos.cms.futurecdn.net/wMR7YgR4vCdytLdJQo76MU-1920-80.jpg" mos="" align="middle" fullscreen="" width="4721" height="2656" 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 was impressed the second I pulled the Razer Seiren V3 Pro out of the box. It’s a slick-looking piece of kit. Objectively, it doesn’t look all that different from other cardioid mics, but it’s a design style I’ve always liked and rarely had the chance to use. Inside the box, you get the mic, its stand, and a long USB cable. One end is USB-A, and Razer includes a USB-A-to-USB-C adapter, a thoughtful little touch.</p><p>Once you plug it into your PC and open the Razer Synapse app, it guides you through a quick setup. You speak into the mic at a normal volume, record a bit of ambient noise, tell it what you’re using it for (podcasting, in my case), and how far the mic is from you. That’s it. The whole process takes less than five minutes and does much of the heavy lifting for you.</p><p>I’m generally happy with the recording quality. My voice comes through full, and there’s almost no background noise. The only real issue is specific to my setup: the mic sits about two feet away from me, and because I live in a pretty bare studio apartment, it can pick up a bit of that empty-room sound. I don’t have that problem with my Elgato Wave 3 since it’s on an arm and I can pull it right up to my mouth. I can’t do that as easily with the Razer, but even at a less-than-ideal distance, the audio still sounds solid.</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:1919px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="tbbBruAfb26hfJdDc2JEJG" name="Razer Seiren V3 Pro - Synapse" alt="Razer Synapse" src="https://cdn.mos.cms.futurecdn.net/tbbBruAfb26hfJdDc2JEJG-1920-80.jpg" mos="" align="middle" fullscreen="" width="1919" height="1079" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Tom's Guide / Razer)</span></figcaption></figure><p>I’m not an audiophile, and I don’t like fussing with settings, so the preset options in Synapse work perfectly fine for me. You can dig in and tweak everything if you want, and I’m sure I could squeeze out even better results with some fine-tuning. For most people, though, the out-of-the-box presets are more than good enough.</p><p>The one real annoyance I encountered is how easy it is to accidentally mute yourself while adjusting the mic. The mute “button” is a large, sensitive target area, and it’s almost impossible not to graze it when repositioning the mic. A proper physical button that requires a bit of force to press would have solved this easily.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ONq1JW"></div>                            </div>                            <script src="https://kwizly.com/embed/ONq1JW.js" async></script><h2 id="razer-seiren-v3-pro-bottom-line">Razer Seiren V3 Pro: Bottom line</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:3865px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="xZbxZnEVtx7mXth9G2zUNd" name="Razer Seiren V3 Pro-7" alt="Razer Seiren V3 Pro" src="https://cdn.mos.cms.futurecdn.net/xZbxZnEVtx7mXth9G2zUNd-1920-80.jpg" mos="" align="middle" fullscreen="" width="3865" height="2174" 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>This is my first time using a Razer microphone, and I have to say that I’m pretty impressed. Between the clean design and the solid set of features, the Seiren V3 Pro feels like a real step up for anyone looking to take their podcasting or content creation more seriously. Yeah, $249 is a chunk of money, and there are cheaper options out there. But if you decide to spend it, I don’t think you’ll walk away disappointed.</p><p>So, back to the question I asked at the start: will I switch from my Elgato Wave 3 to the Razer Seiren V3 Pro? Right now, no. I’d get a lot more out of this mic if I had it on a proper arm so I could keep it closer to my mouth. That said, it’s compact enough that I’ll definitely be tossing it in my bag for podcasting on the road. It’s a fantastic microphone that can make you sound like a pro, and at the end of the day, that’s exactly what I’m after.</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/yes-your-tv-probably-has-a-microphone-in-it-heres-how-to-turn-it-off">Yes, your TV probably has a microphone in it — here's how to turn it off</a></li><li><a href="https://www.tomsguide.com/best-picks/best-cheap-headphones">The best cheap headphones: big sound for less</a></li><li><a href="https://www.tomsguide.com/audio/microphones/shure-SM4-review">Shure SM4 review: This musician’s microphone is perfect for beginners</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tested Starlink-powered 4G on my phone — here's what actually happened in a dead zone ]]></title>
                                                                                                <dc:content><![CDATA[ <p><a href="https://www.tomsguide.com/news/starlink-coverage-map-revealed-heres-where-people-are-using-the-service">Satellite-based internet</a> is nothing new, but the idea of getting satellite internet on your phone is something that has eluded us for a while. A number of smartphones now offer satellite connectivity of some kind, but that's mostly reserved for emergency situations, but the real question is, when will we be able to ditch cellular service and beam our mobile data from space?</p><p>Big tech has already been mulling over this idea for a while now. Elon Musk has <a href="https://www.reuters.com/business/media-telecom/musks-spacex-targets-us-consumers-with-starlink-mobile-service-push-ft-reports-2026-06-26/" target="_blank">talked about making</a> Starlink a direct-to-cell service. And just this week <a href="https://www.semafor.com/article/07/29/2026/spacex-looks-to-compete-with-the-carriers?utm_source=tldrnewsletter" target="_blank">Semafor</a> reported that SpaceX (the parent company of Starlink) may be looking to acquire spectrum at government auction to compete directly with AT&T, Verizon and T-Mobile. Or it may decide to acquire another wireless carrier altogether.</p><p>Meanwhile, <a href="https://www.ft.com/content/83e93ce0-1ebd-4b04-a70c-82ff7b64a5f4?syn-25a6b1a6=1#" target="_blank">Amazon</a> has filed an application to launch its own satellite-based internet service. Fortunately, we don't have to wait for the to get their act together, because carriers around the world have started offering satellite services to their customers.</p><p>Being the curious type, I decided to give one a go and see whether it was actually worth signing up for full time.</p><h2 id="how-satellite-4g-works">How satellite 4G works</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="pcknePfYXoBQFhLBS55wTc" name="PXL_20260725_113038308" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/pcknePfYXoBQFhLBS55wTc-1920-80.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>Those reading this from the U.S. may be aware that T-Mobile <a href="https://www.t-mobile.com/coverage/satellite-phone-service" target="_blank" rel="nofollow">offers</a> a satellite service powered by Starlink. I live in the U.K., and naturally don't have access to T-Mobile, but the <a href="https://www.o2.co.uk/satellite" target="_blank" rel="nofollow">carrier O2</a> offers a similar service as an optional extra. This extra is also powered by Starlink, costs £3/$4 a month, and gives you access to satellite-based 4G should you find yourself without a cell signal or Wi-Fi connection.</p><p>That lack of additional connectivity is crucial to the whole process, because of the way modern smartphones connect to satellites. If there is another form of data connection, be it cellular or Wi-Fi, then the phone will refuse to look for a satellite. The satellite is essentially a last port of call to get your device connected.</p><p>This has led to some amusing instances of my phone looking for a satellite when there's zero chance of making a connection — such as when I was traveling several feet underground on the London Underground's Central Line. That's because I disconnected from cell service for more than a few seconds.</p><h2 id="finding-the-right-spot">Finding the right spot</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:1198px;"><p class="vanilla-image-block" style="padding-top:65.19%;"><img id="4XSjScp6yJJWQk5Le2GCrP" name="Screenshot 2026-07-30 115658" alt="O2 4g coverage map south east" src="https://cdn.mos.cms.futurecdn.net/4XSjScp6yJJWQk5Le2GCrP-1920-80.png" mos="" align="middle" fullscreen="" width="1198" height="781" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Blue is good, orange is ok and white is complete loss of service </span><span class="credit" itemprop="copyrightHolder">(Image credit: O2)</span></figcaption></figure><p>Surprisingly, the connectivity aspect actually caused a problem for me, because O2's outdoor 4G coverage is surprisingly good in my part of the country. There are plenty of areas in the U.K. that don't get any 4G cell signal, let alone 5G, but the <a href="https://www.o2.co.uk/coveragechecker" target="_blank" rel="nofollow"><u>official coverage map</u></a> shows they're mainly in very rural areas — notably mountainous regions of Wales, Scotland and Northern England. </p><p>I live in the South East, roughly around 40 miles from central London. Anyone from different parts of England will be well aware that this is the region where most of the money goes. So, even though I live in a village in a fairly rural area, the cell signal is remarkably robust when you're using an O2 SIM card.</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="RN9vc89cmMLEAeVzGni5ac" name="PXL_20260725_112402829" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/RN9vc89cmMLEAeVzGni5ac-1920-80.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>That's not to say 4G connectivity is universally available. There are various dead spots scattered around the place, according to both O2's own coverage checked and the <a href="https://www.ofcom.org.uk/mobile-coverage-checker" target="_blank">independent map </a>from mobile regulator Ofcom. </p><p>I just had to find one that intersected with a road, ideally one that had ample space to pull over and let me play on my phone. If you've had any experience with British country roads, you'll know that they're often too narrow to do this safely. </p><p>Thankfully, I found a spot roughly 30 minutes away by car. Not only is it a good-size deadspot, it also contains a pub with a sizable parking lot. There are certainly worse places to stop and test some new phone features.</p><h2 id="the-actual-connection-is-easy-and-automatic">The actual connection is easy and automatic</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="JbFx5CXBHBPkkK9bMcwJac" name="PXL_20260725_112359792" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/JbFx5CXBHBPkkK9bMcwJac-1920-80.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>It took a couple of minutes to drive through the deadspot and park my car, by which point my Galaxy S26 Ultra had already connected to Starlink's satellites. That was rather surprising, considering that satellite connectivity typically needs a direct view of the sky to actually make the connection.</p><p>And no, before anyone asks, my car does not have a sun roof. It's totally solid, though I'm unsure of what materials were actually involved in its construction.</p><p>Admittedly, the signal wasn't particularly strong inside the car, illustrated as one bar out of three in the S26 Ultra's status bar. This doesn't change the fact that my phone was connected to the satellite through the car roof, and was receiving data from some Starlink satellite in space.</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:2240px;"><p class="vanilla-image-block" style="padding-top:60.27%;"><img id="T6xE2b5etvDVXGYGzfBHvS" name="Untitled-1 copy.JPG" alt="using 4g over satellite" src="https://cdn.mos.cms.futurecdn.net/T6xE2b5etvDVXGYGzfBHvS-1920-80.jpg" mos="" align="middle" fullscreen="" width="2240" height="1350" 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>My next move was to stick the phone out of my window and raise it up towards the sky. It took about a minute for the S26 Ultra to register that circumstances had changed, and there were no obstacles in the way — at which point the signal jumped up to two bars. </p><p>It never hit three bars, though, despite the fact I was in an open area with relatively clear skies. I should also note that moving inside the pub, a 350-year old building with a thatched roof, cut off all access to the satellite. So while the signal may be able to penetrate my car, it isn't magic.</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="dFWP6PdLdWD6JSDVZKJwZc" name="PXL_20260725_112408008" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/dFWP6PdLdWD6JSDVZKJwZc-1920-80.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>Accessing <a href="https://www.tomsguide.com/news/how-to-use-google-maps">Google Maps</a> from inside my car was a slightly drawn out affair. The app warned me that it was connected to the satellite, with lower loading times, and it took between 30 and 60 seconds for the actual map interface to load up fully. Shifting things outside and the load times were significantly reduced, though nowhere near as quick as they are with a 4G connection, let alone 5G.</p><p>So you're not going to be tapping your feet staring at your phone waiting for an all-important app to load over the course of several minutes. But your speeds aren't going to be as instantaneous as they might be with full bars of cell signal.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XjaEaO"></div>                            </div>                            <script src="https://kwizly.com/embed/XjaEaO.js" async></script><h2 id="this-isn-t-unrestricted-4g-like-you-re-used-to">This isn't unrestricted 4G like you're used to</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="2TDkkh3fLyKXHCQzRu2qac" name="PXL_20260725_112542141" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/2TDkkh3fLyKXHCQzRu2qac-1920-80.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>It was a surprisingly effective system, though the main drawback is that there are limitations on the apps you're able to use. These limitations seem to have been coded in at a system level by your phone rather than by the carrier. My personal guess is that this is due to modern phones treating satellite connectivity as an emergency feature, rather than a stable source of data.</p><p>This means that you will only be able to use the bare minimum of apps you need to communicate, navigate and potentially allow yourself to be found in an emergency. We're talking about things like Google Maps, Google Find Hub, Messages and the weather. </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="Q29W3qAJLdrTPZnNRuQriS" name="satellite1.JPG" alt="using 4g over satellite" src="https://cdn.mos.cms.futurecdn.net/Q29W3qAJLdrTPZnNRuQriS-1920-80.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>The latter may seem like an odd choice, but if you're out in the sticks by yourself with no vehicle or shelter, being able to keep tabs on the weather is essential. It could be the difference between you being stuck in a freak storm and finding somewhere to hunker down and ride it out in relative safety.</p><p>Your more frivolous apps, like social media and web browsers, are all disconnected and behave as though you don't have any active data connection. So don't expect to be sitting on a mountain somewhere catching up on your favorite Netflix series. That's not what this system is for, and the app straight up won't work if you try it.</p><p>Likewise, any third-party apps that could prove useful in precarious situations, such as mapping apps, still behave as though they are offline. The good news for wilderness-enthusiasts is that you can still get GPS with no data, but if assets haven't loaded, or are hilariously out of date, then the lack of data to update could end up being a problem.</p><h2 id="a-fantastic-backup-tool-but-it-s-not-replacing-cell-service-yet">A fantastic backup tool, but it's not replacing cell service 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:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kvmLGEA874pjyQVDihV5ac" name="PXL_20260725_112346025" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/kvmLGEA874pjyQVDihV5ac-1920-80.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>If you live out in a deadspot, or regularly find yourself in one, then gaining satellite access through your carrier is not going to make up for the fact there's no cell signal. The limitations in what the satellite connection can or can't do means that it's not a true replacement for cell service in the way a full Starlink setup would be for home internet.</p><p>But this sure as heck beats being stuck with zero access to the internet. Carrier-supplied 4G may not be able to give you access to web browsers and streaming, but it keeps you hooked into the apps that you might actually need in a pinch. In short, it means that you will always be able to reach the outside world in the event that you desperately need to.</p><p>Some may not like the fact that it's getting harder and harder to disconnect, but this means that you won't be stuck in the middle of nowhere without support. The fact that satellite access still worked in my car, and loaded up Google Maps, will easily be a major boon for navigating areas with little to no cell service. Which isn't a bad deal for $4 a month (or $10 a month with T-Mobile).</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/phones/iphones/i-turned-my-iphone-screen-completely-gray-for-two-weeks-heres-how-making-it-boring-helped-me-get-my-brain-back">I turned my iPhone screen completely gray for two weeks — here's how making it boring helped me get my brain back</a></li><li><a href="https://www.tomsguide.com/phones/i-shot-the-same-25-photos-with-a-usd329-budget-phone-and-usd1-199-flagship-heres-the-results">I shot the same 25 photos with a $329 budget phone and $1,199 flagship — here's the results</a></li><li><a href="https://www.tomsguide.com/phones/i-got-sick-of-buying-cases-for-my-phones-so-i-decided-to-3d-print-them-at-home-heres-what-happened">I got sick of buying cases for my phones, so I decided to 3D print them at home — here's what happened</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/network-carriers/i-tested-starlink-powered-4g-on-my-phone-heres-what-actually-happened-in-a-dead-zone</link>
                                                                            <description>
                            <![CDATA[ Carriers around the world now offer plans with 4G satellite data when normal service isn't available. Curious as to what it was like, I drove into the sticks to find out what it was like. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">kcLRdz8d3RPfh6VKGLoZAd</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/7ZkrNW59zysDZ5wUTkqqHc-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 30 Jul 2026 13:55:05 +0000</pubDate>                                                                                                                                <updated>Thu, 30 Jul 2026 13:55:11 +0000</updated>
                                                                                                                                            <category><![CDATA[Network Carriers]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Computing]]></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-320-70.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/7ZkrNW59zysDZ5wUTkqqHc-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[4g connection over satellite on galaxy s26 ultra]]></media:description>                                                            <media:text><![CDATA[4g connection over satellite on galaxy s26 ultra]]></media:text>
                                <media:title type="plain"><![CDATA[4g connection over satellite on galaxy s26 ultra]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/7ZkrNW59zysDZ5wUTkqqHc-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p><a href="https://www.tomsguide.com/news/starlink-coverage-map-revealed-heres-where-people-are-using-the-service">Satellite-based internet</a> is nothing new, but the idea of getting satellite internet on your phone is something that has eluded us for a while. A number of smartphones now offer satellite connectivity of some kind, but that's mostly reserved for emergency situations, but the real question is, when will we be able to ditch cellular service and beam our mobile data from space?</p><p>Big tech has already been mulling over this idea for a while now. Elon Musk has <a href="https://www.reuters.com/business/media-telecom/musks-spacex-targets-us-consumers-with-starlink-mobile-service-push-ft-reports-2026-06-26/" target="_blank">talked about making</a> Starlink a direct-to-cell service. And just this week <a href="https://www.semafor.com/article/07/29/2026/spacex-looks-to-compete-with-the-carriers?utm_source=tldrnewsletter" target="_blank">Semafor</a> reported that SpaceX (the parent company of Starlink) may be looking to acquire spectrum at government auction to compete directly with AT&T, Verizon and T-Mobile. Or it may decide to acquire another wireless carrier altogether.</p><p>Meanwhile, <a href="https://www.ft.com/content/83e93ce0-1ebd-4b04-a70c-82ff7b64a5f4?syn-25a6b1a6=1#" target="_blank">Amazon</a> has filed an application to launch its own satellite-based internet service. Fortunately, we don't have to wait for the to get their act together, because carriers around the world have started offering satellite services to their customers.</p><p>Being the curious type, I decided to give one a go and see whether it was actually worth signing up for full time.</p><h2 id="how-satellite-4g-works">How satellite 4G works</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="pcknePfYXoBQFhLBS55wTc" name="PXL_20260725_113038308" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/pcknePfYXoBQFhLBS55wTc-1920-80.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>Those reading this from the U.S. may be aware that T-Mobile <a href="https://www.t-mobile.com/coverage/satellite-phone-service" target="_blank" rel="nofollow">offers</a> a satellite service powered by Starlink. I live in the U.K., and naturally don't have access to T-Mobile, but the <a href="https://www.o2.co.uk/satellite" target="_blank" rel="nofollow">carrier O2</a> offers a similar service as an optional extra. This extra is also powered by Starlink, costs £3/$4 a month, and gives you access to satellite-based 4G should you find yourself without a cell signal or Wi-Fi connection.</p><p>That lack of additional connectivity is crucial to the whole process, because of the way modern smartphones connect to satellites. If there is another form of data connection, be it cellular or Wi-Fi, then the phone will refuse to look for a satellite. The satellite is essentially a last port of call to get your device connected.</p><p>This has led to some amusing instances of my phone looking for a satellite when there's zero chance of making a connection — such as when I was traveling several feet underground on the London Underground's Central Line. That's because I disconnected from cell service for more than a few seconds.</p><h2 id="finding-the-right-spot">Finding the right spot</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:1198px;"><p class="vanilla-image-block" style="padding-top:65.19%;"><img id="4XSjScp6yJJWQk5Le2GCrP" name="Screenshot 2026-07-30 115658" alt="O2 4g coverage map south east" src="https://cdn.mos.cms.futurecdn.net/4XSjScp6yJJWQk5Le2GCrP-1920-80.png" mos="" align="middle" fullscreen="" width="1198" height="781" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Blue is good, orange is ok and white is complete loss of service </span><span class="credit" itemprop="copyrightHolder">(Image credit: O2)</span></figcaption></figure><p>Surprisingly, the connectivity aspect actually caused a problem for me, because O2's outdoor 4G coverage is surprisingly good in my part of the country. There are plenty of areas in the U.K. that don't get any 4G cell signal, let alone 5G, but the <a href="https://www.o2.co.uk/coveragechecker" target="_blank" rel="nofollow"><u>official coverage map</u></a> shows they're mainly in very rural areas — notably mountainous regions of Wales, Scotland and Northern England. </p><p>I live in the South East, roughly around 40 miles from central London. Anyone from different parts of England will be well aware that this is the region where most of the money goes. So, even though I live in a village in a fairly rural area, the cell signal is remarkably robust when you're using an O2 SIM card.</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="RN9vc89cmMLEAeVzGni5ac" name="PXL_20260725_112402829" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/RN9vc89cmMLEAeVzGni5ac-1920-80.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>That's not to say 4G connectivity is universally available. There are various dead spots scattered around the place, according to both O2's own coverage checked and the <a href="https://www.ofcom.org.uk/mobile-coverage-checker" target="_blank">independent map </a>from mobile regulator Ofcom. </p><p>I just had to find one that intersected with a road, ideally one that had ample space to pull over and let me play on my phone. If you've had any experience with British country roads, you'll know that they're often too narrow to do this safely. </p><p>Thankfully, I found a spot roughly 30 minutes away by car. Not only is it a good-size deadspot, it also contains a pub with a sizable parking lot. There are certainly worse places to stop and test some new phone features.</p><h2 id="the-actual-connection-is-easy-and-automatic">The actual connection is easy and automatic</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="JbFx5CXBHBPkkK9bMcwJac" name="PXL_20260725_112359792" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/JbFx5CXBHBPkkK9bMcwJac-1920-80.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>It took a couple of minutes to drive through the deadspot and park my car, by which point my Galaxy S26 Ultra had already connected to Starlink's satellites. That was rather surprising, considering that satellite connectivity typically needs a direct view of the sky to actually make the connection.</p><p>And no, before anyone asks, my car does not have a sun roof. It's totally solid, though I'm unsure of what materials were actually involved in its construction.</p><p>Admittedly, the signal wasn't particularly strong inside the car, illustrated as one bar out of three in the S26 Ultra's status bar. This doesn't change the fact that my phone was connected to the satellite through the car roof, and was receiving data from some Starlink satellite in space.</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:2240px;"><p class="vanilla-image-block" style="padding-top:60.27%;"><img id="T6xE2b5etvDVXGYGzfBHvS" name="Untitled-1 copy.JPG" alt="using 4g over satellite" src="https://cdn.mos.cms.futurecdn.net/T6xE2b5etvDVXGYGzfBHvS-1920-80.jpg" mos="" align="middle" fullscreen="" width="2240" height="1350" 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>My next move was to stick the phone out of my window and raise it up towards the sky. It took about a minute for the S26 Ultra to register that circumstances had changed, and there were no obstacles in the way — at which point the signal jumped up to two bars. </p><p>It never hit three bars, though, despite the fact I was in an open area with relatively clear skies. I should also note that moving inside the pub, a 350-year old building with a thatched roof, cut off all access to the satellite. So while the signal may be able to penetrate my car, it isn't magic.</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="dFWP6PdLdWD6JSDVZKJwZc" name="PXL_20260725_112408008" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/dFWP6PdLdWD6JSDVZKJwZc-1920-80.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>Accessing <a href="https://www.tomsguide.com/news/how-to-use-google-maps">Google Maps</a> from inside my car was a slightly drawn out affair. The app warned me that it was connected to the satellite, with lower loading times, and it took between 30 and 60 seconds for the actual map interface to load up fully. Shifting things outside and the load times were significantly reduced, though nowhere near as quick as they are with a 4G connection, let alone 5G.</p><p>So you're not going to be tapping your feet staring at your phone waiting for an all-important app to load over the course of several minutes. But your speeds aren't going to be as instantaneous as they might be with full bars of cell signal.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XjaEaO"></div>                            </div>                            <script src="https://kwizly.com/embed/XjaEaO.js" async></script><h2 id="this-isn-t-unrestricted-4g-like-you-re-used-to">This isn't unrestricted 4G like you're used to</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="2TDkkh3fLyKXHCQzRu2qac" name="PXL_20260725_112542141" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/2TDkkh3fLyKXHCQzRu2qac-1920-80.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>It was a surprisingly effective system, though the main drawback is that there are limitations on the apps you're able to use. These limitations seem to have been coded in at a system level by your phone rather than by the carrier. My personal guess is that this is due to modern phones treating satellite connectivity as an emergency feature, rather than a stable source of data.</p><p>This means that you will only be able to use the bare minimum of apps you need to communicate, navigate and potentially allow yourself to be found in an emergency. We're talking about things like Google Maps, Google Find Hub, Messages and the weather. </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="Q29W3qAJLdrTPZnNRuQriS" name="satellite1.JPG" alt="using 4g over satellite" src="https://cdn.mos.cms.futurecdn.net/Q29W3qAJLdrTPZnNRuQriS-1920-80.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>The latter may seem like an odd choice, but if you're out in the sticks by yourself with no vehicle or shelter, being able to keep tabs on the weather is essential. It could be the difference between you being stuck in a freak storm and finding somewhere to hunker down and ride it out in relative safety.</p><p>Your more frivolous apps, like social media and web browsers, are all disconnected and behave as though you don't have any active data connection. So don't expect to be sitting on a mountain somewhere catching up on your favorite Netflix series. That's not what this system is for, and the app straight up won't work if you try it.</p><p>Likewise, any third-party apps that could prove useful in precarious situations, such as mapping apps, still behave as though they are offline. The good news for wilderness-enthusiasts is that you can still get GPS with no data, but if assets haven't loaded, or are hilariously out of date, then the lack of data to update could end up being a problem.</p><h2 id="a-fantastic-backup-tool-but-it-s-not-replacing-cell-service-yet">A fantastic backup tool, but it's not replacing cell service 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:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kvmLGEA874pjyQVDihV5ac" name="PXL_20260725_112346025" alt="4g connection over satellite on galaxy s26 ultra" src="https://cdn.mos.cms.futurecdn.net/kvmLGEA874pjyQVDihV5ac-1920-80.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>If you live out in a deadspot, or regularly find yourself in one, then gaining satellite access through your carrier is not going to make up for the fact there's no cell signal. The limitations in what the satellite connection can or can't do means that it's not a true replacement for cell service in the way a full Starlink setup would be for home internet.</p><p>But this sure as heck beats being stuck with zero access to the internet. Carrier-supplied 4G may not be able to give you access to web browsers and streaming, but it keeps you hooked into the apps that you might actually need in a pinch. In short, it means that you will always be able to reach the outside world in the event that you desperately need to.</p><p>Some may not like the fact that it's getting harder and harder to disconnect, but this means that you won't be stuck in the middle of nowhere without support. The fact that satellite access still worked in my car, and loaded up Google Maps, will easily be a major boon for navigating areas with little to no cell service. Which isn't a bad deal for $4 a month (or $10 a month with T-Mobile).</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/phones/iphones/i-turned-my-iphone-screen-completely-gray-for-two-weeks-heres-how-making-it-boring-helped-me-get-my-brain-back">I turned my iPhone screen completely gray for two weeks — here's how making it boring helped me get my brain back</a></li><li><a href="https://www.tomsguide.com/phones/i-shot-the-same-25-photos-with-a-usd329-budget-phone-and-usd1-199-flagship-heres-the-results">I shot the same 25 photos with a $329 budget phone and $1,199 flagship — here's the results</a></li><li><a href="https://www.tomsguide.com/phones/i-got-sick-of-buying-cases-for-my-phones-so-i-decided-to-3d-print-them-at-home-heres-what-happened">I got sick of buying cases for my phones, so I decided to 3D print them at home — here's what happened</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I took Rivian's $4,500 ebike for a test ride, and it felt like the future ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Can't afford a <a href="https://www.tomsguide.com/vehicle-tech/evs/2026-rivian-r1s-review">Rivian EV</a>? Then how about an e-bike with the same stylings and some of the tech as the luxury carmaker? I had a chance to test ride the Also TM-B, a new electric bike from a company spun out of Rivian. </p><p>The bike shares some vestigial DNA with the parent company — just check out it headlights — but also has a drivetrain and features that set it apart from other electric bikes. </p><p>The TM-B (which stands for "Transcendent Mobility-Bike") also comes with a pretty steep price tag, especially when compared to the <a href="https://www.tomsguide.com/best-picks/best-electric-bikes">best electric bikes</a> we've tested. Can its performance transcend its price?</p><h3 class="article-body__section" id="section-price-and-configurations"><span>Price and configurations</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="UzaU7CEAvv4H5C43NPYzJM" name="TM-B bike 2" alt="Also TM-B" src="https://cdn.mos.cms.futurecdn.net/UzaU7CEAvv4H5C43NPYzJM-1920-80.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>This Rivian-inspired ebike also has a Rivian-size price tag. The base model TM-B, which has a 538Wh battery with a range of 60 miles, air shocks and front coil suspension, costs $3,500. The Performance model, which has an 808Wh battery with a range of 100 miles and air shocks and air coils, costs $4,500.</p><p>When configuring your bike online, you can choose either a small or large frame, and can even add a splash of color by picking from a gray, orange, purple, blue, or yellow seatpost.</p><p>You can also pick a seatpost with a built-in rear rack for an extra $150, or a larger bench-style seat for $50. Fenders are not included; they're a $125 extra, and if you want all-terrain tires, that will set you back an additional $200.</p><p>Also plans to release additional accessories, such as a rear passenger seat, front rack, and panniers in the future.</p><p>The company is currently taking preorders, with shipments expected to start in August; that's a bit of a delay from earlier announcements, as it was initially targeting the first half of 2026.</p><h3 class="article-body__section" id="section-design"><span>Design</span></h3><p>The TM-B stands out for its unique design, which is unlike any other electric bike I've seen, save perhaps for the <a href="https://www.infinitemachine.com/olto" target="_blank">Infinite Machine Olto</a> (also an eye-watering $3,450). Both scream "futuristic," by the TM-B is a little less dystopian.</p><p>At the core of the TM-B is a squarish section that houses the motor and battery. The cover is transparent, so you can see the belt drive as it winds its way around the sprocket. Half of the space is taken up by the battery, which can be removed by turning a small handle, but only after you press a button on the center console to release the electronic lock.</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="8NC8WEym6CBKQnHjfc4iGR" name="TM-B battery" alt="Also TM-B battery" src="https://cdn.mos.cms.futurecdn.net/8NC8WEym6CBKQnHjfc4iGR-1920-80.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>Not only can the battery be recharged away from the bike, but it also has two USB-C ports, so you can use it as an external power source for your devices.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/CFygV6fzq7LGnKuLbEDLwX-1920-80.jpg" alt="Also TM-B display" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/JeeMTyUVGRJvgSzNETZJcZ-1920-80.jpg" alt="Also TM-B" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/u2fv6K2YeMxZUjbsdNw8Mb-1920-80.jpg" alt="Also TM-B" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Equally futuristic is the TM-B's center display, a large circular affair that shows everything from your speed and distance to whether or not you're using power from the battery or adding to it via regenerative braking.</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="erMD9Hm4WYrucuPiyvnYLe" name="TM-B front turn signal" alt="Also TM-B turn signal" src="https://cdn.mos.cms.futurecdn.net/erMD9Hm4WYrucuPiyvnYLe-1920-80.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>The bike has both front and rear turn signals — something I like — but, due to the design of the lights (which look like the headlight on a Rivian), the turn signals are smushed together, so it's not as obvious if you're turning left or right.</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="PpAXouRnzqp5wEeYbagnJV" name="TM-B bike riding" alt="Also TM-B handlebars" src="https://cdn.mos.cms.futurecdn.net/PpAXouRnzqp5wEeYbagnJV-1920-80.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>Each handlebar has a cluster of controls ; on the right is a throttle, while the left has a scroll wheel and selector button for navigating the on-screen menus. Interestingly, the turn signals are activated by using your index fingers, something I've not seen on any other e-bike or scooter.</p><p>The seatpost of the TM-B is also connected electronically, and can only be released using the center control (or the Also app). The bike is designed so that, if you buy a model without a rear rack, but decide you want one later, the company will send you the rack along with a new seat, rather than just the rack itself. </p><h3 class="article-body__section" id="section-the-ride"><span>The ride</span></h3><p>I (and my rear end) really appreciated the dual suspension of the TM-B as I rode over cobblestoned streets and potholes of lower Manhattan. </p><p>Unlike a regular ebike, your pedaling motion doesn't directly translate to moving the rear wheel. Instead, you're basically spinning a generator, which is recharging the battery; a separate, disconnected motor is then doing the work. </p><p>This novel setup allows Also to do some pretty interesting things. You can ride it like a traditional e-bike, and adjust the level of motor assist, or you can switch to a mode where selecting a different assist level is more akin to switching gears on a regular bike. </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="4oevH8SCjcaBfWi97i7Nuh" name="TM-B rear suspension" alt="Also TM-B" src="https://cdn.mos.cms.futurecdn.net/4oevH8SCjcaBfWi97i7Nuh-1920-80.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>I tried both modes, and could definitely feel the difference between the two; the latter requires you to pedal a bit more, but the bike feels more responsive to your inputs; I would liken it to driving stick vs. automatic. </p><p>The TM-B's handlebars are mounted in a aggressive stance, more like a mountain bike than a commuter. I felt the handlebars were set a bit too wide for my tastes, and put a bit of extra pressure on my shoulders as compared to the other ebikes I've ridden. If you're considering buying this bike, I would definitely recommend a test ride first.</p><p>The TM-B is rated as a Class 3 e-bike; it has a top assisted speed of 28 miles per hour, and its thumb throttle can accelerate the bike up to 20 MPH where it's permitted. It certainly felt zippy as I was cruising through traffic, with a fast, smooth acceleration curve.</p><h3 class="article-body__section" id="section-outlook"><span>Outlook</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="hhEw7thbFTJSKov7yc86em" name="TM-B bike full" alt="Also TM-B" src="https://cdn.mos.cms.futurecdn.net/hhEw7thbFTJSKov7yc86em-1920-80.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>There's no doubt that the Also TM-B was a fun ride. Apart from my issues with the handlebar design, I enjoyed riding the bike up and down the west side of Manhattan, even though it was on a day where the skies were filled with smoke from Canadian wildfires.</p><p>The issue I suspect many will have with the TM-B is its price. At $4,500 for the top-end model, it's up there with other premium ebikes such as the <a href="https://www.gazellebikes.com/en-us/ebikes/gazelle-avignon-c380" target="_blank" rel="nofollow">Gazelle Avignon</a> and <a href="https://www.cannondale.com/en-us/bikes/electric/e-urban/mavaro-neo/mavaro-neo-2-low-stepthru" target="_blank" rel="nofollow">Cannondale Mavaro 2</a>, though those models aren't as futuristic-looking, and only have front suspension.  </p><p>Still, I like that companies such as Also are experimenting with new ebike designs and features, even if they're out of the range for most riders right 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/vehicle-tech/evs/i-drove-the-rivian-r1t-and-chevrolet-silverado-ev-for-a-week-heres-the-winner">I drove the Rivian R1T and Chevrolet Silverado EV for a week — here’s the winner</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/electric-bikes/7-things-to-consider-when-shopping-for-your-first-e-bike">7 things to consider when shopping for your first e-bike</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/electric-bikes/how-much-e-assistance-do-you-really-need-e-bike-motor-types-explained">How much e-assistance do you really need? E-bike motor types explained</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/vehicle-tech/electric-bikes/i-took-rivians-usd4-500-ebike-for-a-test-ride-and-it-felt-like-the-future</link>
                                                                            <description>
                            <![CDATA[ I took the Rivian-inspired Also TM-B for a test ride, and it was as impressive as you would think for a $4,500 e-bike. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Zg3A2eok9t78CBeepmyxKm</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/zepgurZcd9yAdZKpV3qMuH-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 30 Jul 2026 10:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Electric Bikes]]></category>
                                                    <category><![CDATA[Vehicle Tech]]></category>
                                                                                                <author><![CDATA[ mike.prospero@futurenet.com (Mike Prospero) ]]></author>                    <dc:creator><![CDATA[ Mike Prospero ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xeJFBrJwXQzCqXLZXBFBKQ-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Michael A. Prospero is the U.S. Editor-in-Chief for Tom’s Guide.  In his spare time, he also tests out the latest drones, electric scooters, and smart home gadgets, such as video doorbells. Before his tenure at Tom&#039;s Guide, he was the Reviews Editor for Laptop Magazine, a reporter at Fast Company, the Times of Trenton, and, many eons back, an intern at George magazine. He received his undergraduate degree from Boston College, where he worked on the campus newspaper The Heights, and then attended the Columbia University school of Journalism. When he’s not testing out the latest running watch, electric scooter, or skiing or training for a marathon, he’s probably using the latest sous vide machine, smoker, or pizza oven, to the delight — or chagrin — of his family.&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/zepgurZcd9yAdZKpV3qMuH-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Also TM-B]]></media:description>                                                            <media:text><![CDATA[Also TM-B]]></media:text>
                                <media:title type="plain"><![CDATA[Also TM-B]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/zepgurZcd9yAdZKpV3qMuH-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Can't afford a <a href="https://www.tomsguide.com/vehicle-tech/evs/2026-rivian-r1s-review">Rivian EV</a>? Then how about an e-bike with the same stylings and some of the tech as the luxury carmaker? I had a chance to test ride the Also TM-B, a new electric bike from a company spun out of Rivian. </p><p>The bike shares some vestigial DNA with the parent company — just check out it headlights — but also has a drivetrain and features that set it apart from other electric bikes. </p><p>The TM-B (which stands for "Transcendent Mobility-Bike") also comes with a pretty steep price tag, especially when compared to the <a href="https://www.tomsguide.com/best-picks/best-electric-bikes">best electric bikes</a> we've tested. Can its performance transcend its price?</p><h3 class="article-body__section" id="section-price-and-configurations"><span>Price and configurations</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="UzaU7CEAvv4H5C43NPYzJM" name="TM-B bike 2" alt="Also TM-B" src="https://cdn.mos.cms.futurecdn.net/UzaU7CEAvv4H5C43NPYzJM-1920-80.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>This Rivian-inspired ebike also has a Rivian-size price tag. The base model TM-B, which has a 538Wh battery with a range of 60 miles, air shocks and front coil suspension, costs $3,500. The Performance model, which has an 808Wh battery with a range of 100 miles and air shocks and air coils, costs $4,500.</p><p>When configuring your bike online, you can choose either a small or large frame, and can even add a splash of color by picking from a gray, orange, purple, blue, or yellow seatpost.</p><p>You can also pick a seatpost with a built-in rear rack for an extra $150, or a larger bench-style seat for $50. Fenders are not included; they're a $125 extra, and if you want all-terrain tires, that will set you back an additional $200.</p><p>Also plans to release additional accessories, such as a rear passenger seat, front rack, and panniers in the future.</p><p>The company is currently taking preorders, with shipments expected to start in August; that's a bit of a delay from earlier announcements, as it was initially targeting the first half of 2026.</p><h3 class="article-body__section" id="section-design"><span>Design</span></h3><p>The TM-B stands out for its unique design, which is unlike any other electric bike I've seen, save perhaps for the <a href="https://www.infinitemachine.com/olto" target="_blank">Infinite Machine Olto</a> (also an eye-watering $3,450). Both scream "futuristic," by the TM-B is a little less dystopian.</p><p>At the core of the TM-B is a squarish section that houses the motor and battery. The cover is transparent, so you can see the belt drive as it winds its way around the sprocket. Half of the space is taken up by the battery, which can be removed by turning a small handle, but only after you press a button on the center console to release the electronic lock.</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="8NC8WEym6CBKQnHjfc4iGR" name="TM-B battery" alt="Also TM-B battery" src="https://cdn.mos.cms.futurecdn.net/8NC8WEym6CBKQnHjfc4iGR-1920-80.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>Not only can the battery be recharged away from the bike, but it also has two USB-C ports, so you can use it as an external power source for your devices.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/CFygV6fzq7LGnKuLbEDLwX-1920-80.jpg" alt="Also TM-B display" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/JeeMTyUVGRJvgSzNETZJcZ-1920-80.jpg" alt="Also TM-B" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/u2fv6K2YeMxZUjbsdNw8Mb-1920-80.jpg" alt="Also TM-B" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Equally futuristic is the TM-B's center display, a large circular affair that shows everything from your speed and distance to whether or not you're using power from the battery or adding to it via regenerative braking.</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="erMD9Hm4WYrucuPiyvnYLe" name="TM-B front turn signal" alt="Also TM-B turn signal" src="https://cdn.mos.cms.futurecdn.net/erMD9Hm4WYrucuPiyvnYLe-1920-80.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>The bike has both front and rear turn signals — something I like — but, due to the design of the lights (which look like the headlight on a Rivian), the turn signals are smushed together, so it's not as obvious if you're turning left or right.</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="PpAXouRnzqp5wEeYbagnJV" name="TM-B bike riding" alt="Also TM-B handlebars" src="https://cdn.mos.cms.futurecdn.net/PpAXouRnzqp5wEeYbagnJV-1920-80.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>Each handlebar has a cluster of controls ; on the right is a throttle, while the left has a scroll wheel and selector button for navigating the on-screen menus. Interestingly, the turn signals are activated by using your index fingers, something I've not seen on any other e-bike or scooter.</p><p>The seatpost of the TM-B is also connected electronically, and can only be released using the center control (or the Also app). The bike is designed so that, if you buy a model without a rear rack, but decide you want one later, the company will send you the rack along with a new seat, rather than just the rack itself. </p><h3 class="article-body__section" id="section-the-ride"><span>The ride</span></h3><p>I (and my rear end) really appreciated the dual suspension of the TM-B as I rode over cobblestoned streets and potholes of lower Manhattan. </p><p>Unlike a regular ebike, your pedaling motion doesn't directly translate to moving the rear wheel. Instead, you're basically spinning a generator, which is recharging the battery; a separate, disconnected motor is then doing the work. </p><p>This novel setup allows Also to do some pretty interesting things. You can ride it like a traditional e-bike, and adjust the level of motor assist, or you can switch to a mode where selecting a different assist level is more akin to switching gears on a regular bike. </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="4oevH8SCjcaBfWi97i7Nuh" name="TM-B rear suspension" alt="Also TM-B" src="https://cdn.mos.cms.futurecdn.net/4oevH8SCjcaBfWi97i7Nuh-1920-80.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>I tried both modes, and could definitely feel the difference between the two; the latter requires you to pedal a bit more, but the bike feels more responsive to your inputs; I would liken it to driving stick vs. automatic. </p><p>The TM-B's handlebars are mounted in a aggressive stance, more like a mountain bike than a commuter. I felt the handlebars were set a bit too wide for my tastes, and put a bit of extra pressure on my shoulders as compared to the other ebikes I've ridden. If you're considering buying this bike, I would definitely recommend a test ride first.</p><p>The TM-B is rated as a Class 3 e-bike; it has a top assisted speed of 28 miles per hour, and its thumb throttle can accelerate the bike up to 20 MPH where it's permitted. It certainly felt zippy as I was cruising through traffic, with a fast, smooth acceleration curve.</p><h3 class="article-body__section" id="section-outlook"><span>Outlook</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="hhEw7thbFTJSKov7yc86em" name="TM-B bike full" alt="Also TM-B" src="https://cdn.mos.cms.futurecdn.net/hhEw7thbFTJSKov7yc86em-1920-80.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>There's no doubt that the Also TM-B was a fun ride. Apart from my issues with the handlebar design, I enjoyed riding the bike up and down the west side of Manhattan, even though it was on a day where the skies were filled with smoke from Canadian wildfires.</p><p>The issue I suspect many will have with the TM-B is its price. At $4,500 for the top-end model, it's up there with other premium ebikes such as the <a href="https://www.gazellebikes.com/en-us/ebikes/gazelle-avignon-c380" target="_blank" rel="nofollow">Gazelle Avignon</a> and <a href="https://www.cannondale.com/en-us/bikes/electric/e-urban/mavaro-neo/mavaro-neo-2-low-stepthru" target="_blank" rel="nofollow">Cannondale Mavaro 2</a>, though those models aren't as futuristic-looking, and only have front suspension.  </p><p>Still, I like that companies such as Also are experimenting with new ebike designs and features, even if they're out of the range for most riders right 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/vehicle-tech/evs/i-drove-the-rivian-r1t-and-chevrolet-silverado-ev-for-a-week-heres-the-winner">I drove the Rivian R1T and Chevrolet Silverado EV for a week — here’s the winner</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/electric-bikes/7-things-to-consider-when-shopping-for-your-first-e-bike">7 things to consider when shopping for your first e-bike</a></li><li><a href="https://www.tomsguide.com/vehicle-tech/electric-bikes/how-much-e-assistance-do-you-really-need-e-bike-motor-types-explained">How much e-assistance do you really need? E-bike motor types explained</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tried using the Galaxy Z Fold 8’s MyFanCam on my dogs, but I hit a major wall ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Samsung Galaxy Z 8</a> series seems mostly focused on hardware upgrades, but there are still some excellent new AI and software features for you to take advantage of. My current favorite is MyFanCam, which edits a video to follow an individual rather than including the entire frame. Unfortunately, having tested the feature, there's one downside I didn't anticipate.</p><p>I have two very energetic dogs, and I had hoped MyFanCam would help make videos of them playing a little easier to follow. Unfortunately the AI is only capable of recognizing people, which means my dreams of more stable and easy to follow videos of my dog chasing a ball have been dashed — for now.</p><div class="product"><a data-dimension112="827571f4-87a4-11f1-b7eb-3d8306df317c" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension25="$0" href="https://www.samsung.com/us/smartphones/galaxy-z-flip8/buy/galaxy-z-flip8-256gb-unlocked-sku-sm-f776uliaxaa/" 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="airedale-K3AQ3stDNey4NiS8bxtM7X-0" name="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YFnsbuxZypxrkdepxUH3h9-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Flip 8: </strong><a href="https://www.samsung.com/us/smartphones/galaxy-z-flip8/buy/galaxy-z-flip8-256gb-unlocked-sku-sm-f776uliaxaa/" target="_blank" rel="nofollow" data-dimension112="827571f4-87a4-11f1-b7eb-3d8306df317c" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension25="$0"><strong>up to $600 off w/ trade-in @ Samsung</strong></a><br>Samsung is knocking up to $600 off its Galaxy Z Flip 8 preorder when you trade-in an older phone. Or you can get a $150 Samsung credit with no trade-in. <br><br><strong>Also check out these coupons: </strong><br>🎟️ <a href="https://www.techradar.com/outlink?subtag=hawk-custom-tracking&countryCode=US&siteCode=techradar&secCode=b022b312c3d79d3c8edc4b4925be465f624ac4ca00de31384a58b09177cc573b&redirect=https%3A%2F%2Fc.next2.io%3Fsid%3D11175266%26said%3Dtechradar.com%26partnerId%3Dhawk-custom-tracking%26link%3Dhttps%253A%252F%252Fwww.samsung.com%252Fus%252Fbusiness%252F%26merchantId%3D214378%26fallback_url%3Dhttps%253A%252F%252Fclick.linksynergy.com%252Fdeeplink%253Fid%253DizUPF8VmRng%2526mid%253D47773%2526u1%253Dhawk-custom-tracking%2526murl%253Dhttps%25253A%25252F%25252Fwww.samsung.com%25252Fus%25252Fbusiness%25252F&type=product&id=484787-2980b2d8ea6df6e4862885a89caed91f32c72d772580cb1185c2befed5887890&productType=vouchers" target="_blank" rel="nofollow"><strong>Claim up to 15% off selected items using this Samsung discount code</strong></a><br>🎟️ <a href="https://www.techradar.com/outlink?subtag=hawk-custom-tracking&countryCode=US&siteCode=techradar&secCode=b022b312c3d79d3c8edc4b4925be465f624ac4ca00de31384a58b09177cc573b&redirect=https%3A%2F%2Fc.next2.io%3Fsid%3D11175266%26said%3Dtechradar.com%26partnerId%3Dhawk-custom-tracking%26link%3Dhttps%253A%252F%252Fwww.samsung.com%252Fus%26merchantId%3D214378%26fallback_url%3Dhttps%253A%252F%252Fclick.linksynergy.com%252Fdeeplink%253Fid%253DizUPF8VmRng%2526mid%253D47773%2526u1%253Dhawk-custom-tracking%2526murl%253Dhttps%25253A%25252F%25252Fwww.samsung.com%25252Fus&type=product&id=484787-MmU2NTQwZWZlNzE4&productType=vouchers" target="_blank" rel="nofollow"><strong>Use this Samsung coupon code to get 10% off selected items</strong></a><br>🎟️ <a href="https://www.techradar.com/outlink?subtag=hawk-custom-tracking&countryCode=US&siteCode=techradar&secCode=b022b312c3d79d3c8edc4b4925be465f624ac4ca00de31384a58b09177cc573b&redirect=https%3A%2F%2Fc.next2.io%3Fsid%3D11175266%26said%3Dtechradar.com%26partnerId%3Dhawk-custom-tracking%26link%3Dhttps%253A%252F%252Fwww.samsung.com%252Fus%26merchantId%3D214378%26fallback_url%3Dhttps%253A%252F%252Fclick.linksynergy.com%252Fdeeplink%253Fid%253DizUPF8VmRng%2526mid%253D47773%2526u1%253Dhawk-custom-tracking%2526murl%253Dhttps%25253A%25252F%25252Fwww.samsung.com%25252Fus&type=product&id=503204-1408379270&productType=vouchers" target="_blank" rel="nofollow"><strong>Get 10% off orders using this Samsung discount code</strong></a><a class="view-deal button" href="https://www.samsung.com/us/smartphones/galaxy-z-flip8/buy/galaxy-z-flip8-256gb-unlocked-sku-sm-f776uliaxaa/" target="_blank" rel="nofollow" data-dimension112="827571f4-87a4-11f1-b7eb-3d8306df317c" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension25="$0">View Deal</a></p></div><div class="product"><a data-dimension112="82757276-87a4-11f1-8375-5bca0f20cf5b" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension25="$0" href="https://www.samsung.com/us/smartphones/galaxy-z-fold8/buy/galaxy-z-fold8-256gb-unlocked-sku-sm-f971ulvaxaa/" 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="airedale-QJ4rKzJiVJEYbAeupkwY9m-1" name="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YFnsbuxZypxrkdepxUH3h9-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 preorder: </strong><a href="https://www.samsung.com/us/smartphones/galaxy-z-fold8/buy/galaxy-z-fold8-256gb-unlocked-sku-sm-f971ulvaxaa/" target="_blank" rel="nofollow" data-dimension112="82757276-87a4-11f1-8375-5bca0f20cf5b" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension25="$0"><strong>up to $1,200 off w/ trade-in @ Samsung</strong></a><br>Samsung is knocking up to $1,200 off Galaxy Z Fold 8 preorders when you trade-in an older phone. Alternatively, you'll get a $200 credit if you don't have a trade-in.<br><br><strong>Also check out these coupons: </strong><br>🎟️ <a href="https://www.techradar.com/outlink?subtag=hawk-custom-tracking&countryCode=US&siteCode=techradar&secCode=b022b312c3d79d3c8edc4b4925be465f624ac4ca00de31384a58b09177cc573b&redirect=https%3A%2F%2Fc.next2.io%3Fsid%3D11175266%26said%3Dtechradar.com%26partnerId%3Dhawk-custom-tracking%26link%3Dhttps%253A%252F%252Fwww.samsung.com%252Fus%252Fbusiness%252F%26merchantId%3D214378%26fallback_url%3Dhttps%253A%252F%252Fclick.linksynergy.com%252Fdeeplink%253Fid%253DizUPF8VmRng%2526mid%253D47773%2526u1%253Dhawk-custom-tracking%2526murl%253Dhttps%25253A%25252F%25252Fwww.samsung.com%25252Fus%25252Fbusiness%25252F&type=product&id=484787-2980b2d8ea6df6e4862885a89caed91f32c72d772580cb1185c2befed5887890&productType=vouchers" target="_blank" rel="nofollow"><strong>Claim up to 15% off selected items using this Samsung discount code</strong></a><br>🎟️ <a href="https://www.techradar.com/outlink?subtag=hawk-custom-tracking&countryCode=US&siteCode=techradar&secCode=b022b312c3d79d3c8edc4b4925be465f624ac4ca00de31384a58b09177cc573b&redirect=https%3A%2F%2Fc.next2.io%3Fsid%3D11175266%26said%3Dtechradar.com%26partnerId%3Dhawk-custom-tracking%26link%3Dhttps%253A%252F%252Fwww.samsung.com%252Fus%26merchantId%3D214378%26fallback_url%3Dhttps%253A%252F%252Fclick.linksynergy.com%252Fdeeplink%253Fid%253DizUPF8VmRng%2526mid%253D47773%2526u1%253Dhawk-custom-tracking%2526murl%253Dhttps%25253A%25252F%25252Fwww.samsung.com%25252Fus&type=product&id=484787-MmU2NTQwZWZlNzE4&productType=vouchers" target="_blank" rel="nofollow"><strong>Use this Samsung coupon code to get 10% off selected items</strong></a><br>🎟️ <a href="https://www.techradar.com/outlink?subtag=hawk-custom-tracking&countryCode=US&siteCode=techradar&secCode=b022b312c3d79d3c8edc4b4925be465f624ac4ca00de31384a58b09177cc573b&redirect=https%3A%2F%2Fc.next2.io%3Fsid%3D11175266%26said%3Dtechradar.com%26partnerId%3Dhawk-custom-tracking%26link%3Dhttps%253A%252F%252Fwww.samsung.com%252Fus%26merchantId%3D214378%26fallback_url%3Dhttps%253A%252F%252Fclick.linksynergy.com%252Fdeeplink%253Fid%253DizUPF8VmRng%2526mid%253D47773%2526u1%253Dhawk-custom-tracking%2526murl%253Dhttps%25253A%25252F%25252Fwww.samsung.com%25252Fus&type=product&id=503204-1408379270&productType=vouchers" target="_blank" rel="nofollow"><strong>Get 10% off orders using this Samsung discount code</strong></a><a class="view-deal button" href="https://www.samsung.com/us/smartphones/galaxy-z-fold8/buy/galaxy-z-fold8-256gb-unlocked-sku-sm-f971ulvaxaa/" target="_blank" rel="nofollow" data-dimension112="82757276-87a4-11f1-8375-5bca0f20cf5b" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension25="$0">View Deal</a></p></div><h2 id="what-is-myfancam">What is MyFanCam?</h2><p>MyFanCam is a new Galaxy AI feature that's been released on the Galaxy Z Fold 8 Ultra, <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Z Fold 8</a> and <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-hands-on-review">Z Flip 8</a>. The idea behind it is that you can reframe existing videos and shift the focus onto individual subjects rather than everything as a whole. Samsung's example videos feature people dancing together and utilizing MyFanCam to focus on a single member of the troupe. </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/N2AtiagWdxA" allowfullscreen></iframe></div></div><p>This isn't a dedicated camera mode that follows people in frame, though. That feature has existed for a few years, and it's called Video Auto Framing. Instead, this is an AI editing feature, which takes videos you've already recorded and applies the principles of MyFanCam to the people in shot. </p><p>I was able to do it with videos I recorded as far back as 2019 on a non-Samsung phone. That's helpful, because it means you could breathe new life into your old videos, without having to worry about whether they have the right markers for Galaxy AI to do what needs to be done.</p><p>The other obvious benefit here is that you don't need to worry about getting the perfect shot while you're busy recording. In the same way that <a href="https://www.tomsguide.com/phones/iphones/i-just-installed-the-ios-27-beta-and-reframe-is-unlike-any-other-ai-feature-ive-come-across">Reframe in iOS 27</a> will let you tweak the perspective of your photos, MyFanCam lets you change the main focus of the video so that viewers can hone in on what's important.</p><p>It's also worth noting that MyFanCam can't focus on more than one subject at a time, because that defeats the whole purpose of the feature. However you can always go back and make another MyFanCam video that focuses on someone else. </p><p>So in that group of three dancers, you could potentially end up with three additional takes on the very same video.</p><h2 id="it-only-seems-to-work-on-people-right-now">It only seems to work on people right 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:1723px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="trjgZiS9afkr2BxJb2oaZL" name="Screenshot_20260724_171511_Studio" alt="samsung galaxy z fold 8 myfancam testing" src="https://cdn.mos.cms.futurecdn.net/v2/w:1920,t:381,l:299,cw:1723,ch:1723,q:80/trjgZiS9afkr2BxJb2oaZL.jpg" mos="" align="middle" fullscreen="" width="2504" height="2256" 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>I like taking photos and shooting videos of my dogs. They're adorable for one, but you never know when they're going to do something stupid and hilarious. The problem is keeping track of them when they're off their leash, and bolting around the local park. They're moving so quickly, and are often so far away, that I just can't keep track of them with my camera.</p><p>Sadly, running videos of my dogs playing through MyFanCam did... nothing. The AI didn't register that the dogs were there, which obviously meant that it wasn't able to focus on one of them and edit the video accordingly. </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:1729px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ErCuynTe3khLM7kcAJJiRK" name="Screenshot_20260724_171351_Studio" alt="samsung galaxy z fold 8 myfancam testing" src="https://cdn.mos.cms.futurecdn.net/v2/w:1920,t:381,l:321,cw:1729,ch:1729,q:80/ErCuynTe3khLM7kcAJJiRK.jpg" mos="" align="middle" fullscreen="" width="2504" height="2256" 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>I then went back and checked it against a video of me and one of my dogs clearly in frame, just to see what happened. As expected, it picked me up right away, but was apparently oblivious to my furry companion. </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:1873px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="MKjqWSQsnayNcMHYG9dB8K" name="Screenshot_20260724_171324_Studio" alt="samsung galaxy z fold 8 myfancam testing" src="https://cdn.mos.cms.futurecdn.net/v2/w:1920,t:242,l:631,cw:1873,ch:1873,q:80/MKjqWSQsnayNcMHYG9dB8K.jpg" mos="" align="middle" fullscreen="" width="2504" height="2256" 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>Oddly intrigued, I tried to find some bizarre videos of people, and see how well Galaxy AI was able to pick up people in situations that are a little out of the ordinary. It had no problem focusing on a Berlin street performer that was doing a handstand on a skateboard, but it had trouble recognizing that a mid-performance routine was a human being. Similarly, adolescent gorillas at the zoo straight-up didn't register.</p><p>If you want to know something quite funny, MyFanCam was able to focus on certain characters on the parade floats at Disney World, including Pluto and Chip — but it struggled with Goofy. Clearly not even AI is sure what Goofy is supposed to be, because he's sure as heck not a dog.</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:1711px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="QqHaq5XK2MHEFu3AmMVxXK" name="Screenshot_20260724_171418_Studio" alt="samsung galaxy z fold 8 myfancam testing" src="https://cdn.mos.cms.futurecdn.net/v2/w:1920,t:417,l:321,cw:1711,ch:1711,q:80/QqHaq5XK2MHEFu3AmMVxXK.jpg" mos="" align="middle" fullscreen="" width="2504" height="2256" 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>I can't tell you whether Samsung has done this deliberately or not, but in my experience attempting to use AI camera features, I've noticed that it only really plays along when people are involved. <a href="https://www.tomsguide.com/phones/google-pixel-phones/how-to-use-google-pixel-9-add-me-tool">Google's Add me</a> feature is a very good example of this, since it also wouldn't register that my dogs were living, moving creatures that could move in and out of photos as they saw fit.</p><p>As for why, I can only assume that it's because the AI utilized by these camera features has only been trained on people. Tech companies likely figured that people would mostly want to photograph or video their friends and family. </p><p>Try and get the AI to register something slightly out of the usual parameters and it'll struggle. I guess people are easier for AI models to understand, whereas animals and pets come in all kinds of different shapes and sizes.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ORMNzW"></div>                            </div>                            <script src="https://kwizly.com/embed/ORMNzW.js" async></script><h2 id="bottom-line-2">Bottom line</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:2772px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="sG4D9mpBszMGgWBxFvE29W" name="Galaxy Z Fold 8-38" alt="Galaxy Z Fold 8 shown in hand" src="https://cdn.mos.cms.futurecdn.net/sG4D9mpBszMGgWBxFvE29W-1920-80.jpg" mos="" align="middle" fullscreen="" width="2772" height="1559" 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>Despite that obvious flaw, I feel as though MyFanCam has potential. The idea that you can go back to a video and completely reshape what people see, and without resorting to changing things with generative AI, is quite impressive. </p><p>I'm disappointed by the lack of support for pets, though. As anyone with energetic animals in their lives can likely attest, capturing them on camera can be rather difficult. I was so looking forward to getting MyFanCam to get to work on the videos of my dogs, but sadly that wasn't meant to be. Hopefully it's something Samsung can work on, and roll out to Galaxy phones and roll out as a software update in the near future.</p><p>In the meantime, just make sure to keep your editing focused on people.</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/phones/samsung-phones/i-just-ditched-my-iphone-for-the-z-fold-8-android-17s-new-migration-tool-is-pure-magic-but-there-is-one-painful-catch">I just ditched my iPhone for the Z Fold 8 — Android 17’s new migration tool is pure magic, but there is one painful catch</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-just-spent-24-hours-with-the-galaxy-z-fold-8-ultra-heres-what-i-liked-and-what-i-didnt">I just spent 24 hours with the Galaxy Z fold 8 Ultra — here's what I liked and what I didn't</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-doesnt-have-a-crease-free-display-but-its-the-closest-samsung-has-ever-got-to-one">Galaxy Z Fold 8 Ultra doesn't have a crease-free display — but it's the closest Samsung has ever got to one</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/samsung-phones/i-tried-using-the-galaxy-z-fold-8s-myfancam-on-my-dogs-but-i-hit-a-major-wall</link>
                                                                            <description>
                            <![CDATA[ I had hoped MyFanCam could work its magic on videos of my hyperactive dogs, but it only works on people. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Z7nQeoCiM8EK3DKokiKDEZ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/f36THwqTLhj3VY5eNSgLyW-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 26 Jul 2026 07:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></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-320-70.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/f36THwqTLhj3VY5eNSgLyW-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy Z Fold 8 shown in hand]]></media:description>                                                            <media:text><![CDATA[Galaxy Z Fold 8 shown in hand]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy Z Fold 8 shown in hand]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/f36THwqTLhj3VY5eNSgLyW-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Samsung Galaxy Z 8</a> series seems mostly focused on hardware upgrades, but there are still some excellent new AI and software features for you to take advantage of. My current favorite is MyFanCam, which edits a video to follow an individual rather than including the entire frame. Unfortunately, having tested the feature, there's one downside I didn't anticipate.</p><p>I have two very energetic dogs, and I had hoped MyFanCam would help make videos of them playing a little easier to follow. Unfortunately the AI is only capable of recognizing people, which means my dreams of more stable and easy to follow videos of my dog chasing a ball have been dashed — for now.</p><div class="product"><a data-dimension112="827571f4-87a4-11f1-b7eb-3d8306df317c" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension25="$0" href="https://www.samsung.com/us/smartphones/galaxy-z-flip8/buy/galaxy-z-flip8-256gb-unlocked-sku-sm-f776uliaxaa/" 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="airedale-K3AQ3stDNey4NiS8bxtM7X-0" name="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YFnsbuxZypxrkdepxUH3h9-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Flip 8: </strong><a href="https://www.samsung.com/us/smartphones/galaxy-z-flip8/buy/galaxy-z-flip8-256gb-unlocked-sku-sm-f776uliaxaa/" target="_blank" rel="nofollow" data-dimension112="827571f4-87a4-11f1-b7eb-3d8306df317c" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension25="$0"><strong>up to $600 off w/ trade-in @ Samsung</strong></a><br>Samsung is knocking up to $600 off its Galaxy Z Flip 8 preorder when you trade-in an older phone. Or you can get a $150 Samsung credit with no trade-in. <br><br><strong>Also check out these coupons: </strong><br>🎟️ <a href="https://www.techradar.com/outlink?subtag=hawk-custom-tracking&countryCode=US&siteCode=techradar&secCode=b022b312c3d79d3c8edc4b4925be465f624ac4ca00de31384a58b09177cc573b&redirect=https%3A%2F%2Fc.next2.io%3Fsid%3D11175266%26said%3Dtechradar.com%26partnerId%3Dhawk-custom-tracking%26link%3Dhttps%253A%252F%252Fwww.samsung.com%252Fus%252Fbusiness%252F%26merchantId%3D214378%26fallback_url%3Dhttps%253A%252F%252Fclick.linksynergy.com%252Fdeeplink%253Fid%253DizUPF8VmRng%2526mid%253D47773%2526u1%253Dhawk-custom-tracking%2526murl%253Dhttps%25253A%25252F%25252Fwww.samsung.com%25252Fus%25252Fbusiness%25252F&type=product&id=484787-2980b2d8ea6df6e4862885a89caed91f32c72d772580cb1185c2befed5887890&productType=vouchers" target="_blank" rel="nofollow"><strong>Claim up to 15% off selected items using this Samsung discount code</strong></a><br>🎟️ <a href="https://www.techradar.com/outlink?subtag=hawk-custom-tracking&countryCode=US&siteCode=techradar&secCode=b022b312c3d79d3c8edc4b4925be465f624ac4ca00de31384a58b09177cc573b&redirect=https%3A%2F%2Fc.next2.io%3Fsid%3D11175266%26said%3Dtechradar.com%26partnerId%3Dhawk-custom-tracking%26link%3Dhttps%253A%252F%252Fwww.samsung.com%252Fus%26merchantId%3D214378%26fallback_url%3Dhttps%253A%252F%252Fclick.linksynergy.com%252Fdeeplink%253Fid%253DizUPF8VmRng%2526mid%253D47773%2526u1%253Dhawk-custom-tracking%2526murl%253Dhttps%25253A%25252F%25252Fwww.samsung.com%25252Fus&type=product&id=484787-MmU2NTQwZWZlNzE4&productType=vouchers" target="_blank" rel="nofollow"><strong>Use this Samsung coupon code to get 10% off selected items</strong></a><br>🎟️ <a href="https://www.techradar.com/outlink?subtag=hawk-custom-tracking&countryCode=US&siteCode=techradar&secCode=b022b312c3d79d3c8edc4b4925be465f624ac4ca00de31384a58b09177cc573b&redirect=https%3A%2F%2Fc.next2.io%3Fsid%3D11175266%26said%3Dtechradar.com%26partnerId%3Dhawk-custom-tracking%26link%3Dhttps%253A%252F%252Fwww.samsung.com%252Fus%26merchantId%3D214378%26fallback_url%3Dhttps%253A%252F%252Fclick.linksynergy.com%252Fdeeplink%253Fid%253DizUPF8VmRng%2526mid%253D47773%2526u1%253Dhawk-custom-tracking%2526murl%253Dhttps%25253A%25252F%25252Fwww.samsung.com%25252Fus&type=product&id=503204-1408379270&productType=vouchers" target="_blank" rel="nofollow"><strong>Get 10% off orders using this Samsung discount code</strong></a><a class="view-deal button" href="https://www.samsung.com/us/smartphones/galaxy-z-flip8/buy/galaxy-z-flip8-256gb-unlocked-sku-sm-f776uliaxaa/" target="_blank" rel="nofollow" data-dimension112="827571f4-87a4-11f1-b7eb-3d8306df317c" data-action="Deal Block" data-label="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Flip 8: up to $600 off w/ trade-in @ Samsung" data-dimension25="$0">View Deal</a></p></div><div class="product"><a data-dimension112="82757276-87a4-11f1-8375-5bca0f20cf5b" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension25="$0" href="https://www.samsung.com/us/smartphones/galaxy-z-fold8/buy/galaxy-z-fold8-256gb-unlocked-sku-sm-f971ulvaxaa/" 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="airedale-QJ4rKzJiVJEYbAeupkwY9m-1" name="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung.jpg" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/YFnsbuxZypxrkdepxUH3h9-1920-80.jpg" mos="" align="middle" fullscreen="" width="1000" height="1000" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong>Galaxy Z Fold 8 preorder: </strong><a href="https://www.samsung.com/us/smartphones/galaxy-z-fold8/buy/galaxy-z-fold8-256gb-unlocked-sku-sm-f971ulvaxaa/" target="_blank" rel="nofollow" data-dimension112="82757276-87a4-11f1-8375-5bca0f20cf5b" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension25="$0"><strong>up to $1,200 off w/ trade-in @ Samsung</strong></a><br>Samsung is knocking up to $1,200 off Galaxy Z Fold 8 preorders when you trade-in an older phone. Alternatively, you'll get a $200 credit if you don't have a trade-in.<br><br><strong>Also check out these coupons: </strong><br>🎟️ <a href="https://www.techradar.com/outlink?subtag=hawk-custom-tracking&countryCode=US&siteCode=techradar&secCode=b022b312c3d79d3c8edc4b4925be465f624ac4ca00de31384a58b09177cc573b&redirect=https%3A%2F%2Fc.next2.io%3Fsid%3D11175266%26said%3Dtechradar.com%26partnerId%3Dhawk-custom-tracking%26link%3Dhttps%253A%252F%252Fwww.samsung.com%252Fus%252Fbusiness%252F%26merchantId%3D214378%26fallback_url%3Dhttps%253A%252F%252Fclick.linksynergy.com%252Fdeeplink%253Fid%253DizUPF8VmRng%2526mid%253D47773%2526u1%253Dhawk-custom-tracking%2526murl%253Dhttps%25253A%25252F%25252Fwww.samsung.com%25252Fus%25252Fbusiness%25252F&type=product&id=484787-2980b2d8ea6df6e4862885a89caed91f32c72d772580cb1185c2befed5887890&productType=vouchers" target="_blank" rel="nofollow"><strong>Claim up to 15% off selected items using this Samsung discount code</strong></a><br>🎟️ <a href="https://www.techradar.com/outlink?subtag=hawk-custom-tracking&countryCode=US&siteCode=techradar&secCode=b022b312c3d79d3c8edc4b4925be465f624ac4ca00de31384a58b09177cc573b&redirect=https%3A%2F%2Fc.next2.io%3Fsid%3D11175266%26said%3Dtechradar.com%26partnerId%3Dhawk-custom-tracking%26link%3Dhttps%253A%252F%252Fwww.samsung.com%252Fus%26merchantId%3D214378%26fallback_url%3Dhttps%253A%252F%252Fclick.linksynergy.com%252Fdeeplink%253Fid%253DizUPF8VmRng%2526mid%253D47773%2526u1%253Dhawk-custom-tracking%2526murl%253Dhttps%25253A%25252F%25252Fwww.samsung.com%25252Fus&type=product&id=484787-MmU2NTQwZWZlNzE4&productType=vouchers" target="_blank" rel="nofollow"><strong>Use this Samsung coupon code to get 10% off selected items</strong></a><br>🎟️ <a href="https://www.techradar.com/outlink?subtag=hawk-custom-tracking&countryCode=US&siteCode=techradar&secCode=b022b312c3d79d3c8edc4b4925be465f624ac4ca00de31384a58b09177cc573b&redirect=https%3A%2F%2Fc.next2.io%3Fsid%3D11175266%26said%3Dtechradar.com%26partnerId%3Dhawk-custom-tracking%26link%3Dhttps%253A%252F%252Fwww.samsung.com%252Fus%26merchantId%3D214378%26fallback_url%3Dhttps%253A%252F%252Fclick.linksynergy.com%252Fdeeplink%253Fid%253DizUPF8VmRng%2526mid%253D47773%2526u1%253Dhawk-custom-tracking%2526murl%253Dhttps%25253A%25252F%25252Fwww.samsung.com%25252Fus&type=product&id=503204-1408379270&productType=vouchers" target="_blank" rel="nofollow"><strong>Get 10% off orders using this Samsung discount code</strong></a><a class="view-deal button" href="https://www.samsung.com/us/smartphones/galaxy-z-fold8/buy/galaxy-z-fold8-256gb-unlocked-sku-sm-f971ulvaxaa/" target="_blank" rel="nofollow" data-dimension112="82757276-87a4-11f1-8375-5bca0f20cf5b" data-action="Deal Block" data-label="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension48="Galaxy Z Fold 8 preorder: up to $1,200 off w/ trade-in @ Samsung" data-dimension25="$0">View Deal</a></p></div><h2 id="what-is-myfancam">What is MyFanCam?</h2><p>MyFanCam is a new Galaxy AI feature that's been released on the Galaxy Z Fold 8 Ultra, <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-everything-you-need-to-know-about-the-new-wider-foldable">Z Fold 8</a> and <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-hands-on-review">Z Flip 8</a>. The idea behind it is that you can reframe existing videos and shift the focus onto individual subjects rather than everything as a whole. Samsung's example videos feature people dancing together and utilizing MyFanCam to focus on a single member of the troupe. </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/N2AtiagWdxA" allowfullscreen></iframe></div></div><p>This isn't a dedicated camera mode that follows people in frame, though. That feature has existed for a few years, and it's called Video Auto Framing. Instead, this is an AI editing feature, which takes videos you've already recorded and applies the principles of MyFanCam to the people in shot. </p><p>I was able to do it with videos I recorded as far back as 2019 on a non-Samsung phone. That's helpful, because it means you could breathe new life into your old videos, without having to worry about whether they have the right markers for Galaxy AI to do what needs to be done.</p><p>The other obvious benefit here is that you don't need to worry about getting the perfect shot while you're busy recording. In the same way that <a href="https://www.tomsguide.com/phones/iphones/i-just-installed-the-ios-27-beta-and-reframe-is-unlike-any-other-ai-feature-ive-come-across">Reframe in iOS 27</a> will let you tweak the perspective of your photos, MyFanCam lets you change the main focus of the video so that viewers can hone in on what's important.</p><p>It's also worth noting that MyFanCam can't focus on more than one subject at a time, because that defeats the whole purpose of the feature. However you can always go back and make another MyFanCam video that focuses on someone else. </p><p>So in that group of three dancers, you could potentially end up with three additional takes on the very same video.</p><h2 id="it-only-seems-to-work-on-people-right-now">It only seems to work on people right 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:1723px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="trjgZiS9afkr2BxJb2oaZL" name="Screenshot_20260724_171511_Studio" alt="samsung galaxy z fold 8 myfancam testing" src="https://cdn.mos.cms.futurecdn.net/v2/w:1920,t:381,l:299,cw:1723,ch:1723,q:80/trjgZiS9afkr2BxJb2oaZL.jpg" mos="" align="middle" fullscreen="" width="2504" height="2256" 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>I like taking photos and shooting videos of my dogs. They're adorable for one, but you never know when they're going to do something stupid and hilarious. The problem is keeping track of them when they're off their leash, and bolting around the local park. They're moving so quickly, and are often so far away, that I just can't keep track of them with my camera.</p><p>Sadly, running videos of my dogs playing through MyFanCam did... nothing. The AI didn't register that the dogs were there, which obviously meant that it wasn't able to focus on one of them and edit the video accordingly. </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:1729px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="ErCuynTe3khLM7kcAJJiRK" name="Screenshot_20260724_171351_Studio" alt="samsung galaxy z fold 8 myfancam testing" src="https://cdn.mos.cms.futurecdn.net/v2/w:1920,t:381,l:321,cw:1729,ch:1729,q:80/ErCuynTe3khLM7kcAJJiRK.jpg" mos="" align="middle" fullscreen="" width="2504" height="2256" 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>I then went back and checked it against a video of me and one of my dogs clearly in frame, just to see what happened. As expected, it picked me up right away, but was apparently oblivious to my furry companion. </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:1873px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="MKjqWSQsnayNcMHYG9dB8K" name="Screenshot_20260724_171324_Studio" alt="samsung galaxy z fold 8 myfancam testing" src="https://cdn.mos.cms.futurecdn.net/v2/w:1920,t:242,l:631,cw:1873,ch:1873,q:80/MKjqWSQsnayNcMHYG9dB8K.jpg" mos="" align="middle" fullscreen="" width="2504" height="2256" 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>Oddly intrigued, I tried to find some bizarre videos of people, and see how well Galaxy AI was able to pick up people in situations that are a little out of the ordinary. It had no problem focusing on a Berlin street performer that was doing a handstand on a skateboard, but it had trouble recognizing that a mid-performance routine was a human being. Similarly, adolescent gorillas at the zoo straight-up didn't register.</p><p>If you want to know something quite funny, MyFanCam was able to focus on certain characters on the parade floats at Disney World, including Pluto and Chip — but it struggled with Goofy. Clearly not even AI is sure what Goofy is supposed to be, because he's sure as heck not a dog.</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:1711px;"><p class="vanilla-image-block" style="padding-top:100.00%;"><img id="QqHaq5XK2MHEFu3AmMVxXK" name="Screenshot_20260724_171418_Studio" alt="samsung galaxy z fold 8 myfancam testing" src="https://cdn.mos.cms.futurecdn.net/v2/w:1920,t:417,l:321,cw:1711,ch:1711,q:80/QqHaq5XK2MHEFu3AmMVxXK.jpg" mos="" align="middle" fullscreen="" width="2504" height="2256" 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>I can't tell you whether Samsung has done this deliberately or not, but in my experience attempting to use AI camera features, I've noticed that it only really plays along when people are involved. <a href="https://www.tomsguide.com/phones/google-pixel-phones/how-to-use-google-pixel-9-add-me-tool">Google's Add me</a> feature is a very good example of this, since it also wouldn't register that my dogs were living, moving creatures that could move in and out of photos as they saw fit.</p><p>As for why, I can only assume that it's because the AI utilized by these camera features has only been trained on people. Tech companies likely figured that people would mostly want to photograph or video their friends and family. </p><p>Try and get the AI to register something slightly out of the usual parameters and it'll struggle. I guess people are easier for AI models to understand, whereas animals and pets come in all kinds of different shapes and sizes.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ORMNzW"></div>                            </div>                            <script src="https://kwizly.com/embed/ORMNzW.js" async></script><h2 id="bottom-line-2">Bottom line</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:2772px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="sG4D9mpBszMGgWBxFvE29W" name="Galaxy Z Fold 8-38" alt="Galaxy Z Fold 8 shown in hand" src="https://cdn.mos.cms.futurecdn.net/sG4D9mpBszMGgWBxFvE29W-1920-80.jpg" mos="" align="middle" fullscreen="" width="2772" height="1559" 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>Despite that obvious flaw, I feel as though MyFanCam has potential. The idea that you can go back to a video and completely reshape what people see, and without resorting to changing things with generative AI, is quite impressive. </p><p>I'm disappointed by the lack of support for pets, though. As anyone with energetic animals in their lives can likely attest, capturing them on camera can be rather difficult. I was so looking forward to getting MyFanCam to get to work on the videos of my dogs, but sadly that wasn't meant to be. Hopefully it's something Samsung can work on, and roll out to Galaxy phones and roll out as a software update in the near future.</p><p>In the meantime, just make sure to keep your editing focused on people.</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/phones/samsung-phones/i-just-ditched-my-iphone-for-the-z-fold-8-android-17s-new-migration-tool-is-pure-magic-but-there-is-one-painful-catch">I just ditched my iPhone for the Z Fold 8 — Android 17’s new migration tool is pure magic, but there is one painful catch</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-just-spent-24-hours-with-the-galaxy-z-fold-8-ultra-heres-what-i-liked-and-what-i-didnt">I just spent 24 hours with the Galaxy Z fold 8 Ultra — here's what I liked and what I didn't</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-doesnt-have-a-crease-free-display-but-its-the-closest-samsung-has-ever-got-to-one">Galaxy Z Fold 8 Ultra doesn't have a crease-free display — but it's the closest Samsung has ever got to one</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ My first 36 hours with the Samsung Galaxy Z Fold 8: I was wrong about the passport screen (but that $1,899 price still stings) ]]></title>
                                                                                                <dc:content><![CDATA[ <p>You may have seen that Samsung showed me all of its <a href="https://www.tomsguide.com/phones/samsung-phones/i-held-samsungs-secret-canceled-z-fold-8-prototypes-and-they-killed-the-best-one">canceled prototypes of the Galaxy Z Fold 8</a>. That moment combined with my time flying to China and checking out this <a href="https://www.tomsguide.com/phones/iphones/i-just-tested-the-phone-everybody-thinks-is-a-preview-of-the-iphone-fold-god-i-hope-theyre-wrong">future of passport foldables that the iPhone Ultra</a> looks set to adopt made me nervous that this stubbier size isn’t quite right.</p><p>But after my first 36 hours with the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-hands-on-review">Z Fold 8</a>, I’m coming around to the idea of this aspect ratio choice. Maybe the weight of my previous experiences clouded my judgement, but now out in the real world, it’s starting to click and make sense. </p><p>Throw in a strong camera, good battery life and beasty internals, and this has been a great first day of using Samsung’s new blower. I’ve seen a bunch of questions and thoughts in our comments, so these 24 hours have been more focused on answering these.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="5bJZYl" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 id="what-s-the-aspect-ratio-like">What’s the aspect ratio like?</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="9twLgAps2V4aAgB93fMayR" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/9twLgAps2V4aAgB93fMayR-1920-80.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>We’ve been used to taller foldables that open out to a much more squared-off display for years now. Of course, other companies have tried the squished form factor like this, but this is Samsung’s first stab at it.</p><p>And honestly? At first I was feeling weird about it. Don’t get me wrong here, the smaller design does feel great to hold, and the one-handed operation feels like a blast from the past when small phones were cool.</p><p>That being said, the aspect ratio choice made here is a tough one to make — forming an awkward balance that black bars vertical content on the outside screen, as well as landscape on that 4:3 screen on the inside. Given the way “<a href="https://www.tomsguide.com/entertainment/movies/the-odyssey-review">The Odyssey</a>” is filmed in 70mm IMAX, this phone must be Christopher Nolan’s dream come true.</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="pY2CmKMLZLmC2oGDYKPT7S" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/pY2CmKMLZLmC2oGDYKPT7S-1920-80.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>But compared to the square of the Ultra, the size of content on this phone is <strong>much </strong>better. Catching up on Netflix is a joy on this screen, though the audio sounds a bit lop-sided when both speakers are on the left side, so headphones are a must.</p><p>And when it comes to getting stuff done, of course the Ultra is more angled towards that, but flipping this into a portrait 3:4 ratio is great for this specific job. Samsung worked on the software to optimize the keyboard for typing away, while the extra height does give you a lot of real estate for multi-tasking. </p><p>Also, big screen TikTok is fun, web browsing feels much better with this vertical canvas, and I now have a foldable Kindle in my pocket. Pretty sweet!</p><h2 id="is-the-crease-visible">Is the crease visible?</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="6bxGdiam3BDqcSojZNdkyR" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/6bxGdiam3BDqcSojZNdkyR-1920-80.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>Samsung made a whole thing about the use of a <a href="https://www.tomsguide.com/phones/samsung-phones/ive-seen-the-galaxy-z-fold-8s-flex-titanium-screen-and-apple-should-be-nervous">titanium alloy film</a> atop the inside screen and titanium plate beneath it — with the mission being to improve durability and eliminate the crease.</p><p>Now, does it eliminate it? No. It’s a lot better than it has been before, but at certain angles with the light bouncing off it, you can see the outline of it. But you have to be <em>very </em>specific about it to see the thing.</p><p>Also, shout-out to that anti-reflective coating. Of course, the naming of it may feel a little misleading when you still see reflections bounce off of it. However, there is a noticeable reduction in the glare, and light sources have been dimmed quite a bit by whatever the coating is doing here.</p><h2 id="zippy-and-long-lasting">Zippy and long-lasting</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="ouPQLdrqRKCXrqcAc6vDuR" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/ouPQLdrqRKCXrqcAc6vDuR-1920-80.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>With Snapdragon 8 Elite Gen 5 for Galaxy inside with 12GB RAM does keep things nice and spritely under multitasking pressures for sure. And now that we’ve had these benchmarked in the lab, you can see this reflected in the numbers too.</p><div ><table><thead><tr><th class="firstcol " ><p>Phone</p></th><th  ><p>Geekbench 6 single-core</p></th><th  ><p>Geekbench 6 multicore</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Samsung Galaxy Z Fold 8</strong></p></td><td  ><p>3603</p></td><td  ><p>10949</p></td></tr><tr><td class="firstcol " ><p><strong>Samsung Galaxy S26 Ultra</strong></p></td><td  ><p>3785</p></td><td  ><p>11563</p></td></tr><tr><td class="firstcol " ><p><strong>iPhone 17 Pro Max</strong></p></td><td  ><p>3871</p></td><td  ><p>9968</p></td></tr><tr><td class="firstcol " ><p><strong>Motorola Razr Ultra</strong></p></td><td  ><p>2886</p></td><td  ><p>8982</p></td></tr><tr><td class="firstcol " ><p><strong>Google Pixel 10 Pro Fold</strong></p></td><td  ><p>2334</p></td><td  ><p>6332</p></td></tr></tbody></table></div><p>That single-core speed especially manifests itself in a snappy, responsive UI and opening apps at breakneck speeds, while the multicore comes into effect when I’m hopping between apps running in the background.</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:3919px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="i9cFmSQeutRkXafFNF5UTX" name="Galaxy Z Fold 8-LIST2" alt="Galaxy Z Fold 8 shown in hand" src="https://cdn.mos.cms.futurecdn.net/i9cFmSQeutRkXafFNF5UTX-1920-80.jpg" mos="" align="middle" fullscreen="" width="3919" height="2204" 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>Then there’s the battery — a 4,800 mAh cell that embraces silicon carbon battery tech to add a little more juice while keeping it thin and light. In our lab testing, we’ve been able to get 12 hours and 20 minutes out of it on one charge.</p><p>In real-life, I’ve been able to get through an entire day of standard use with no real worries. Starting from 100%:</p><ul><li><strong>Two hours at the gym with music playing and regular screen opening to read news between sets: </strong>Battery went down to 92%</li><li><strong>Two hours on the phone with my wife — visiting websites on inside screen to finalize wedding celebration plans: </strong>Battery went down to 84%</li><li><strong>TikTok wormhole on inside screen for an hour: </strong>Battery went down to 79%</li><li><strong>Photography trip around London, multitasking between messaging apps, TikTok on the Underground, a couple phone calls, web browsing, and taking many photos: </strong>Battery went down to 64%</li></ul><p>By the time I got to the Nvidia afterparty at 10pm, the battery was at around 50%. Of course, if I’m more sparing with my use, you can make this run much longer. But it’s clear you’re getting all-day usage with no problems.</p><h2 id="snap-happy">Snap happy</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="oamV7tYGgYvikv5tkwbSFS" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/oamV7tYGgYvikv5tkwbSFS-1920-80.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>I always have a beef with Samsung about its camera science. The hardware is always good, but coming from being an iPhone user, the focus on vividity always makes me feel like the phones of old have just vomited color all over the screen.</p><p>Not anymore. These dual 50MP shooters are <strong>impressive</strong>. Detail preservation is good and while color balance does lean towards the warmer tones, they’re not as distractingly vivid as before — keeping natural skin tones looking realistic.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/29iQeBJUpQQUAbSetehJpS-1920-80.jpg" alt="Samsung Galaxy Z Fold 8" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/PGxQecLCXiBnVC3CQjqQfS-1920-80.jpg" alt="Samsung Galaxy Z Fold 8" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/QNP5MEL6HrDsn53sTA8JSS-1920-80.jpg" alt="Samsung Galaxy Z Fold 8" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>And shout-out to night time photography too. I know Samsung made a whole song and dance about Nightography with the Ultra’s 200MP lens, but you’re getting more than enough of that experience with a quarter of the megapixels here.</p><h2 id="outlook">Outlook</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="gW5R8PkMJxqWV74zHBrCpR" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/gW5R8PkMJxqWV74zHBrCpR-1920-80.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>This is the first foldable I’ve properly daily driven. I have tested others in the past of course, but this is my first concerted effort to ditch a candy bar and give folds a chance. And after my first day and a half, I get the attraction to it.</p><p>There was a part of me that feared this would be a pure gimmick. And to many of you reading this, chances are it will be. You’ve got to have very specific use cases on lock to make the most of this — the work and content needs for that bigger screen if you’re always on-the-go.</p><p>If you have them, this more easily pocketable foldable is a real conversation starter, and a genuinely nice form factor. My only real problem is that $1,899 price tag. It’s massive to say the least! You can feel the premium nature of this phone, but that’s a huge cost to put on people. </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/phones/samsung-phones/i-just-spent-24-hours-with-the-galaxy-z-fold-8-ultra-heres-what-i-liked-and-what-i-didnt">I just spent 24 hours with the Galaxy Z fold 8 Ultra — here's what I liked and what I didn't</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-just-ditched-my-iphone-for-the-z-fold-8-android-17s-new-migration-tool-is-pure-magic-but-there-is-one-painful-catch">I just ditched my iPhone for the Z Fold 8 — Android 17’s new migration tool is pure magic, but there is one painful catch</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/id-buy-a-galaxy-z-fold-8-over-the-z-fold-8-ultra-and-its-all-because-it-steals-this-z-trifold-feature">I'd buy a Galaxy Z Fold 8 over the Z Fold 8 Ultra — and it's all because it steals this Z TriFold feature</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/samsung-phones/my-first-36-hours-with-the-samsung-galaxy-z-fold-8-i-was-wrong-about-the-passport-screen-but-that-usd1-899-price-still-stings</link>
                                                                            <description>
                            <![CDATA[ I spent 36 hours with the new Samsung Galaxy Z Fold 8. Here is why the new passport display, Flex Titanium crease, and battery life won me over. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">jmy3pUQsyZxCmkqHWbv4Tc</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/9o3ZXWLLHpwvgcvMCvDJ7V-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 24 Jul 2026 09:58:13 +0000</pubDate>                                                                                                                                <updated>Fri, 24 Jul 2026 11:48:50 +0000</updated>
                                                                                                                                            <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&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/9o3ZXWLLHpwvgcvMCvDJ7V-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Samsung Galaxy Z Fold 8 in hand showing cover display against a wall with graffiti]]></media:description>                                                            <media:text><![CDATA[Samsung Galaxy Z Fold 8 in hand showing cover display against a wall with graffiti]]></media:text>
                                <media:title type="plain"><![CDATA[Samsung Galaxy Z Fold 8 in hand showing cover display against a wall with graffiti]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/9o3ZXWLLHpwvgcvMCvDJ7V-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>You may have seen that Samsung showed me all of its <a href="https://www.tomsguide.com/phones/samsung-phones/i-held-samsungs-secret-canceled-z-fold-8-prototypes-and-they-killed-the-best-one">canceled prototypes of the Galaxy Z Fold 8</a>. That moment combined with my time flying to China and checking out this <a href="https://www.tomsguide.com/phones/iphones/i-just-tested-the-phone-everybody-thinks-is-a-preview-of-the-iphone-fold-god-i-hope-theyre-wrong">future of passport foldables that the iPhone Ultra</a> looks set to adopt made me nervous that this stubbier size isn’t quite right.</p><p>But after my first 36 hours with the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-hands-on-review">Z Fold 8</a>, I’m coming around to the idea of this aspect ratio choice. Maybe the weight of my previous experiences clouded my judgement, but now out in the real world, it’s starting to click and make sense. </p><p>Throw in a strong camera, good battery life and beasty internals, and this has been a great first day of using Samsung’s new blower. I’ve seen a bunch of questions and thoughts in our comments, so these 24 hours have been more focused on answering these.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="5bJZYl" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 id="what-s-the-aspect-ratio-like">What’s the aspect ratio like?</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="9twLgAps2V4aAgB93fMayR" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/9twLgAps2V4aAgB93fMayR-1920-80.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>We’ve been used to taller foldables that open out to a much more squared-off display for years now. Of course, other companies have tried the squished form factor like this, but this is Samsung’s first stab at it.</p><p>And honestly? At first I was feeling weird about it. Don’t get me wrong here, the smaller design does feel great to hold, and the one-handed operation feels like a blast from the past when small phones were cool.</p><p>That being said, the aspect ratio choice made here is a tough one to make — forming an awkward balance that black bars vertical content on the outside screen, as well as landscape on that 4:3 screen on the inside. Given the way “<a href="https://www.tomsguide.com/entertainment/movies/the-odyssey-review">The Odyssey</a>” is filmed in 70mm IMAX, this phone must be Christopher Nolan’s dream come true.</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="pY2CmKMLZLmC2oGDYKPT7S" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/pY2CmKMLZLmC2oGDYKPT7S-1920-80.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>But compared to the square of the Ultra, the size of content on this phone is <strong>much </strong>better. Catching up on Netflix is a joy on this screen, though the audio sounds a bit lop-sided when both speakers are on the left side, so headphones are a must.</p><p>And when it comes to getting stuff done, of course the Ultra is more angled towards that, but flipping this into a portrait 3:4 ratio is great for this specific job. Samsung worked on the software to optimize the keyboard for typing away, while the extra height does give you a lot of real estate for multi-tasking. </p><p>Also, big screen TikTok is fun, web browsing feels much better with this vertical canvas, and I now have a foldable Kindle in my pocket. Pretty sweet!</p><h2 id="is-the-crease-visible">Is the crease visible?</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="6bxGdiam3BDqcSojZNdkyR" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/6bxGdiam3BDqcSojZNdkyR-1920-80.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>Samsung made a whole thing about the use of a <a href="https://www.tomsguide.com/phones/samsung-phones/ive-seen-the-galaxy-z-fold-8s-flex-titanium-screen-and-apple-should-be-nervous">titanium alloy film</a> atop the inside screen and titanium plate beneath it — with the mission being to improve durability and eliminate the crease.</p><p>Now, does it eliminate it? No. It’s a lot better than it has been before, but at certain angles with the light bouncing off it, you can see the outline of it. But you have to be <em>very </em>specific about it to see the thing.</p><p>Also, shout-out to that anti-reflective coating. Of course, the naming of it may feel a little misleading when you still see reflections bounce off of it. However, there is a noticeable reduction in the glare, and light sources have been dimmed quite a bit by whatever the coating is doing here.</p><h2 id="zippy-and-long-lasting">Zippy and long-lasting</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="ouPQLdrqRKCXrqcAc6vDuR" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/ouPQLdrqRKCXrqcAc6vDuR-1920-80.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>With Snapdragon 8 Elite Gen 5 for Galaxy inside with 12GB RAM does keep things nice and spritely under multitasking pressures for sure. And now that we’ve had these benchmarked in the lab, you can see this reflected in the numbers too.</p><div ><table><thead><tr><th class="firstcol " ><p>Phone</p></th><th  ><p>Geekbench 6 single-core</p></th><th  ><p>Geekbench 6 multicore</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Samsung Galaxy Z Fold 8</strong></p></td><td  ><p>3603</p></td><td  ><p>10949</p></td></tr><tr><td class="firstcol " ><p><strong>Samsung Galaxy S26 Ultra</strong></p></td><td  ><p>3785</p></td><td  ><p>11563</p></td></tr><tr><td class="firstcol " ><p><strong>iPhone 17 Pro Max</strong></p></td><td  ><p>3871</p></td><td  ><p>9968</p></td></tr><tr><td class="firstcol " ><p><strong>Motorola Razr Ultra</strong></p></td><td  ><p>2886</p></td><td  ><p>8982</p></td></tr><tr><td class="firstcol " ><p><strong>Google Pixel 10 Pro Fold</strong></p></td><td  ><p>2334</p></td><td  ><p>6332</p></td></tr></tbody></table></div><p>That single-core speed especially manifests itself in a snappy, responsive UI and opening apps at breakneck speeds, while the multicore comes into effect when I’m hopping between apps running in the background.</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:3919px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="i9cFmSQeutRkXafFNF5UTX" name="Galaxy Z Fold 8-LIST2" alt="Galaxy Z Fold 8 shown in hand" src="https://cdn.mos.cms.futurecdn.net/i9cFmSQeutRkXafFNF5UTX-1920-80.jpg" mos="" align="middle" fullscreen="" width="3919" height="2204" 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>Then there’s the battery — a 4,800 mAh cell that embraces silicon carbon battery tech to add a little more juice while keeping it thin and light. In our lab testing, we’ve been able to get 12 hours and 20 minutes out of it on one charge.</p><p>In real-life, I’ve been able to get through an entire day of standard use with no real worries. Starting from 100%:</p><ul><li><strong>Two hours at the gym with music playing and regular screen opening to read news between sets: </strong>Battery went down to 92%</li><li><strong>Two hours on the phone with my wife — visiting websites on inside screen to finalize wedding celebration plans: </strong>Battery went down to 84%</li><li><strong>TikTok wormhole on inside screen for an hour: </strong>Battery went down to 79%</li><li><strong>Photography trip around London, multitasking between messaging apps, TikTok on the Underground, a couple phone calls, web browsing, and taking many photos: </strong>Battery went down to 64%</li></ul><p>By the time I got to the Nvidia afterparty at 10pm, the battery was at around 50%. Of course, if I’m more sparing with my use, you can make this run much longer. But it’s clear you’re getting all-day usage with no problems.</p><h2 id="snap-happy">Snap happy</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="oamV7tYGgYvikv5tkwbSFS" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/oamV7tYGgYvikv5tkwbSFS-1920-80.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>I always have a beef with Samsung about its camera science. The hardware is always good, but coming from being an iPhone user, the focus on vividity always makes me feel like the phones of old have just vomited color all over the screen.</p><p>Not anymore. These dual 50MP shooters are <strong>impressive</strong>. Detail preservation is good and while color balance does lean towards the warmer tones, they’re not as distractingly vivid as before — keeping natural skin tones looking realistic.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/29iQeBJUpQQUAbSetehJpS-1920-80.jpg" alt="Samsung Galaxy Z Fold 8" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/PGxQecLCXiBnVC3CQjqQfS-1920-80.jpg" alt="Samsung Galaxy Z Fold 8" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/QNP5MEL6HrDsn53sTA8JSS-1920-80.jpg" alt="Samsung Galaxy Z Fold 8" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>And shout-out to night time photography too. I know Samsung made a whole song and dance about Nightography with the Ultra’s 200MP lens, but you’re getting more than enough of that experience with a quarter of the megapixels here.</p><h2 id="outlook">Outlook</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="gW5R8PkMJxqWV74zHBrCpR" name="Samsung Galaxy Z Fold 8" alt="Samsung Galaxy Z Fold 8" src="https://cdn.mos.cms.futurecdn.net/gW5R8PkMJxqWV74zHBrCpR-1920-80.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>This is the first foldable I’ve properly daily driven. I have tested others in the past of course, but this is my first concerted effort to ditch a candy bar and give folds a chance. And after my first day and a half, I get the attraction to it.</p><p>There was a part of me that feared this would be a pure gimmick. And to many of you reading this, chances are it will be. You’ve got to have very specific use cases on lock to make the most of this — the work and content needs for that bigger screen if you’re always on-the-go.</p><p>If you have them, this more easily pocketable foldable is a real conversation starter, and a genuinely nice form factor. My only real problem is that $1,899 price tag. It’s massive to say the least! You can feel the premium nature of this phone, but that’s a huge cost to put on people. </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/phones/samsung-phones/i-just-spent-24-hours-with-the-galaxy-z-fold-8-ultra-heres-what-i-liked-and-what-i-didnt">I just spent 24 hours with the Galaxy Z fold 8 Ultra — here's what I liked and what I didn't</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-just-ditched-my-iphone-for-the-z-fold-8-android-17s-new-migration-tool-is-pure-magic-but-there-is-one-painful-catch">I just ditched my iPhone for the Z Fold 8 — Android 17’s new migration tool is pure magic, but there is one painful catch</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/id-buy-a-galaxy-z-fold-8-over-the-z-fold-8-ultra-and-its-all-because-it-steals-this-z-trifold-feature">I'd buy a Galaxy Z Fold 8 over the Z Fold 8 Ultra — and it's all because it steals this Z TriFold feature</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I just spent 24 hours with the Galaxy Z fold 8 Ultra — here's what I liked and what I didn't ]]></title>
                                                                                                <dc:content><![CDATA[ <p>It's always exciting to try a brand new phone, and those first 24 hours can be pretty telling. That's especially true when you're making the jump from a regular phone to a foldable, because the fold-out large screen design opens a whole new world of possibilities.</p><p>That's certainly how I felt while unpackaging the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Samsung Galaxy Z Fold 8 Ultra </a>— a phone that has so far been living up to its new designation. But a brief hands-on can only tell you so much about a phone, and it's only after spending several hours (or days) with your device that you can get a much clearer idea of what it has to offer.</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/oFT-YOrakEg" allowfullscreen></iframe></div></div><p>The Galaxy Z Fold 8 Ultra could be one of the <a href="https://www.tomsguide.com/best-picks/best-foldable-phones">best foldable phones</a>, pending our full review, thanks to the sheer amount of upgrades Samsung has added this year. But is it really all that? Let's go through my first day with this Ultra foldable, so you can experience the highs (and lows) of picking one up for yourself.</p><h2 id="setting-up">Setting up</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="SxUXvGmQvGJ82W3KnAuTYm" name="PXL_20260723_153353658" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/SxUXvGmQvGJ82W3KnAuTYm-1920-80.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>The great thing about modern phones is that they've made the set up process an absolute breeze compared to what it used to be like. Samsung is easily one of the best I've used, especially if you're copying data over from another Samsung phone.</p><p>In fact my<a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review"> Galaxy S26 Ultra</a> detected the Z Fold 8 Ultra right away, and brought up the QR code scanner to link these two devices together. The most troublesome part of the whole experience was flicking through the many menus asking you to confirm various permissions, and which search engine you'd like set as your default. </p><p>The actual transfer process happens in the background, beaming over apps, accounts, default settings and everything else you had sitting on your own phone. Since my S26 Ultra doesn't get a ton of use, that process was pretty quick, and your experience will differ depending on how much you actually need to beam to your new phone.</p><p>I also find myself pretty impressed with the way Galaxy foldables set up fingerprint recognition. Samsung phones are usually some of the easiest and fastest devices for setting up biometric security, but with the physical fingerprint scanner all you need to do is wiggle your chosen digit around during the mapping process. None of the tedious lifting and replacing motions that you get with under-display fingerprint scanners. </p><h2 id="adapting-to-new-displays">Adapting to new displays</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="eLMVZ9zvqMV9V9gmY4nUfm" name="PXL_20260723_153800876" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/eLMVZ9zvqMV9V9gmY4nUfm-1920-80.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>Switching to a foldable phone means adapting to a brand new set of displays. The 6.5-inch cover display offers a 21:9 aspect ratio, which is noticeably narrower than the 19:5:9 aspect ratio you'd find on most phones. </p><p>Having been used to using  6.3-inch non-folding phones for so long, the narrower form factor is taking some getting used to. To the point where I gravitate towards the 8-inch foldable display instead. It seems like a paradox, but I find the larger screen is a lot more comfortable to use — especially considering the doubled-screen is the perfect size for two-handed use.</p><p>As Samsung says, it's like having two 6.5-inch phones in a single phone.</p><p>One thing I noticed was that the Samsung web browser defaulted to the desktop view on both screens, and to my surprise I actually found it more comfortable to read that way. </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="EHKpRgYwit7wtK6JkUvEcm" name="PXL_20260723_154034644" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/EHKpRgYwit7wtK6JkUvEcm-1920-80.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>Admittedly the text was rather small on the cover display, but the mobile option was too large and squashed together for me to read comfortably. It was almost like I had an accessibility feature that blew up the print for users with visual impairments. That said vertical videos looked perfect on the narrower cover display, with next to no wasted space. </p><p>That was not entirely true for horizontal video, but that just gave the foldable screen even more chance to shine. Especially since Flex Mode let me partially fold up the screen and use the Z Fold 8 Ultra as its own stand.</p><p>I'll admit, though, it does still feel as though something is missing with the larger screen, and <a href="https://www.tomsguide.com/phones/samsung-phones/no-the-fold-8-doesnt-have-an-s-pen-but-samsung-is-exploring-its-return-for-future-folds">I feel like having some kind of S Pen support</a> would help complete the puzzle. I'm not entirely sure I would be using the stylus all that much, but it would be nice to have the option.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XbDPDW"></div>                            </div>                            <script src="https://kwizly.com/embed/XbDPDW.js" async></script><h2 id="not-quite-crease-free">Not quite crease-free</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="MQkbeXqvtqBcXLFh5FTd94" name="PXL_20260723_104725084" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" src="https://cdn.mos.cms.futurecdn.net/MQkbeXqvtqBcXLFh5FTd94-1920-80.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 most anticipated upgrades on the Z fold 8 Ultra is the flex titanium display, which was heavily <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-may-eliminate-the-display-crease-too-step-aside-iphone-fold">rumored to eliminate the crease down the display</a>. It doesn't take long to spot that this is not really the case, and the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-doesnt-have-a-crease-free-display-but-its-the-closest-samsung-has-ever-got-to-one">crease is still visible</a> in certain conditions.</p><p>That being said, the crease is a lot harder to see when compared to the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Galaxy Z Fold 7.</a> It mostly shows up when the screen is switched off, or you find yourself in particularly bright conditions. The fact you have to go out of your way to see the crease means Samsung should be commended for what it's managed by adding the <a href="https://www.tomsguide.com/phones/samsung-phones/ive-seen-the-galaxy-z-fold-8s-flex-titanium-screen-and-apple-should-be-nervous">Flex Titanium</a> display. </p><p>That said, you can still feel the crease when you're scrolling along the large display. It feels almost identical to the Z Fold 7's crease, and I have to admit the more I use the phone the more distracting it is to come across the dip in the middle of the screen. That's definitely something Samsung needs to work on for the Z Fold 9 Ultra.</p><h2 id="galaxy-class-performance">Galaxy-class performance?</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="cTifXBtrnANVtbvxaBQhjm" name="PXL_20260723_153613981" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/cTifXBtrnANVtbvxaBQhjm-1920-80.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>While I haven't done any benchmarking with the Galaxy Z Fold 8 Ultra yet, I have done some gaming to try and <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-just-confirmed-the-most-obvious-galaxy-z-fold-8-upgrade-but-im-still-surprised">take the new Snapdragon 8 Elite Gen 5 for Galaxy chipset</a> for a spin. Loading up PUBG Mobile and I found that the settings automatically set the frame rate to the highest level, though it was being a little bit stingy with the graphics until I told it to up the ante.</p><p>The performance at the highest possible settings was excellent, as I'd hoped. I didn't notice any frame rate issues while I played, and the graphics were exactly what I expected from PUBG after dabbling with the game over the past few years. Better still I didn't even feel the phone get warm throughout an hour of playthrough, which is always best for the long-term health of the phone.</p><p>As for the battery, I found that this play session ate up around 5% of my battery, including the time it took to download the more advanced graphics. </p><p>Similarly, I forgot to charge the Z Fold 8 Ultra overnight, but still managed to get to around 3.45 p.m. before it flashed up a battery warning. That bodes well for the actual battery life, but since we haven't tested it I can't say whether Samsung's 27 hour battery life claim is accurate or not.</p><h2 id="cameras-are-so-far-so-samsung">Cameras are so-far so-Samsung</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="mdwDsgb4mmvfC7T47Efewm" name="PXL_20260723_153702005" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/mdwDsgb4mmvfC7T47Efewm-1920-80.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>I haven't had much need to take photos with the Z Fold 8 Ultra so far, but it's not like I need an excuse to snap photos of my dogs — especially when they make such adorable models. Needless to say, I'm impressed with the photos I've taken with the Galaxy Z Fold 8 Ultra so far.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Rau4SAqveDxu7PjRWnTELn-1920-80.jpg" alt="samsung galaxy z fold 8 ultra sample photos" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/y2kGLKf8HndGP4TkV2YPM5-1920-80.jpg" alt="labador" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZSGz3vXpD6YgrRVP75jPAn-1920-80.jpg" alt="samsung galaxy z fold 8 ultra sample photos" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/eg5zKpgcoFcSz8x9zdLykm-1920-80.jpg" alt="samsung galaxy z fold 8 ultra sample photos" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/RZ8K8YeYUkYsVtMUH36Yvm-1920-80.jpg" alt="samsung galaxy z fold 8 ultra sample photos" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/j23D7nFQdRWzBFGi45WVnB-1920-80.jpg" alt="tomato plant" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The photos of my dogs and my plants came out looking pretty well, though I will admit that the main lens struggled with close-ups of my Lego minifigures. For some reason it just would not focus on what I wanted, meaning I had to resort to the lower-resolution Ultrawide angle lens to actually get this shot of Captain Jean-Luc Brickard. </p><p>You can kind of tell that the resolution isn't really there, though the photo itself still looks rather good. Sadly, the telephoto lens doesn't quite match up, and the quality feels more akin to the 10MP selfie cameras rather than the other two rear lenses. I wouldn't say it's taking bad photos, but they're not quite the caliber I would expect from a $2,100 phone.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Ms28JUWAB3P2Rnpb3zHGuh-1920-80.jpg" alt="tom pritchard selfie" /><figcaption>200MP main lens<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Mcq9S4JHKy5LP24NgN28H5-1920-80.jpg" alt="tom Pritchard" /><figcaption>10MP selfie lens<small role="credit">Future</small></figcaption></figure></figure><p>As for the selfie camera, I won't say that I dislike the photos it takes, but it falters compared to that main 200MP camera. The selfies feel a little grainier and washed out, and I feel like you'd be better off taking advantage of the rear cameras instead. The very nature of foldables, and the fact you can use the cover display as a viewfinder, means that's a very real option for you.</p><p>If anyone is interested in how I got my tomatoes looking so nice after the immense <a href="https://www.tomsguide.com/home/how-to-protect-your-lawn-from-the-next-heatwave-3-drought-proofing-steps-pros-swear-by">heat and drought we've been having in the U.K.</a>, <a href="https://www.tomsguide.com/how-to/7-surprising-ways-you-can-reuse-old-coffee-grounds">the answer is coffee grounds</a>. Those leftovers mean I haven't had to feed my tomato plant all summer. Sadly, the same can't be said for my pepper plant, which hasn't even flowered yet.</p><h2 id="the-ai-isn-t-ready-this-soon">The AI isn't ready this soon</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="6bUozneavx3TWuWo7Ff7Um" name="PXL_20260723_153421125" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/6bUozneavx3TWuWo7Ff7Um-1920-80.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>As much as Samsung (and other phone companies) love to hype up AI capabilities, you can't really take full advantage of them on day one. The fact that Galaxy AI already has information on me, transferred over from my Galaxy S26 Ultra, meant that they weren't completely useless. So Now Brief had some basic information from places like my calendar to get me started.</p><p>However, I did need to go through a bunch of setup processes, like updating Samsung's Personal Data Intelligence and creating my own custom cards, to start making the most of the feature. On a similar note, the fact that Now Nudge hadn't had time to burrow into the depths of my phone hasn't been able to surface any useful information so far.</p><p>I have attempted to utilize MyFanCam, which lets you edit videos in a way that focuses on a single subject rather than an entire group. </p><p>I had hoped I would be able to use the feature to video my dogs playing, and help keep the focus on one of the two, instead of having to try and keep their crazy antics in frame all the time. But apparently the AI that powers MyFanCam doesn't recognize dogs, only people. Stay tuned for more.</p><h2 id="what-a-difference-a-day-makes">What a difference a day makes</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="qZ3hFwNMPAjdkh9oaNX6Ym" name="PXL_20260723_153709681" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/qZ3hFwNMPAjdkh9oaNX6Ym-1920-80.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>24 hours is not a lot of time when it comes to getting to grips with a new phone, especially when there are AI features that need time and resources to get themselves working at anything close to operating capacity. Still, it's a good amount of time to start getting to grips with a new device, and for all its potential flaws I am rather happy with the Galaxy Z Fold 8 Ultra so far.</p><p>I am not a huge fan of the narrow cover display, and feel like the wider Z Fold 8 might offer a better experience in that regard. I do like the main 8-inch display, though, especially since it makes viewing and scrolling a more comfortable experience than you'd normally get. Though I would have liked the option to use an S Pen, and hope Samsung brings it back sooner rather than later.</p><p>Of course, there's still plenty of testing that needs doing before we can publish our full review. While I hope this shapes up to be one of the best foldable phones, 24 hours just isn't enough to make that happen. That means it's time to get testing and see what this phone can really do.</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/phones/samsung-phones/i-just-ditched-my-iphone-for-the-z-fold-8-android-17s-new-migration-tool-is-pure-magic-but-there-is-one-painful-catch">I just ditched my iPhone for the Z Fold 8 — Android 17’s new migration tool is pure magic, but there is one painful catch</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/how-samsung-plans-to-fight-the-first-foldable-iphone-jay-kim-interview">‘We're pretty confident': How Samsung plans to fight the first foldable iPhone</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/id-buy-a-galaxy-z-fold-8-over-the-z-fold-8-ultra-and-its-all-because-it-steals-this-z-trifold-feature">I'd buy a Galaxy Z Fold 8 over the Z Fold 8 Ultra — and it's all because it steals this Z TriFold feature</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/samsung-phones/i-just-spent-24-hours-with-the-galaxy-z-fold-8-ultra-heres-what-i-liked-and-what-i-didnt</link>
                                                                            <description>
                            <![CDATA[ Samsung galaxy Z Fold 8 is shaping up to be a great phone, but after 24 hours with the phone there are definitely some things I'd change. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Fti5JmQj4Fg6aqTrXwFdAQ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/noN4XNdYP8ruPAPbWSqySm-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 24 Jul 2026 05:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></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-320-70.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/noN4XNdYP8ruPAPbWSqySm-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[samsung galaxy z fold 8 ultra sample photos]]></media:description>                                                            <media:text><![CDATA[samsung galaxy z fold 8 ultra sample photos]]></media:text>
                                <media:title type="plain"><![CDATA[samsung galaxy z fold 8 ultra sample photos]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/noN4XNdYP8ruPAPbWSqySm-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It's always exciting to try a brand new phone, and those first 24 hours can be pretty telling. That's especially true when you're making the jump from a regular phone to a foldable, because the fold-out large screen design opens a whole new world of possibilities.</p><p>That's certainly how I felt while unpackaging the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Samsung Galaxy Z Fold 8 Ultra </a>— a phone that has so far been living up to its new designation. But a brief hands-on can only tell you so much about a phone, and it's only after spending several hours (or days) with your device that you can get a much clearer idea of what it has to offer.</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/oFT-YOrakEg" allowfullscreen></iframe></div></div><p>The Galaxy Z Fold 8 Ultra could be one of the <a href="https://www.tomsguide.com/best-picks/best-foldable-phones">best foldable phones</a>, pending our full review, thanks to the sheer amount of upgrades Samsung has added this year. But is it really all that? Let's go through my first day with this Ultra foldable, so you can experience the highs (and lows) of picking one up for yourself.</p><h2 id="setting-up">Setting up</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="SxUXvGmQvGJ82W3KnAuTYm" name="PXL_20260723_153353658" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/SxUXvGmQvGJ82W3KnAuTYm-1920-80.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>The great thing about modern phones is that they've made the set up process an absolute breeze compared to what it used to be like. Samsung is easily one of the best I've used, especially if you're copying data over from another Samsung phone.</p><p>In fact my<a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-s26-ultra-review"> Galaxy S26 Ultra</a> detected the Z Fold 8 Ultra right away, and brought up the QR code scanner to link these two devices together. The most troublesome part of the whole experience was flicking through the many menus asking you to confirm various permissions, and which search engine you'd like set as your default. </p><p>The actual transfer process happens in the background, beaming over apps, accounts, default settings and everything else you had sitting on your own phone. Since my S26 Ultra doesn't get a ton of use, that process was pretty quick, and your experience will differ depending on how much you actually need to beam to your new phone.</p><p>I also find myself pretty impressed with the way Galaxy foldables set up fingerprint recognition. Samsung phones are usually some of the easiest and fastest devices for setting up biometric security, but with the physical fingerprint scanner all you need to do is wiggle your chosen digit around during the mapping process. None of the tedious lifting and replacing motions that you get with under-display fingerprint scanners. </p><h2 id="adapting-to-new-displays">Adapting to new displays</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="eLMVZ9zvqMV9V9gmY4nUfm" name="PXL_20260723_153800876" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/eLMVZ9zvqMV9V9gmY4nUfm-1920-80.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>Switching to a foldable phone means adapting to a brand new set of displays. The 6.5-inch cover display offers a 21:9 aspect ratio, which is noticeably narrower than the 19:5:9 aspect ratio you'd find on most phones. </p><p>Having been used to using  6.3-inch non-folding phones for so long, the narrower form factor is taking some getting used to. To the point where I gravitate towards the 8-inch foldable display instead. It seems like a paradox, but I find the larger screen is a lot more comfortable to use — especially considering the doubled-screen is the perfect size for two-handed use.</p><p>As Samsung says, it's like having two 6.5-inch phones in a single phone.</p><p>One thing I noticed was that the Samsung web browser defaulted to the desktop view on both screens, and to my surprise I actually found it more comfortable to read that way. </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="EHKpRgYwit7wtK6JkUvEcm" name="PXL_20260723_154034644" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/EHKpRgYwit7wtK6JkUvEcm-1920-80.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>Admittedly the text was rather small on the cover display, but the mobile option was too large and squashed together for me to read comfortably. It was almost like I had an accessibility feature that blew up the print for users with visual impairments. That said vertical videos looked perfect on the narrower cover display, with next to no wasted space. </p><p>That was not entirely true for horizontal video, but that just gave the foldable screen even more chance to shine. Especially since Flex Mode let me partially fold up the screen and use the Z Fold 8 Ultra as its own stand.</p><p>I'll admit, though, it does still feel as though something is missing with the larger screen, and <a href="https://www.tomsguide.com/phones/samsung-phones/no-the-fold-8-doesnt-have-an-s-pen-but-samsung-is-exploring-its-return-for-future-folds">I feel like having some kind of S Pen support</a> would help complete the puzzle. I'm not entirely sure I would be using the stylus all that much, but it would be nice to have the option.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XbDPDW"></div>                            </div>                            <script src="https://kwizly.com/embed/XbDPDW.js" async></script><h2 id="not-quite-crease-free">Not quite crease-free</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="MQkbeXqvtqBcXLFh5FTd94" name="PXL_20260723_104725084" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" src="https://cdn.mos.cms.futurecdn.net/MQkbeXqvtqBcXLFh5FTd94-1920-80.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 most anticipated upgrades on the Z fold 8 Ultra is the flex titanium display, which was heavily <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-8-may-eliminate-the-display-crease-too-step-aside-iphone-fold">rumored to eliminate the crease down the display</a>. It doesn't take long to spot that this is not really the case, and the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-doesnt-have-a-crease-free-display-but-its-the-closest-samsung-has-ever-got-to-one">crease is still visible</a> in certain conditions.</p><p>That being said, the crease is a lot harder to see when compared to the <a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review">Galaxy Z Fold 7.</a> It mostly shows up when the screen is switched off, or you find yourself in particularly bright conditions. The fact you have to go out of your way to see the crease means Samsung should be commended for what it's managed by adding the <a href="https://www.tomsguide.com/phones/samsung-phones/ive-seen-the-galaxy-z-fold-8s-flex-titanium-screen-and-apple-should-be-nervous">Flex Titanium</a> display. </p><p>That said, you can still feel the crease when you're scrolling along the large display. It feels almost identical to the Z Fold 7's crease, and I have to admit the more I use the phone the more distracting it is to come across the dip in the middle of the screen. That's definitely something Samsung needs to work on for the Z Fold 9 Ultra.</p><h2 id="galaxy-class-performance">Galaxy-class performance?</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="cTifXBtrnANVtbvxaBQhjm" name="PXL_20260723_153613981" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/cTifXBtrnANVtbvxaBQhjm-1920-80.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>While I haven't done any benchmarking with the Galaxy Z Fold 8 Ultra yet, I have done some gaming to try and <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-just-confirmed-the-most-obvious-galaxy-z-fold-8-upgrade-but-im-still-surprised">take the new Snapdragon 8 Elite Gen 5 for Galaxy chipset</a> for a spin. Loading up PUBG Mobile and I found that the settings automatically set the frame rate to the highest level, though it was being a little bit stingy with the graphics until I told it to up the ante.</p><p>The performance at the highest possible settings was excellent, as I'd hoped. I didn't notice any frame rate issues while I played, and the graphics were exactly what I expected from PUBG after dabbling with the game over the past few years. Better still I didn't even feel the phone get warm throughout an hour of playthrough, which is always best for the long-term health of the phone.</p><p>As for the battery, I found that this play session ate up around 5% of my battery, including the time it took to download the more advanced graphics. </p><p>Similarly, I forgot to charge the Z Fold 8 Ultra overnight, but still managed to get to around 3.45 p.m. before it flashed up a battery warning. That bodes well for the actual battery life, but since we haven't tested it I can't say whether Samsung's 27 hour battery life claim is accurate or not.</p><h2 id="cameras-are-so-far-so-samsung">Cameras are so-far so-Samsung</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="mdwDsgb4mmvfC7T47Efewm" name="PXL_20260723_153702005" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/mdwDsgb4mmvfC7T47Efewm-1920-80.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>I haven't had much need to take photos with the Z Fold 8 Ultra so far, but it's not like I need an excuse to snap photos of my dogs — especially when they make such adorable models. Needless to say, I'm impressed with the photos I've taken with the Galaxy Z Fold 8 Ultra so far.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Rau4SAqveDxu7PjRWnTELn-1920-80.jpg" alt="samsung galaxy z fold 8 ultra sample photos" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/y2kGLKf8HndGP4TkV2YPM5-1920-80.jpg" alt="labador" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZSGz3vXpD6YgrRVP75jPAn-1920-80.jpg" alt="samsung galaxy z fold 8 ultra sample photos" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/eg5zKpgcoFcSz8x9zdLykm-1920-80.jpg" alt="samsung galaxy z fold 8 ultra sample photos" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/RZ8K8YeYUkYsVtMUH36Yvm-1920-80.jpg" alt="samsung galaxy z fold 8 ultra sample photos" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/j23D7nFQdRWzBFGi45WVnB-1920-80.jpg" alt="tomato plant" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>The photos of my dogs and my plants came out looking pretty well, though I will admit that the main lens struggled with close-ups of my Lego minifigures. For some reason it just would not focus on what I wanted, meaning I had to resort to the lower-resolution Ultrawide angle lens to actually get this shot of Captain Jean-Luc Brickard. </p><p>You can kind of tell that the resolution isn't really there, though the photo itself still looks rather good. Sadly, the telephoto lens doesn't quite match up, and the quality feels more akin to the 10MP selfie cameras rather than the other two rear lenses. I wouldn't say it's taking bad photos, but they're not quite the caliber I would expect from a $2,100 phone.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Ms28JUWAB3P2Rnpb3zHGuh-1920-80.jpg" alt="tom pritchard selfie" /><figcaption>200MP main lens<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Mcq9S4JHKy5LP24NgN28H5-1920-80.jpg" alt="tom Pritchard" /><figcaption>10MP selfie lens<small role="credit">Future</small></figcaption></figure></figure><p>As for the selfie camera, I won't say that I dislike the photos it takes, but it falters compared to that main 200MP camera. The selfies feel a little grainier and washed out, and I feel like you'd be better off taking advantage of the rear cameras instead. The very nature of foldables, and the fact you can use the cover display as a viewfinder, means that's a very real option for you.</p><p>If anyone is interested in how I got my tomatoes looking so nice after the immense <a href="https://www.tomsguide.com/home/how-to-protect-your-lawn-from-the-next-heatwave-3-drought-proofing-steps-pros-swear-by">heat and drought we've been having in the U.K.</a>, <a href="https://www.tomsguide.com/how-to/7-surprising-ways-you-can-reuse-old-coffee-grounds">the answer is coffee grounds</a>. Those leftovers mean I haven't had to feed my tomato plant all summer. Sadly, the same can't be said for my pepper plant, which hasn't even flowered yet.</p><h2 id="the-ai-isn-t-ready-this-soon">The AI isn't ready this soon</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="6bUozneavx3TWuWo7Ff7Um" name="PXL_20260723_153421125" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/6bUozneavx3TWuWo7Ff7Um-1920-80.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>As much as Samsung (and other phone companies) love to hype up AI capabilities, you can't really take full advantage of them on day one. The fact that Galaxy AI already has information on me, transferred over from my Galaxy S26 Ultra, meant that they weren't completely useless. So Now Brief had some basic information from places like my calendar to get me started.</p><p>However, I did need to go through a bunch of setup processes, like updating Samsung's Personal Data Intelligence and creating my own custom cards, to start making the most of the feature. On a similar note, the fact that Now Nudge hadn't had time to burrow into the depths of my phone hasn't been able to surface any useful information so far.</p><p>I have attempted to utilize MyFanCam, which lets you edit videos in a way that focuses on a single subject rather than an entire group. </p><p>I had hoped I would be able to use the feature to video my dogs playing, and help keep the focus on one of the two, instead of having to try and keep their crazy antics in frame all the time. But apparently the AI that powers MyFanCam doesn't recognize dogs, only people. Stay tuned for more.</p><h2 id="what-a-difference-a-day-makes">What a difference a day makes</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="qZ3hFwNMPAjdkh9oaNX6Ym" name="PXL_20260723_153709681" alt="samsung galaxy z fold 8 ultra sample photos" src="https://cdn.mos.cms.futurecdn.net/qZ3hFwNMPAjdkh9oaNX6Ym-1920-80.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>24 hours is not a lot of time when it comes to getting to grips with a new phone, especially when there are AI features that need time and resources to get themselves working at anything close to operating capacity. Still, it's a good amount of time to start getting to grips with a new device, and for all its potential flaws I am rather happy with the Galaxy Z Fold 8 Ultra so far.</p><p>I am not a huge fan of the narrow cover display, and feel like the wider Z Fold 8 might offer a better experience in that regard. I do like the main 8-inch display, though, especially since it makes viewing and scrolling a more comfortable experience than you'd normally get. Though I would have liked the option to use an S Pen, and hope Samsung brings it back sooner rather than later.</p><p>Of course, there's still plenty of testing that needs doing before we can publish our full review. While I hope this shapes up to be one of the best foldable phones, 24 hours just isn't enough to make that happen. That means it's time to get testing and see what this phone can really do.</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/phones/samsung-phones/i-just-ditched-my-iphone-for-the-z-fold-8-android-17s-new-migration-tool-is-pure-magic-but-there-is-one-painful-catch">I just ditched my iPhone for the Z Fold 8 — Android 17’s new migration tool is pure magic, but there is one painful catch</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/how-samsung-plans-to-fight-the-first-foldable-iphone-jay-kim-interview">‘We're pretty confident': How Samsung plans to fight the first foldable iPhone</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/id-buy-a-galaxy-z-fold-8-over-the-z-fold-8-ultra-and-its-all-because-it-steals-this-z-trifold-feature">I'd buy a Galaxy Z Fold 8 over the Z Fold 8 Ultra — and it's all because it steals this Z TriFold feature</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Galaxy Z Fold 8 Ultra doesn't have a crease-free display — but it's the closest Samsung has ever got to one ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Foldable phone makers have declared war on the display crease, and this year could be the year a bunch of them make real progress. Samsung, in particular, has been slowly reducing the visibility of the crease over the past few years, but the recent <a href="https://www.tomsguide.com/news/live/samsung-galaxy-unpacked-2026-live">launch of the Galaxy Z 8 series</a> marks the most significant reduction to date.</p><p>Rumors suggested that Samsung had managed to eliminate the crease, but I can promise you that this isn't the case based on my experience with the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Galaxy Z Fold 8 Ultra </a>over the past day. Samsung has made a lot of progress in making the crease less visible, but it hasn't managed to hide it from view completely.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ULUXv4kHnTVmDbGwRN9NB4-1920-80.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption>Left: Z Fold 7 | Right: Z Fold 8 Ultra<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MQkbeXqvtqBcXLFh5FTd94-1920-80.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption>Z Fold 8 Ultra<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/iQKeyc8GYEefnzK5FAa2B4-1920-80.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption>Z Fold 7<small role="credit">Future</small></figcaption></figure></figure><p>I should make it very clear from the get-go that the crease on the Z Fold 8 Ultra is rather difficult to see at a glance. Especially when you compare it to the<a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review"> Galaxy Z Fold 7,</a> which, despite its <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-7-can-survive-half-a-million-folds-according-to-independent-testing-and-thats-a-massive-upgrade">own screen refinements</a>, still has a rather prominent crease down the middle of its foldable screen.</p><p>That being said, the visibility of the crease all depends on what the phone is doing and what the lighting conditions are like. For instance, having the screen switched on makes the crease a lot harder to notice than when it's switched off. </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="4hYjjRJtsZ2rBPAVeuSTB4" name="PXL_20260723_105144060" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" src="https://cdn.mos.cms.futurecdn.net/4hYjjRJtsZ2rBPAVeuSTB4-1920-80.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>Bright, direct light is the worst offender for this. Which means that even though the Z Fold 8 Ultra has a new anti-reflective coating and a 3,000-nit display to aid performance in bright conditions, there's no hiding the prominent dip and warp running down the center of the screen. </p><p>That said, switch your location to a spot without bright and direct light, and the crease practically vanishes before your eyes. So long as the screen is switched on, that is.</p><p>Similarly, bright environments really highlight the warping around the center of the phone. However, it's not even close to as bad as the warping visible on the Z Fold 7. That level of warping is enough to visibly ruin whatever is on your screen, and is particularly pronounced in bright environments.</p><p>Tilting the screen around ruins the illusion too, but as long as you're avoiding direct light, it's still a bit of a struggle to see the crease on the Fold 8 Ultra. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/v4Kw7LWejpsKsWnk8EWa94-1920-80.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption>Left: Z Fold 8 Ultra | Right: Z Fold 7<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uRSstPhLxs7AGDTSJBtHB4-1920-80.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption>Left: Z Fold 8 Ultra | Right: Z Fold 7<small role="credit">Future</small></figcaption></figure></figure><p>Looking at the Z Fold 8 Ultra is only one part of the equation when it comes to the crease, though. Samsung doesn't seem to have made any headway in reducing the way the crease feels when you slide over it with your finger. </p><p>There's a noticeable bump, followed by a dip and another bump. It's not subtle, and the feeling is almost identical to that of the Galaxy Z Fold 7. That suggests to me that the hinge design hasn't changed since last year, and the <a href="https://www.tomsguide.com/phones/samsung-phones/ive-seen-the-galaxy-z-fold-8s-flex-titanium-screen-and-apple-should-be-nervous">Flex titanium</a> display doesn't seem to be doing much, if anything, to cushion everything underneath the display panel.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="5bJZYl" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XbDPDW"></div>                            </div>                            <script src="https://kwizly.com/embed/XbDPDW.js" async></script><p>How this affects you is going to depend on how you use your Z Fold 8 or 8 Ultra. I've been using the larger screen in landscape mode, with the crease running from left to right, and that naturally means my thumb rolls over the crease quite a lot. Obviously, if I held the phone the other way, with the crease running from top to bottom, things would be totally different.</p><p>Obviously this is something prospective Galaxy Z Fold 8 owners need to be aware of. Just because Samsung has reduced the visibility of the Z Fold 8's crease by a considerable amount, it doesn't mean that you won't notice it. Whether that's because you're in a bright environment, or because you can't stop sliding over it while doing basic, everyday things on the larger screen.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/M5GcApuxCHZTWsqw6YCAC4-1920-80.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/DaoR8ut657H85m2DZXpPA4-1920-80.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption>Left: Z Fold 7 | Right: Z Fold 8 Ultra<small role="credit">Future</small></figcaption></figure></figure><p>Still, credit where credit is due, Samsung has done a lot to improve the look of the Galaxy Z Fold 8 Ultra's display. Though now the real question is how it will compare to the upcoming foldable <a href="https://www.tomsguide.com/phones/iphones/iphone-fold-heres-what-the-leaks-and-rumors-say-about-apples-alleged-upcoming-foldable-phone">iPhone Ultra</a>. </p><p>After all, Apple has reportedly been especially particular about the crease to the point where it <a href="https://www.tomsguide.com/phones/iphone-flip-tipped-to-eliminate-the-biggest-design-flaw-with-foldable-phones-heres-how">apparently delayed the phone until it could be eliminated</a>. But we'll have to wait until mid-to-late September to find out for sure.</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/phones/samsung-phones/samsung-galaxy-z-fold-8-is-the-first-galaxy-phone-with-a-silicon-carbon-battery-heres-why-thats-such-a-big-deal">Samsung Galaxy Z Fold 8 is the first Galaxy phone with a silicon carbon battery — here's why that's such a big deal</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/no-the-fold-8-doesnt-have-an-s-pen-but-samsung-is-exploring-its-return-for-future-folds">No, the Fold 8 doesn't have an S Pen — but Samsung is ‘exploring’ its return for future Folds</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-held-samsungs-secret-canceled-z-fold-8-prototypes-and-they-killed-the-best-one">I held Samsung’s secret, canceled Z Fold 8 prototypes — and they killed the best one</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-doesnt-have-a-crease-free-display-but-its-the-closest-samsung-has-ever-got-to-one</link>
                                                                            <description>
                            <![CDATA[ Samsung has made a huge amount of progress hiding the display crease, but it's not completely gone. Here's how it compares to the Z Fold 7. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">yictMPD5s2Cmws4jCbPWXi</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/TMxTujefvrU4ViKmUpsbUf-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 23 Jul 2026 12:27:49 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></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-320-70.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/TMxTujefvrU4ViKmUpsbUf-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Galaxy Z Fold 8 Ultra shown in hand]]></media:description>                                                            <media:text><![CDATA[Galaxy Z Fold 8 Ultra shown in hand]]></media:text>
                                <media:title type="plain"><![CDATA[Galaxy Z Fold 8 Ultra shown in hand]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/TMxTujefvrU4ViKmUpsbUf-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Foldable phone makers have declared war on the display crease, and this year could be the year a bunch of them make real progress. Samsung, in particular, has been slowly reducing the visibility of the crease over the past few years, but the recent <a href="https://www.tomsguide.com/news/live/samsung-galaxy-unpacked-2026-live">launch of the Galaxy Z 8 series</a> marks the most significant reduction to date.</p><p>Rumors suggested that Samsung had managed to eliminate the crease, but I can promise you that this isn't the case based on my experience with the <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Galaxy Z Fold 8 Ultra </a>over the past day. Samsung has made a lot of progress in making the crease less visible, but it hasn't managed to hide it from view completely.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/ULUXv4kHnTVmDbGwRN9NB4-1920-80.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption>Left: Z Fold 7 | Right: Z Fold 8 Ultra<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MQkbeXqvtqBcXLFh5FTd94-1920-80.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption>Z Fold 8 Ultra<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/iQKeyc8GYEefnzK5FAa2B4-1920-80.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption>Z Fold 7<small role="credit">Future</small></figcaption></figure></figure><p>I should make it very clear from the get-go that the crease on the Z Fold 8 Ultra is rather difficult to see at a glance. Especially when you compare it to the<a href="https://www.tomsguide.com/phones/samsung-galaxy-z-fold-7-review"> Galaxy Z Fold 7,</a> which, despite its <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-fold-7-can-survive-half-a-million-folds-according-to-independent-testing-and-thats-a-massive-upgrade">own screen refinements</a>, still has a rather prominent crease down the middle of its foldable screen.</p><p>That being said, the visibility of the crease all depends on what the phone is doing and what the lighting conditions are like. For instance, having the screen switched on makes the crease a lot harder to notice than when it's switched off. </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="4hYjjRJtsZ2rBPAVeuSTB4" name="PXL_20260723_105144060" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" src="https://cdn.mos.cms.futurecdn.net/4hYjjRJtsZ2rBPAVeuSTB4-1920-80.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>Bright, direct light is the worst offender for this. Which means that even though the Z Fold 8 Ultra has a new anti-reflective coating and a 3,000-nit display to aid performance in bright conditions, there's no hiding the prominent dip and warp running down the center of the screen. </p><p>That said, switch your location to a spot without bright and direct light, and the crease practically vanishes before your eyes. So long as the screen is switched on, that is.</p><p>Similarly, bright environments really highlight the warping around the center of the phone. However, it's not even close to as bad as the warping visible on the Z Fold 7. That level of warping is enough to visibly ruin whatever is on your screen, and is particularly pronounced in bright environments.</p><p>Tilting the screen around ruins the illusion too, but as long as you're avoiding direct light, it's still a bit of a struggle to see the crease on the Fold 8 Ultra. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/v4Kw7LWejpsKsWnk8EWa94-1920-80.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption>Left: Z Fold 8 Ultra | Right: Z Fold 7<small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/uRSstPhLxs7AGDTSJBtHB4-1920-80.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption>Left: Z Fold 8 Ultra | Right: Z Fold 7<small role="credit">Future</small></figcaption></figure></figure><p>Looking at the Z Fold 8 Ultra is only one part of the equation when it comes to the crease, though. Samsung doesn't seem to have made any headway in reducing the way the crease feels when you slide over it with your finger. </p><p>There's a noticeable bump, followed by a dip and another bump. It's not subtle, and the feeling is almost identical to that of the Galaxy Z Fold 7. That suggests to me that the hinge design hasn't changed since last year, and the <a href="https://www.tomsguide.com/phones/samsung-phones/ive-seen-the-galaxy-z-fold-8s-flex-titanium-screen-and-apple-should-be-nervous">Flex titanium</a> display doesn't seem to be doing much, if anything, to cushion everything underneath the display panel.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="5bJZYl" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-XbDPDW"></div>                            </div>                            <script src="https://kwizly.com/embed/XbDPDW.js" async></script><p>How this affects you is going to depend on how you use your Z Fold 8 or 8 Ultra. I've been using the larger screen in landscape mode, with the crease running from left to right, and that naturally means my thumb rolls over the crease quite a lot. Obviously, if I held the phone the other way, with the crease running from top to bottom, things would be totally different.</p><p>Obviously this is something prospective Galaxy Z Fold 8 owners need to be aware of. Just because Samsung has reduced the visibility of the Z Fold 8's crease by a considerable amount, it doesn't mean that you won't notice it. Whether that's because you're in a bright environment, or because you can't stop sliding over it while doing basic, everyday things on the larger screen.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/M5GcApuxCHZTWsqw6YCAC4-1920-80.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/DaoR8ut657H85m2DZXpPA4-1920-80.jpg" alt="samsung galaxy z fold 8 side by side with z fold 7 to show of display creases" /><figcaption>Left: Z Fold 7 | Right: Z Fold 8 Ultra<small role="credit">Future</small></figcaption></figure></figure><p>Still, credit where credit is due, Samsung has done a lot to improve the look of the Galaxy Z Fold 8 Ultra's display. Though now the real question is how it will compare to the upcoming foldable <a href="https://www.tomsguide.com/phones/iphones/iphone-fold-heres-what-the-leaks-and-rumors-say-about-apples-alleged-upcoming-foldable-phone">iPhone Ultra</a>. </p><p>After all, Apple has reportedly been especially particular about the crease to the point where it <a href="https://www.tomsguide.com/phones/iphone-flip-tipped-to-eliminate-the-biggest-design-flaw-with-foldable-phones-heres-how">apparently delayed the phone until it could be eliminated</a>. But we'll have to wait until mid-to-late September to find out for sure.</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/phones/samsung-phones/samsung-galaxy-z-fold-8-is-the-first-galaxy-phone-with-a-silicon-carbon-battery-heres-why-thats-such-a-big-deal">Samsung Galaxy Z Fold 8 is the first Galaxy phone with a silicon carbon battery — here's why that's such a big deal</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/no-the-fold-8-doesnt-have-an-s-pen-but-samsung-is-exploring-its-return-for-future-folds">No, the Fold 8 doesn't have an S Pen — but Samsung is ‘exploring’ its return for future Folds</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-held-samsungs-secret-canceled-z-fold-8-prototypes-and-they-killed-the-best-one">I held Samsung’s secret, canceled Z Fold 8 prototypes — and they killed the best one</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I just ditched my iPhone for the Z Fold 8 — Android 17’s new migration tool is pure magic, but there is one painful catch ]]></title>
                                                                                                <dc:content><![CDATA[ <p>For a decade, Apple has essentially held my digital life hostage with iPhones. Every time I looked at an Android phone, the sheer dread of migrating my passwords, WhatsApp chats, and app layouts kept me firmly trapped in the Walled Garden. But with Android 17 on the new <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-hands-on-review">Galaxy Z Fold 8</a>, Google just handed me a pair of bolt cutters.</p><p>Enter Google’s new Android Switch iOS migration tool — named Smart Switch in the newly launched Galaxy Z Fold 8, <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Galaxy Z Fold 8 Ultra</a> and <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-hands-on-review">Galaxy Z Flip 8</a>. And all I’ll say is if switching operating systems is a dealbreaker for you — getting all the right apps, account logins and home screen layouts just right — all of that is gone.</p><p>This is a breakthrough for phone switchers, and a real leveler in the iOS vs Android war.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="5bJZYl" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 id="just-scan-and-go">Just scan and 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:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="uat8NzYTFwXMac58yd9osY" name="Android 17 iOS migration tool" alt="Android 17 iOS migration tool" src="https://cdn.mos.cms.futurecdn.net/uat8NzYTFwXMac58yd9osY-1920-80.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>It all starts with a QR code scan — no additional app required. At that point, I picked what apps and data I sent across, and it just…did it. Mostly.</p><p>There is the brutal reality I did face while switching: the software is pure magic, but physics still applies. I was staring down the barrel of a decade's worth of iPhone photos (514GB to be specific), and the Z Fold 8 simply didn't have the storage to swallow it all. </p><p>I had to make the agonizing choice to leave my photo library behind in the Apple ether. But once I made peace with that (and started a mass transfer to Amazon Photos with my Prime account)? What happened next was jaw-dropping.</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="VikpkEk9PUNfF4iqZtMNqY" name="Android 17 iOS migration tool" alt="Android 17 iOS migration tool" src="https://cdn.mos.cms.futurecdn.net/VikpkEk9PUNfF4iqZtMNqY-1920-80.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><div><blockquote><p>The elimination of basically all friction here is amazing to me.</p></blockquote></div><p>Your Android phone will find its OS equivalents of the apps you have on your iPhone and install them all, all your messages, call logs and contacts, WhatsApp data, account logins and passwords, settings and even the way the apps are laid out on each home screen (as well as wallpaper) all make it over.</p><p>The only things you’ll need to do are log back into your apps with the saved details and add the Android equivalent to the widgets, as I saw with these suspicious gaps in my app layouts. </p><p>The elimination of basically all friction here is amazing to me — someone who’s seen both sides make it as awkward as possible for platform lock-in.</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="D4SjJtUfCtdf2rEXwMZ5sY" name="Android 17 iOS migration tool" alt="Android 17 iOS migration tool" src="https://cdn.mos.cms.futurecdn.net/D4SjJtUfCtdf2rEXwMZ5sY-1920-80.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>And even better? It just took me around 25-30 minutes wirelessly. Of course, mileage may vary depending on just how much data you’re sending over, but this was for roughly 55GB of total data. </p><p>Stick another five minutes on top for logging back into everything and setting up my bank card with Samsung Pay, and I was using the London Underground again as if nothing had happened.</p><h2 id="what-s-the-catch">What’s the catch?</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="9ziYTMeYfvJiwhcom72gqY" name="Android 17 iOS migration tool" alt="Android 17 iOS migration tool" src="https://cdn.mos.cms.futurecdn.net/9ziYTMeYfvJiwhcom72gqY-1920-80.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 there is one small frustration that I came across — my first attempt came up with an internet connection problem. Basically, the migration didn’t start because the Android phone wasn’t connected to Wi-Fi. This could be because I was on my hotel’s network, and your home Wi-Fi may behave differently.</p><p>If that happens, just start the process as if you were setting up your Android phone from scratch, connect to Wi-Fi, then head back to the migration screen. That fixed it for me!</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="MGUksWn6w4Ak5by2oQDaoY" name="Android 17 iOS migration tool" alt="Android 17 iOS migration tool" src="https://cdn.mos.cms.futurecdn.net/MGUksWn6w4Ak5by2oQDaoY-1920-80.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>But beyond that, everything else was shockingly smooth on this transition, and surprisingly fast too. In all my years covering phones, I never expected to see iOS and Android playing nice together like this.</p><p>Put simply, the fear of platform lock-in should no longer be part of your purchase decision.</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/phones/samsung-phones/samsung-galaxy-z-fold-8-is-the-first-galaxy-phone-with-a-silicon-carbon-battery-heres-why-thats-such-a-big-deal">Samsung Galaxy Z Fold 8 is the first Galaxy phone with a silicon carbon battery — here's why that's such a big deal</a></li><li><a href="https://www.tomsguide.com/ai/samsung-just-added-automated-tasks-and-gemini-notebook-to-galaxy-z-fold-8-heres-what-these-ai-features-let-you-do">Samsung just added Automated Tasks and Gemini Notebook to Galaxy Z Fold 8 — here's what these AI features let you do</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-held-samsungs-secret-canceled-z-fold-8-prototypes-and-they-killed-the-best-one">I held Samsung’s secret, canceled Z Fold 8 prototypes — and they killed the best one</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/phones/samsung-phones/i-just-ditched-my-iphone-for-the-z-fold-8-android-17s-new-migration-tool-is-pure-magic-but-there-is-one-painful-catch</link>
                                                                            <description>
                            <![CDATA[ I ditched my iPhone of 10 years for the Samsung Galaxy Z Fold 8. Android 17’s new native switch tool is pure magic, but I hit one 514GB storage catch. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">jk4sSf2XqheBuDuZcbEFt</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/bnGCtNgfVm5FaNEyibTdqY-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 23 Jul 2026 10:36:13 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Samsung Phones]]></category>
                                                    <category><![CDATA[Android Phones]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ Jason England ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/v4fSq5U4uZUEtGY2BwNuJ6-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jason brings a decade of tech and gaming journalism experience to his role as a Managing Editor of Computing at Tom&#039;s Guide. He has previously written for Laptop Mag, Tom&#039;s Hardware, Kotaku, Stuff and BBC Science Focus. In his spare time, you&#039;ll find Jason looking for good dogs to pet or thinking about eating pizza if he isn&#039;t already.&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/bnGCtNgfVm5FaNEyibTdqY-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Android 17 iOS migration tool]]></media:description>                                                            <media:text><![CDATA[Android 17 iOS migration tool]]></media:text>
                                <media:title type="plain"><![CDATA[Android 17 iOS migration tool]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/bnGCtNgfVm5FaNEyibTdqY-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>For a decade, Apple has essentially held my digital life hostage with iPhones. Every time I looked at an Android phone, the sheer dread of migrating my passwords, WhatsApp chats, and app layouts kept me firmly trapped in the Walled Garden. But with Android 17 on the new <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-hands-on-review">Galaxy Z Fold 8</a>, Google just handed me a pair of bolt cutters.</p><p>Enter Google’s new Android Switch iOS migration tool — named Smart Switch in the newly launched Galaxy Z Fold 8, <a href="https://www.tomsguide.com/phones/samsung-phones/galaxy-z-fold-8-ultra-hands-on-review">Galaxy Z Fold 8 Ultra</a> and <a href="https://www.tomsguide.com/phones/samsung-phones/samsung-galaxy-z-flip-8-hands-on-review">Galaxy Z Flip 8</a>. And all I’ll say is if switching operating systems is a dealbreaker for you — getting all the right apps, account logins and home screen layouts just right — all of that is gone.</p><p>This is a breakthrough for phone switchers, and a real leveler in the iOS vs Android war.</p><figure class="inline-layout"><div style="min-height: 400px;"><fw-embed-feed channel="toms_guide" playlist="5bJZYl" mode="row" player_placement="bottom-right"></fw-embed-feed></div></figure><h2 id="just-scan-and-go">Just scan and 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:3840px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="uat8NzYTFwXMac58yd9osY" name="Android 17 iOS migration tool" alt="Android 17 iOS migration tool" src="https://cdn.mos.cms.futurecdn.net/uat8NzYTFwXMac58yd9osY-1920-80.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>It all starts with a QR code scan — no additional app required. At that point, I picked what apps and data I sent across, and it just…did it. Mostly.</p><p>There is the brutal reality I did face while switching: the software is pure magic, but physics still applies. I was staring down the barrel of a decade's worth of iPhone photos (514GB to be specific), and the Z Fold 8 simply didn't have the storage to swallow it all. </p><p>I had to make the agonizing choice to leave my photo library behind in the Apple ether. But once I made peace with that (and started a mass transfer to Amazon Photos with my Prime account)? What happened next was jaw-dropping.</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="VikpkEk9PUNfF4iqZtMNqY" name="Android 17 iOS migration tool" alt="Android 17 iOS migration tool" src="https://cdn.mos.cms.futurecdn.net/VikpkEk9PUNfF4iqZtMNqY-1920-80.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><div><blockquote><p>The elimination of basically all friction here is amazing to me.</p></blockquote></div><p>Your Android phone will find its OS equivalents of the apps you have on your iPhone and install them all, all your messages, call logs and contacts, WhatsApp data, account logins and passwords, settings and even the way the apps are laid out on each home screen (as well as wallpaper) all make it over.</p><p>The only things you’ll need to do are log back into your apps with the saved details and add the Android equivalent to the widgets, as I saw with these suspicious gaps in my app layouts. </p><p>The elimination of basically all friction here is amazing to me — someone who’s seen both sides make it as awkward as possible for platform lock-in.</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="D4SjJtUfCtdf2rEXwMZ5sY" name="Android 17 iOS migration tool" alt="Android 17 iOS migration tool" src="https://cdn.mos.cms.futurecdn.net/D4SjJtUfCtdf2rEXwMZ5sY-1920-80.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>And even better? It just took me around 25-30 minutes wirelessly. Of course, mileage may vary depending on just how much data you’re sending over, but this was for roughly 55GB of total data. </p><p>Stick another five minutes on top for logging back into everything and setting up my bank card with Samsung Pay, and I was using the London Underground again as if nothing had happened.</p><h2 id="what-s-the-catch">What’s the catch?</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="9ziYTMeYfvJiwhcom72gqY" name="Android 17 iOS migration tool" alt="Android 17 iOS migration tool" src="https://cdn.mos.cms.futurecdn.net/9ziYTMeYfvJiwhcom72gqY-1920-80.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 there is one small frustration that I came across — my first attempt came up with an internet connection problem. Basically, the migration didn’t start because the Android phone wasn’t connected to Wi-Fi. This could be because I was on my hotel’s network, and your home Wi-Fi may behave differently.</p><p>If that happens, just start the process as if you were setting up your Android phone from scratch, connect to Wi-Fi, then head back to the migration screen. That fixed it for me!</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="MGUksWn6w4Ak5by2oQDaoY" name="Android 17 iOS migration tool" alt="Android 17 iOS migration tool" src="https://cdn.mos.cms.futurecdn.net/MGUksWn6w4Ak5by2oQDaoY-1920-80.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>But beyond that, everything else was shockingly smooth on this transition, and surprisingly fast too. In all my years covering phones, I never expected to see iOS and Android playing nice together like this.</p><p>Put simply, the fear of platform lock-in should no longer be part of your purchase decision.</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/phones/samsung-phones/samsung-galaxy-z-fold-8-is-the-first-galaxy-phone-with-a-silicon-carbon-battery-heres-why-thats-such-a-big-deal">Samsung Galaxy Z Fold 8 is the first Galaxy phone with a silicon carbon battery — here's why that's such a big deal</a></li><li><a href="https://www.tomsguide.com/ai/samsung-just-added-automated-tasks-and-gemini-notebook-to-galaxy-z-fold-8-heres-what-these-ai-features-let-you-do">Samsung just added Automated Tasks and Gemini Notebook to Galaxy Z Fold 8 — here's what these AI features let you do</a></li><li><a href="https://www.tomsguide.com/phones/samsung-phones/i-held-samsungs-secret-canceled-z-fold-8-prototypes-and-they-killed-the-best-one">I held Samsung’s secret, canceled Z Fold 8 prototypes — and they killed the best one</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I went hands-on with the Halliday G2 — the smart glasses made for meetings ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Are smart glasses too ... smart? Rather than creating a jack-of-all trades pair of specs, the new Halliday G2 smart glasses are aimed at one thing: Making your meetings more focused and productive. </p><p>To that end, these glasses don't have a camera, but instead a set of mics and an AI that can act as your assistant to look up data, create action items, and help keep people accountable. </p><p>I went hands-on with the Halliday G2 a few weeks back and here's everything they can do, as well as my initial impressions on how they compare to the <a href="https://www.tomsguide.com/computing/vr-ar/best-smart-glasses">best smart glasses</a>. </p><h3 class="article-body__section" id="section-price-and-availability"><span>Price and availability</span></h3><p>The Halliday G2 will cost $599 (the same price as the <a href="https://www.tomsguide.com/computing/smart-glasses/even-realities-g2-smart-glasses-review">Even Realities G2</a>, but $200 less than the <a href="https://www.tomsguide.com/computing/smart-glasses/meta-ray-ban-display-review">Meta Ray-Ban Display</a>), and is expected to ship in September. Preorders begin today (July 21) at www.hallidayglobal.com; those who secure a preorder with a $10 deposit will get $100 off the regular price of the glasses. </p><p>The G2s will be available with prescription lenses.</p><h3 class="article-body__section" id="section-design-and-display"><span>Design and display</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="bVofhppmxM2vytQLDfikmk" name="Halliday G2 on table" alt="Halliday G2 on table" src="https://cdn.mos.cms.futurecdn.net/bVofhppmxM2vytQLDfikmk-1920-80.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>While the Halliday G2 has a display, it feels a lot more stripped-down than the Meta Ray-Ban Displays or the <a href="https://www.tomsguide.com/computing/smart-glasses/snap-specs-are-official-and-theyre-a-bold-mash-up-of-ray-ban-metas-and-apple-vision-pro-with-an-eye-watering-price">Snap Specs</a>, but that's by design.</p><p>For one thing, there's no camera. In addition to making the glasses simpler, it was also done to put others at ease, company reps told me. (They can record audio, but still.)</p><p>While the G2 has a built-in display, it's much more basic than what you'll find on the Meta Displays, and more like that on the Even Realities G2 or <a href="https://www.tomsguide.com/computing/smart-glasses/rokid-glasses-review">Rokid Glasses</a>: a green, monochrome readout.</p><p>Unlike the first-gen Halliday, the G2's display is brighter and clearer, and appears virtually in front of both your eyes, rather than on just the right side. The image appears to hover a few feet in front of you, which made it much more natural to look at when holding a conversation with others.</p><p>The G2's feature dual micro-LED projectors with a resolution of 600 x 300 in each eye, and a peak brightness of 1,600 nits.</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:1670px;"><p class="vanilla-image-block" style="padding-top:59.94%;"><img id="ufAd76u5S5NiK36B4tq9V3" name="Halliday_screen" alt="Halliday G2 display" src="https://cdn.mos.cms.futurecdn.net/ufAd76u5S5NiK36B4tq9V3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1670" height="1001" 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>I wore the G2's for a few minutes during a hands-on session, and found them to be as comfortable as the Ray-Ban Metas, as well as my regular non-smart glasses. The G2's weigh under 50 grams, which put them in the same tier as the Ray-Ban Meta (51 grams), the <a href="https://www.tomsguide.com/computing/smart-glasses/rokid-glasses-review">Rokid Glasses</a> (48 grams), but heavier than the Even Realities G2, which weigh just 35 grams.</p><p>A touchpad on the right temple lets you navigate the G2's interface with swipes and taps; it'll take some practice to get the hang of things. </p><p>Similar to most smart glasses, the Halliday G2s can also deliver notifications, phone calls, play music, and let you use the Halliday AI Assistant.</p><h3 class="article-body__section" id="section-made-for-meetings"><span>Made for meetings</span></h3><p>The biggest differentiator between the Halliday G2 and other smart glasses is its focus on making meetings more productive. To that end, its biggest feature is called Meeting Flow, which has several facets:</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:1508px;"><p class="vanilla-image-block" style="padding-top:49.34%;"><img id="tYtCfRX9oeQ3qt6QgWhC8E" name="Halliday G2 screen" alt="Halliday G2 screen" src="https://cdn.mos.cms.futurecdn.net/tYtCfRX9oeQ3qt6QgWhC8E-1920-80.png" mos="" align="middle" fullscreen="" width="1508" height="744" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Halliday)</span></figcaption></figure><ul><li><strong>Understanding the conversation (literally): </strong>The glasses support real-time translation in over 45 languages, and can pick up voices using its 4-mic array, which work in up to a 2-meter radius.</li><li><strong>Quick Summary: </strong>If you lose focus or get distracted, the glasses can catch you up on what was just said.</li><li><strong>Quick Research:</strong> If you need to look up a fact or information, Meeting Flow can dig up relevant information based on the conversation taking place at the time of your query.</li><li><strong>Thread Tracker:</strong> Often, conversations can drift off on tangents; this feature tracks how things evolved, so you can get back to the original subject.</li><li><strong>Decision Confirmation:</strong> This helps make sure that if something was decided, it gets remembered, and also prompts the G2 wearer if something was left open-ended.</li><li><strong>Commitment Check</strong>: If someone in the meeting says they're going to do something, this feature will prompt the wearer to not only confirm that, but also give the person the information they need to complete the task.</li><li><strong>Open-item tracker</strong>: If things are left unresolved, this feature will make note of them, and put them in a checklist.</li><li><strong>Summary and transcript: </strong>Like all other AI assistants, Meeting Flow will create a summary and transcript of the meeting.</li></ul><h3 class="article-body__section" id="section-outlook"><span>Outlook</span></h3><p>At a time when there's a lot of concern around privacy and smart glasses — just look at the <a href="https://www.tomsguide.com/computing/smart-glasses/meta-smart-glasses-super-sensing-ai">issues around Meta's smart glasses</a> — the idea of having a camera-free set of specs will no doubt be appealing to many. </p><p>The idea of having a set of smart glasses hyper-focused around a particular activity could appeal to those who spend a lot of time in meetings, and need a smart way to not only make them more productive, both during and after the fact. </p><p>However, I have no doubt that many will look to the broader appeal of the upcoming Samsung smart glasses (and other Android XR devices), which could cost around the same, but offer more functionality. </p><p>We'll reserve our final judgment until September, when the Halliday G2 glasses — and Meeting Flow — rolls out.</p><ul><li><a href="https://www.tomsguide.com/computing/smart-glasses/ive-reviewed-all-of-metas-smart-glasses-and-this-is-the-pair-id-actually-buy">I've reviewed all of Meta's smart glasses, and this is the pair I'd actually buy</a></li><li><a href="https://www.tomsguide.com/computing/smart-glasses/exclusive-inside-googles-plan-to-win-over-your-face-with-ai-glasses-and-avoid-metas-privacy-missteps">Exclusive: Inside Google’s plan to win over your face with AI glasses — and avoid Meta's privacy missteps</a></li><li><a href="https://www.tomsguide.com/computing/smart-glasses/ive-traveled-over-50-000-miles-testing-smart-glasses-in-2026-here-are-my-3-favorites-that-have-launched-this-year-so-far">I’ve traveled over 50,000 miles testing smart glasses in 2026 — here are my 3 favorites that have launched this year so far</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/smart-glasses/i-went-hands-on-with-the-halliday-g2-the-smart-glasses-made-for-meetings</link>
                                                                            <description>
                            <![CDATA[ I went hands-on with the Halliday G2, a set of smart glasses designed to make your meetings more productive. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Ma4GkM87hRst9U7ZwxyCCL</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/mpDsJ7JAZLHcHnUTjBx5KD-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 21 Jul 2026 13:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Smart Glasses]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[VR & AR]]></category>
                                                                                                <author><![CDATA[ mike.prospero@futurenet.com (Mike Prospero) ]]></author>                    <dc:creator><![CDATA[ Mike Prospero ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/6ZM8mX4UwccqDJTh9gLPqV-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Michael A. Prospero is the U.S. Editor-in-Chief for Tom’s Guide. He oversees all evergreen content and oversees the Homes, Smart Home, and Fitness/Wearables categories for the site. In his spare time, he also tests out the latest drones, electric scooters, and smart home gadgets, such as video doorbells. Before his tenure at Tom&#039;s Guide, he was the Reviews Editor for Laptop Magazine, a reporter at Fast Company, the Times of Trenton, and, many eons back, an intern at George magazine. He received his undergraduate degree from Boston College, where he worked on the campus newspaper The Heights, and then attended the Columbia University school of Journalism. When he’s not testing out the latest running watch, electric scooter, or skiing or training for a marathon, he’s probably using the latest sous vide machine, smoker, or pizza oven, to the delight — or chagrin — of his family.&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/mpDsJ7JAZLHcHnUTjBx5KD-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Halliday G2]]></media:description>                                                            <media:text><![CDATA[Halliday G2]]></media:text>
                                <media:title type="plain"><![CDATA[Halliday G2]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/mpDsJ7JAZLHcHnUTjBx5KD-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Are smart glasses too ... smart? Rather than creating a jack-of-all trades pair of specs, the new Halliday G2 smart glasses are aimed at one thing: Making your meetings more focused and productive. </p><p>To that end, these glasses don't have a camera, but instead a set of mics and an AI that can act as your assistant to look up data, create action items, and help keep people accountable. </p><p>I went hands-on with the Halliday G2 a few weeks back and here's everything they can do, as well as my initial impressions on how they compare to the <a href="https://www.tomsguide.com/computing/vr-ar/best-smart-glasses">best smart glasses</a>. </p><h3 class="article-body__section" id="section-price-and-availability"><span>Price and availability</span></h3><p>The Halliday G2 will cost $599 (the same price as the <a href="https://www.tomsguide.com/computing/smart-glasses/even-realities-g2-smart-glasses-review">Even Realities G2</a>, but $200 less than the <a href="https://www.tomsguide.com/computing/smart-glasses/meta-ray-ban-display-review">Meta Ray-Ban Display</a>), and is expected to ship in September. Preorders begin today (July 21) at www.hallidayglobal.com; those who secure a preorder with a $10 deposit will get $100 off the regular price of the glasses. </p><p>The G2s will be available with prescription lenses.</p><h3 class="article-body__section" id="section-design-and-display"><span>Design and display</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="bVofhppmxM2vytQLDfikmk" name="Halliday G2 on table" alt="Halliday G2 on table" src="https://cdn.mos.cms.futurecdn.net/bVofhppmxM2vytQLDfikmk-1920-80.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>While the Halliday G2 has a display, it feels a lot more stripped-down than the Meta Ray-Ban Displays or the <a href="https://www.tomsguide.com/computing/smart-glasses/snap-specs-are-official-and-theyre-a-bold-mash-up-of-ray-ban-metas-and-apple-vision-pro-with-an-eye-watering-price">Snap Specs</a>, but that's by design.</p><p>For one thing, there's no camera. In addition to making the glasses simpler, it was also done to put others at ease, company reps told me. (They can record audio, but still.)</p><p>While the G2 has a built-in display, it's much more basic than what you'll find on the Meta Displays, and more like that on the Even Realities G2 or <a href="https://www.tomsguide.com/computing/smart-glasses/rokid-glasses-review">Rokid Glasses</a>: a green, monochrome readout.</p><p>Unlike the first-gen Halliday, the G2's display is brighter and clearer, and appears virtually in front of both your eyes, rather than on just the right side. The image appears to hover a few feet in front of you, which made it much more natural to look at when holding a conversation with others.</p><p>The G2's feature dual micro-LED projectors with a resolution of 600 x 300 in each eye, and a peak brightness of 1,600 nits.</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:1670px;"><p class="vanilla-image-block" style="padding-top:59.94%;"><img id="ufAd76u5S5NiK36B4tq9V3" name="Halliday_screen" alt="Halliday G2 display" src="https://cdn.mos.cms.futurecdn.net/ufAd76u5S5NiK36B4tq9V3-1920-80.jpg" mos="" align="middle" fullscreen="" width="1670" height="1001" 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>I wore the G2's for a few minutes during a hands-on session, and found them to be as comfortable as the Ray-Ban Metas, as well as my regular non-smart glasses. The G2's weigh under 50 grams, which put them in the same tier as the Ray-Ban Meta (51 grams), the <a href="https://www.tomsguide.com/computing/smart-glasses/rokid-glasses-review">Rokid Glasses</a> (48 grams), but heavier than the Even Realities G2, which weigh just 35 grams.</p><p>A touchpad on the right temple lets you navigate the G2's interface with swipes and taps; it'll take some practice to get the hang of things. </p><p>Similar to most smart glasses, the Halliday G2s can also deliver notifications, phone calls, play music, and let you use the Halliday AI Assistant.</p><h3 class="article-body__section" id="section-made-for-meetings"><span>Made for meetings</span></h3><p>The biggest differentiator between the Halliday G2 and other smart glasses is its focus on making meetings more productive. To that end, its biggest feature is called Meeting Flow, which has several facets:</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:1508px;"><p class="vanilla-image-block" style="padding-top:49.34%;"><img id="tYtCfRX9oeQ3qt6QgWhC8E" name="Halliday G2 screen" alt="Halliday G2 screen" src="https://cdn.mos.cms.futurecdn.net/tYtCfRX9oeQ3qt6QgWhC8E-1920-80.png" mos="" align="middle" fullscreen="" width="1508" height="744" attribution="" endorsement="" class="inline"></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Halliday)</span></figcaption></figure><ul><li><strong>Understanding the conversation (literally): </strong>The glasses support real-time translation in over 45 languages, and can pick up voices using its 4-mic array, which work in up to a 2-meter radius.</li><li><strong>Quick Summary: </strong>If you lose focus or get distracted, the glasses can catch you up on what was just said.</li><li><strong>Quick Research:</strong> If you need to look up a fact or information, Meeting Flow can dig up relevant information based on the conversation taking place at the time of your query.</li><li><strong>Thread Tracker:</strong> Often, conversations can drift off on tangents; this feature tracks how things evolved, so you can get back to the original subject.</li><li><strong>Decision Confirmation:</strong> This helps make sure that if something was decided, it gets remembered, and also prompts the G2 wearer if something was left open-ended.</li><li><strong>Commitment Check</strong>: If someone in the meeting says they're going to do something, this feature will prompt the wearer to not only confirm that, but also give the person the information they need to complete the task.</li><li><strong>Open-item tracker</strong>: If things are left unresolved, this feature will make note of them, and put them in a checklist.</li><li><strong>Summary and transcript: </strong>Like all other AI assistants, Meeting Flow will create a summary and transcript of the meeting.</li></ul><h3 class="article-body__section" id="section-outlook"><span>Outlook</span></h3><p>At a time when there's a lot of concern around privacy and smart glasses — just look at the <a href="https://www.tomsguide.com/computing/smart-glasses/meta-smart-glasses-super-sensing-ai">issues around Meta's smart glasses</a> — the idea of having a camera-free set of specs will no doubt be appealing to many. </p><p>The idea of having a set of smart glasses hyper-focused around a particular activity could appeal to those who spend a lot of time in meetings, and need a smart way to not only make them more productive, both during and after the fact. </p><p>However, I have no doubt that many will look to the broader appeal of the upcoming Samsung smart glasses (and other Android XR devices), which could cost around the same, but offer more functionality. </p><p>We'll reserve our final judgment until September, when the Halliday G2 glasses — and Meeting Flow — rolls out.</p><ul><li><a href="https://www.tomsguide.com/computing/smart-glasses/ive-reviewed-all-of-metas-smart-glasses-and-this-is-the-pair-id-actually-buy">I've reviewed all of Meta's smart glasses, and this is the pair I'd actually buy</a></li><li><a href="https://www.tomsguide.com/computing/smart-glasses/exclusive-inside-googles-plan-to-win-over-your-face-with-ai-glasses-and-avoid-metas-privacy-missteps">Exclusive: Inside Google’s plan to win over your face with AI glasses — and avoid Meta's privacy missteps</a></li><li><a href="https://www.tomsguide.com/computing/smart-glasses/ive-traveled-over-50-000-miles-testing-smart-glasses-in-2026-here-are-my-3-favorites-that-have-launched-this-year-so-far">I’ve traveled over 50,000 miles testing smart glasses in 2026 — here are my 3 favorites that have launched this year so far</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I tested the Dell XPS 13 for 48 hours — the MacBook Neo is officially on notice ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Watch out, <a href="https://www.tomsguide.com/computing/macbooks/apple-macbook-neo-review">MacBook Neo</a>! The new <a href="https://www.tomsguide.com/computing/laptops/dell-just-announced-the-new-usd699-xps-13-and-it-could-be-a-macbook-neo-killer">Dell XPS 13</a> is here, and it could arguably be the <a href="https://www.tomsguide.com/best-picks/best-budget-laptops">best budget laptop</a> available. With a starting price of $699, it packs many of the features you’d find in higher-end XPS laptops. Given the ongoing <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">RAM crisis</a>, this notebook is seriously worth considering for what it offers.</p><p>Unlike most budget Windows laptops, the XPS 13 has a CNC aluminum chassis built to the same standards as its more expensive XPS counterparts. Not only does it look great, but it’s also the thinnest XPS laptop ever. Toss in other features, such as a vivid 2.5K touch display, a backlit keyboard, and fast performance, and you have a winner.</p><p>I’ve spent 48 hours with the Dell XPS 13 and find that it lives up to the hype. To be clear, I tested the model with 16GB of RAM, which retails for $899. I’ll review the model with 8GB of RAM soon, but for now, here’s what I think of the new Dell XPS 13.</p><div class="product"><a data-dimension112="44a0e986-8474-11f1-aa51-210c363aacac" data-action="Deal Block" data-label="XPS 13 (2026)" data-dimension48="XPS 13 (2026)" data-dimension25="$699" href="https://www.dell.com/en-us/shop/dell-laptops/new-xps-13-laptop/spd/xps13dx13260laptop" 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="yVpTsWNESwCtxxLQmbPTgh" name="Dell XPS 13 (2026) deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/yVpTsWNESwCtxxLQmbPTgh-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.dell.com/en-us/shop/dell-laptops/new-xps-13-laptop/spd/xps13dx13260laptop" target="_blank" rel="nofollow" data-dimension112="44a0e986-8474-11f1-aa51-210c363aacac" data-action="Deal Block" data-label="XPS 13 (2026)" data-dimension48="XPS 13 (2026)" data-dimension25="$699">XPS 13 (2026): $699</a></strong><br>The new Dell XPS 13 is here to help you beat the RAMageddon blues. This model has a 13.4-inch InfinityEdge 2.5K touch display, an Intel Core Series 3 "Wildcat Lake" CPU, 8GB of RAM, and 512GB of SSD storage. It's wrapped in an aluminum design that's just 0.5 inches thick and 2.2 pounds.<a class="view-deal button" href="https://www.dell.com/en-us/shop/dell-laptops/new-xps-13-laptop/spd/xps13dx13260laptop" target="_blank" rel="nofollow" data-dimension112="44a0e986-8474-11f1-aa51-210c363aacac" data-action="Deal Block" data-label="XPS 13 (2026)" data-dimension48="XPS 13 (2026)" data-dimension25="$699">View Deal</a></p></div><h3 class="article-body__section" id="section-dell-xps-13-2026-specs"><span>Dell XPS 13 (2026): Specs</span></h3><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Dell XPS 13 (starting)</strong></p></th><th  ><p>Dell XPS 13 (tested)</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>$699 ($599 for eligible students)</p></td><td  ><p>$899</p></td></tr><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>Series 3 Intel Core 5</p></td><td  ><p>Series 3 Intel Core 5</p></td></tr><tr><td class="firstcol " ><p><strong>GPU</strong></p></td><td  ><p>Intel Graphics</p></td><td  ><p>Intel Graphics</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>13.4-inch 2.5K (2560 x 1600) InfinityEdge touch display</p></td><td  ><p>13.4-inch 2.5K (2560 x 1600) InfinityEdge touch display</p></td></tr><tr><td class="firstcol " ><p><strong>Memory</strong></p></td><td  ><p>8GB</p></td><td  ><p>16GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>512GB</p></td><td  ><p>512GB</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>2x USB-C</p></td><td  ><p>2x USB-C</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Wi-Fi 7, Bluetooth 6.0</p></td><td  ><p>Wi-Fi 7, Bluetooth 6.0</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>11.69 x 7.90 x 0.50 inches</p></td><td  ><p>11.69 x 7.90 x 0.50 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>2.2 pounds</p></td><td  ><p>2.2 pounds</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-dell-xps-13-2026-design"><span>Dell XPS 13 (2026): Design</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="HFDT4XUdsnqoNsdpSKFqkE" name="Dell-XPS-13-(2026)-hands-on-5" alt="Dell XPS 13 (2026)" src="https://cdn.mos.cms.futurecdn.net/HFDT4XUdsnqoNsdpSKFqkE-1920-80.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>“Wow, that’s light,” was the first thing I said when I picked up the XPS 13. And that wasn’t just my brain playing tricks on me. At 2.2 pounds, this laptop is lighter than the 2.7-pound <a href="https://www.tomsguide.com/computing/macbooks/macbook-air-13-inch-m3-reviewhttps://www.tomsguide.com/computing/macbooks/macbook-air-m5-review">13-inch MacBook Air</a> and MacBook Neo. This is exactly the kind of laptop I want to travel with since it’s so light — a fact that was very clear when I barely felt it in my backpack when I brought the XPS 13 from the office to my apartment.</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="vcyuv2PeoFh3EZojQmiU5Q" name="Dell-XPS-13-(2026)-hands-on-3" alt="Dell XPS 13 (2026)" src="https://cdn.mos.cms.futurecdn.net/vcyuv2PeoFh3EZojQmiU5Q-1920-80.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>The smooth aluminum chassis also ensures that the XPS 13 is plenty sturdy, as it doesn’t easily bend or flex. This is a far cry from the plastic laptops I’m used to in this price range. I’m glad that Dell didn’t sacrifice build quality to drop the price, as the aluminum casing is an important selling point here.</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="9bVxVFDMXcPx9QpmkCdt6Y" name="Dell-XPS-13-(2026)-hands-on-14" alt="Dell XPS 13 (2026)" src="https://cdn.mos.cms.futurecdn.net/9bVxVFDMXcPx9QpmkCdt6Y-1920-80.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>Another big selling point for anyone deciding between the XPS 13 and the MacBook Neo is the former’s backlit keyboard. This is something some folks don’t think about, since many laptops have backlit keyboards, but if you work at night or just need help seeing the keys, it’s a crucial feature.</p><h3 class="article-body__section" id="section-dell-xps-13-2026-display"><span>Dell XPS 13 (2026): Display</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="bEckf8qUEMj56bBnRH8YWe" name="Dell-XPS-13-(2026)-hands-on-6" alt="Dell XPS 13 (2026)" src="https://cdn.mos.cms.futurecdn.net/bEckf8qUEMj56bBnRH8YWe-1920-80.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>The Dell XPS 13 has a 13.4-inch 2.5K-resolution touchscreen display. Though it’s not an OLED panel, everything looks bright and colorful to me. When running a video featuring colorful animals, I was impressed by the color representation and accuracy. Naturally, text-heavy websites are very clear.</p><div ><table><caption>Display test results</caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Dell XPS 13 (2026)</strong></p></td><td  ><p><strong>MacBook Neo</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Nits (brightness)</strong></p></td><td  ><p>394 (SDR) | 433 (HDR)</p></td><td  ><p>452 (SDR) | 480 (HDR)</p></td></tr><tr><td class="firstcol " ><p><strong>sRGB</strong></p></td><td  ><p>112.6%</p></td><td  ><p>110.9%</p></td></tr><tr><td class="firstcol " ><p><strong>DCI-P3</strong></p></td><td  ><p>79.8%</p></td><td  ><p>78.6%</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E</strong></p></td><td  ><p>0.21</p></td><td  ><p>0.22</p></td></tr></tbody></table></div><p>As you can see from our display benchmarks, the XPS 13 delivers solid color representation (sRGB and DCI-P3) and color accuracy (Delta-E). While Dell’s notebook has higher resolution and touch support, the MacBook Neo matches the XPS 13 in color representation and accuracy. However, the Neo's display is overall brighter, especially with SDR content.</p><p>While the 13-inch MacBook Air has a slightly taller display at 13.6 inches, everything is still clear on the XPS 13’s display. This is a big win, especially since laptops in this price range tend to have duller displays.</p><h3 class="article-body__section" id="section-dell-xps-13-2026-performance"><span>Dell XPS 13 (2026): Performance</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="v6G6Qwswui7KxVTExMpvKn" name="Dell-XPS-13-(2026)-hands-on-15" alt="Dell XPS 13 (2026)" src="https://cdn.mos.cms.futurecdn.net/v6G6Qwswui7KxVTExMpvKn-1920-80.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>The XPS 13 features the new Wildcat Lake CPU and gives me my first chance to test a laptop with Intel’s lower-end Series 3 processor. Our review unit also has 16GB of RAM and a 512GB SSD. While these specs aren’t mind-blowing, they get the job done.</p><div ><table><caption>CPU benchmarks</caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Dell XPS 13 (2026)</strong></p></td><td  ><p><strong>MacBook Neo</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Geekbench (single/multi-core)</strong></p></td><td  ><p>2570 / 8136</p></td><td  ><p>3535 / 8920</p></td></tr><tr><td class="firstcol " ><p><strong>Handbrake (mins:secs)</strong></p></td><td  ><p>10:08</p></td><td  ><p>9:57</p></td></tr></tbody></table></div><p>Even with 15 Microsoft Edge tabs open and a YouTube video running in the background, the XPS 13 didn’t noticeably slow down. My experience aligns with our CPU benchmarks, which show solid single- and multi-core scores.</p><p>Even with its 8GB of RAM, the MacBook Neo has a slight edge in CPU performance, underscoring the incredible efficiency of Apple’s affordable laptop. As for the Handbrake video transcoding test, the MacBook Neo performed the task about 10 seconds faster.</p><p>We haven't run our battery life test yet, but Dell claims up to 17 hours of streaming battery life for the XPS 13. We’ll see if the XPS 13 can match the Neo’s 13.5-hour endurance in our lab tests. If Dell can match or exceed that, it would be another big reason to buy.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-O9R22X"></div>                            </div>                            <script src="https://kwizly.com/embed/O9R22X.js" async></script><h3 class="article-body__section" id="section-dell-xps-13-2026-outlook"><span>Dell XPS 13 (2026): Outlook</span></h3><p>For what it offers, the Dell XPS 13 is an excellent budget Windows laptop. It’s extremely rare to find such a solid notebook at this price point. I’ll have a full review for you soon, but based on my experience so far, I’m very impressed with what Dell has delivered.</p><p>As for the MacBook Neo comparisons, they’re even more relevant now, given <a href="https://www.tomsguide.com/computing/macbooks/apple-price-hikes-are-official-heres-how-much-more-youll-pay-for-macbooks-and-ipads-now">Apple’s price hikes</a>, which have put the Neo at the same starting price as the XPS 13. If you’re married to a specific platform (<a href="https://www.tomsguide.com/computing/macos/macos-golden-gate-public-beta-hands-on-preview">macOS</a> or <a href="https://www.tomsguide.com/reviews/windows-11">Windows 11</a>), the decision should be easy. However, if you just want the best value, you now have two strong options.</p><p>Stay tuned for my full XPS 13 review, along with a deeper face-off between Dell’s laptop and the MacBook Neo to help you decide which one is best for your needs.</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/macbooks/i-ditched-the-macbook-air-for-a-macbook-neo-for-48-hours-and-i-was-shocked">I ditched the MacBook Air for a MacBook Neo for 48 hours — and I'm shocked</a></li><li><a href="https://www.tomsguide.com/computing/laptops/is-the-macbook-neo-as-good-as-a-budget-windows-laptop-here-are-our-lab-tested-results">We benchmarked the MacBook Neo vs budget Windows laptops</a></li><li><a href="https://www.tomsguide.com/computing/how-to-maximize-your-macbook-neo-for-peak-performance">How to maximize your MacBook Neo for peak performance</a></li></ul><div class="vizualizer-embed"><div class="tg-df-widget-host" data-widget-config="?search=laptops&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> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/laptops/i-tested-the-dell-xps-13-for-48-hours-the-macbook-neo-is-officially-on-notice</link>
                                                                            <description>
                            <![CDATA[ The new Dell XPS 13 is a true rival to the MacBook Neo thanks to its premium build and excellent performance. Here's what I think after testing it for 48 hours. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">8n3KPgZe3eKLRCLDdP4suS</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/eEvBwew8o7YDYEgQ55xUb6-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 21 Jul 2026 07:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Laptops]]></category>
                                                    <category><![CDATA[Computing]]></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-320-70.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/eEvBwew8o7YDYEgQ55xUb6-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Dell XPS 13 (2026)]]></media:description>                                                            <media:text><![CDATA[Dell XPS 13 (2026)]]></media:text>
                                <media:title type="plain"><![CDATA[Dell XPS 13 (2026)]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/eEvBwew8o7YDYEgQ55xUb6-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Watch out, <a href="https://www.tomsguide.com/computing/macbooks/apple-macbook-neo-review">MacBook Neo</a>! The new <a href="https://www.tomsguide.com/computing/laptops/dell-just-announced-the-new-usd699-xps-13-and-it-could-be-a-macbook-neo-killer">Dell XPS 13</a> is here, and it could arguably be the <a href="https://www.tomsguide.com/best-picks/best-budget-laptops">best budget laptop</a> available. With a starting price of $699, it packs many of the features you’d find in higher-end XPS laptops. Given the ongoing <a href="https://www.tomsguide.com/computing/ram-price-crisis-2026-everything-you-need-to-know">RAM crisis</a>, this notebook is seriously worth considering for what it offers.</p><p>Unlike most budget Windows laptops, the XPS 13 has a CNC aluminum chassis built to the same standards as its more expensive XPS counterparts. Not only does it look great, but it’s also the thinnest XPS laptop ever. Toss in other features, such as a vivid 2.5K touch display, a backlit keyboard, and fast performance, and you have a winner.</p><p>I’ve spent 48 hours with the Dell XPS 13 and find that it lives up to the hype. To be clear, I tested the model with 16GB of RAM, which retails for $899. I’ll review the model with 8GB of RAM soon, but for now, here’s what I think of the new Dell XPS 13.</p><div class="product"><a data-dimension112="44a0e986-8474-11f1-aa51-210c363aacac" data-action="Deal Block" data-label="XPS 13 (2026)" data-dimension48="XPS 13 (2026)" data-dimension25="$699" href="https://www.dell.com/en-us/shop/dell-laptops/new-xps-13-laptop/spd/xps13dx13260laptop" 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="yVpTsWNESwCtxxLQmbPTgh" name="Dell XPS 13 (2026) deal" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/yVpTsWNESwCtxxLQmbPTgh-1920-80.jpg" mos="" align="middle" fullscreen="" width="1500" height="1500" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.dell.com/en-us/shop/dell-laptops/new-xps-13-laptop/spd/xps13dx13260laptop" target="_blank" rel="nofollow" data-dimension112="44a0e986-8474-11f1-aa51-210c363aacac" data-action="Deal Block" data-label="XPS 13 (2026)" data-dimension48="XPS 13 (2026)" data-dimension25="$699">XPS 13 (2026): $699</a></strong><br>The new Dell XPS 13 is here to help you beat the RAMageddon blues. This model has a 13.4-inch InfinityEdge 2.5K touch display, an Intel Core Series 3 "Wildcat Lake" CPU, 8GB of RAM, and 512GB of SSD storage. It's wrapped in an aluminum design that's just 0.5 inches thick and 2.2 pounds.<a class="view-deal button" href="https://www.dell.com/en-us/shop/dell-laptops/new-xps-13-laptop/spd/xps13dx13260laptop" target="_blank" rel="nofollow" data-dimension112="44a0e986-8474-11f1-aa51-210c363aacac" data-action="Deal Block" data-label="XPS 13 (2026)" data-dimension48="XPS 13 (2026)" data-dimension25="$699">View Deal</a></p></div><h3 class="article-body__section" id="section-dell-xps-13-2026-specs"><span>Dell XPS 13 (2026): Specs</span></h3><div ><table><thead><tr><th class="firstcol empty" ></th><th  ><p><strong>Dell XPS 13 (starting)</strong></p></th><th  ><p>Dell XPS 13 (tested)</p></th></tr></thead><tbody><tr><td class="firstcol " ><p><strong>Price</strong></p></td><td  ><p>$699 ($599 for eligible students)</p></td><td  ><p>$899</p></td></tr><tr><td class="firstcol " ><p><strong>CPU</strong></p></td><td  ><p>Series 3 Intel Core 5</p></td><td  ><p>Series 3 Intel Core 5</p></td></tr><tr><td class="firstcol " ><p><strong>GPU</strong></p></td><td  ><p>Intel Graphics</p></td><td  ><p>Intel Graphics</p></td></tr><tr><td class="firstcol " ><p><strong>Display</strong></p></td><td  ><p>13.4-inch 2.5K (2560 x 1600) InfinityEdge touch display</p></td><td  ><p>13.4-inch 2.5K (2560 x 1600) InfinityEdge touch display</p></td></tr><tr><td class="firstcol " ><p><strong>Memory</strong></p></td><td  ><p>8GB</p></td><td  ><p>16GB</p></td></tr><tr><td class="firstcol " ><p><strong>Storage</strong></p></td><td  ><p>512GB</p></td><td  ><p>512GB</p></td></tr><tr><td class="firstcol " ><p><strong>Ports</strong></p></td><td  ><p>2x USB-C</p></td><td  ><p>2x USB-C</p></td></tr><tr><td class="firstcol " ><p><strong>Connectivity</strong></p></td><td  ><p>Wi-Fi 7, Bluetooth 6.0</p></td><td  ><p>Wi-Fi 7, Bluetooth 6.0</p></td></tr><tr><td class="firstcol " ><p><strong>Dimensions</strong></p></td><td  ><p>11.69 x 7.90 x 0.50 inches</p></td><td  ><p>11.69 x 7.90 x 0.50 inches</p></td></tr><tr><td class="firstcol " ><p><strong>Weight</strong></p></td><td  ><p>2.2 pounds</p></td><td  ><p>2.2 pounds</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-dell-xps-13-2026-design"><span>Dell XPS 13 (2026): Design</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="HFDT4XUdsnqoNsdpSKFqkE" name="Dell-XPS-13-(2026)-hands-on-5" alt="Dell XPS 13 (2026)" src="https://cdn.mos.cms.futurecdn.net/HFDT4XUdsnqoNsdpSKFqkE-1920-80.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>“Wow, that’s light,” was the first thing I said when I picked up the XPS 13. And that wasn’t just my brain playing tricks on me. At 2.2 pounds, this laptop is lighter than the 2.7-pound <a href="https://www.tomsguide.com/computing/macbooks/macbook-air-13-inch-m3-reviewhttps://www.tomsguide.com/computing/macbooks/macbook-air-m5-review">13-inch MacBook Air</a> and MacBook Neo. This is exactly the kind of laptop I want to travel with since it’s so light — a fact that was very clear when I barely felt it in my backpack when I brought the XPS 13 from the office to my apartment.</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="vcyuv2PeoFh3EZojQmiU5Q" name="Dell-XPS-13-(2026)-hands-on-3" alt="Dell XPS 13 (2026)" src="https://cdn.mos.cms.futurecdn.net/vcyuv2PeoFh3EZojQmiU5Q-1920-80.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>The smooth aluminum chassis also ensures that the XPS 13 is plenty sturdy, as it doesn’t easily bend or flex. This is a far cry from the plastic laptops I’m used to in this price range. I’m glad that Dell didn’t sacrifice build quality to drop the price, as the aluminum casing is an important selling point here.</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="9bVxVFDMXcPx9QpmkCdt6Y" name="Dell-XPS-13-(2026)-hands-on-14" alt="Dell XPS 13 (2026)" src="https://cdn.mos.cms.futurecdn.net/9bVxVFDMXcPx9QpmkCdt6Y-1920-80.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>Another big selling point for anyone deciding between the XPS 13 and the MacBook Neo is the former’s backlit keyboard. This is something some folks don’t think about, since many laptops have backlit keyboards, but if you work at night or just need help seeing the keys, it’s a crucial feature.</p><h3 class="article-body__section" id="section-dell-xps-13-2026-display"><span>Dell XPS 13 (2026): Display</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="bEckf8qUEMj56bBnRH8YWe" name="Dell-XPS-13-(2026)-hands-on-6" alt="Dell XPS 13 (2026)" src="https://cdn.mos.cms.futurecdn.net/bEckf8qUEMj56bBnRH8YWe-1920-80.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>The Dell XPS 13 has a 13.4-inch 2.5K-resolution touchscreen display. Though it’s not an OLED panel, everything looks bright and colorful to me. When running a video featuring colorful animals, I was impressed by the color representation and accuracy. Naturally, text-heavy websites are very clear.</p><div ><table><caption>Display test results</caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Dell XPS 13 (2026)</strong></p></td><td  ><p><strong>MacBook Neo</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Nits (brightness)</strong></p></td><td  ><p>394 (SDR) | 433 (HDR)</p></td><td  ><p>452 (SDR) | 480 (HDR)</p></td></tr><tr><td class="firstcol " ><p><strong>sRGB</strong></p></td><td  ><p>112.6%</p></td><td  ><p>110.9%</p></td></tr><tr><td class="firstcol " ><p><strong>DCI-P3</strong></p></td><td  ><p>79.8%</p></td><td  ><p>78.6%</p></td></tr><tr><td class="firstcol " ><p><strong>Delta-E</strong></p></td><td  ><p>0.21</p></td><td  ><p>0.22</p></td></tr></tbody></table></div><p>As you can see from our display benchmarks, the XPS 13 delivers solid color representation (sRGB and DCI-P3) and color accuracy (Delta-E). While Dell’s notebook has higher resolution and touch support, the MacBook Neo matches the XPS 13 in color representation and accuracy. However, the Neo's display is overall brighter, especially with SDR content.</p><p>While the 13-inch MacBook Air has a slightly taller display at 13.6 inches, everything is still clear on the XPS 13’s display. This is a big win, especially since laptops in this price range tend to have duller displays.</p><h3 class="article-body__section" id="section-dell-xps-13-2026-performance"><span>Dell XPS 13 (2026): Performance</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="v6G6Qwswui7KxVTExMpvKn" name="Dell-XPS-13-(2026)-hands-on-15" alt="Dell XPS 13 (2026)" src="https://cdn.mos.cms.futurecdn.net/v6G6Qwswui7KxVTExMpvKn-1920-80.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>The XPS 13 features the new Wildcat Lake CPU and gives me my first chance to test a laptop with Intel’s lower-end Series 3 processor. Our review unit also has 16GB of RAM and a 512GB SSD. While these specs aren’t mind-blowing, they get the job done.</p><div ><table><caption>CPU benchmarks</caption><tbody><tr><td class="firstcol empty" ></td><td  ><p><strong>Dell XPS 13 (2026)</strong></p></td><td  ><p><strong>MacBook Neo</strong></p></td></tr><tr><td class="firstcol " ><p><strong>Geekbench (single/multi-core)</strong></p></td><td  ><p>2570 / 8136</p></td><td  ><p>3535 / 8920</p></td></tr><tr><td class="firstcol " ><p><strong>Handbrake (mins:secs)</strong></p></td><td  ><p>10:08</p></td><td  ><p>9:57</p></td></tr></tbody></table></div><p>Even with 15 Microsoft Edge tabs open and a YouTube video running in the background, the XPS 13 didn’t noticeably slow down. My experience aligns with our CPU benchmarks, which show solid single- and multi-core scores.</p><p>Even with its 8GB of RAM, the MacBook Neo has a slight edge in CPU performance, underscoring the incredible efficiency of Apple’s affordable laptop. As for the Handbrake video transcoding test, the MacBook Neo performed the task about 10 seconds faster.</p><p>We haven't run our battery life test yet, but Dell claims up to 17 hours of streaming battery life for the XPS 13. We’ll see if the XPS 13 can match the Neo’s 13.5-hour endurance in our lab tests. If Dell can match or exceed that, it would be another big reason to buy.</p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-O9R22X"></div>                            </div>                            <script src="https://kwizly.com/embed/O9R22X.js" async></script><h3 class="article-body__section" id="section-dell-xps-13-2026-outlook"><span>Dell XPS 13 (2026): Outlook</span></h3><p>For what it offers, the Dell XPS 13 is an excellent budget Windows laptop. It’s extremely rare to find such a solid notebook at this price point. I’ll have a full review for you soon, but based on my experience so far, I’m very impressed with what Dell has delivered.</p><p>As for the MacBook Neo comparisons, they’re even more relevant now, given <a href="https://www.tomsguide.com/computing/macbooks/apple-price-hikes-are-official-heres-how-much-more-youll-pay-for-macbooks-and-ipads-now">Apple’s price hikes</a>, which have put the Neo at the same starting price as the XPS 13. If you’re married to a specific platform (<a href="https://www.tomsguide.com/computing/macos/macos-golden-gate-public-beta-hands-on-preview">macOS</a> or <a href="https://www.tomsguide.com/reviews/windows-11">Windows 11</a>), the decision should be easy. However, if you just want the best value, you now have two strong options.</p><p>Stay tuned for my full XPS 13 review, along with a deeper face-off between Dell’s laptop and the MacBook Neo to help you decide which one is best for your needs.</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/macbooks/i-ditched-the-macbook-air-for-a-macbook-neo-for-48-hours-and-i-was-shocked">I ditched the MacBook Air for a MacBook Neo for 48 hours — and I'm shocked</a></li><li><a href="https://www.tomsguide.com/computing/laptops/is-the-macbook-neo-as-good-as-a-budget-windows-laptop-here-are-our-lab-tested-results">We benchmarked the MacBook Neo vs budget Windows laptops</a></li><li><a href="https://www.tomsguide.com/computing/how-to-maximize-your-macbook-neo-for-peak-performance">How to maximize your MacBook Neo for peak performance</a></li></ul><div class="vizualizer-embed"><div class="tg-df-widget-host" data-widget-config="?search=laptops&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[ This minimalist car phone mount proves compact designs aren't always the answer ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Minimalism — open spaces, minimal clutter and devices that are designed to be sleek and low-profile — is all the rage, and has been for a while. It sounds great, and in some cases it definitely can be a great aesthetic choice. But there are cases when minimalism, and deliberately trying to take up as little space as possible, just doesn't work.<a href="https://www.amazon.com/LISEN-Suction-All-Metal-Adjustable-Magnetic/dp/B0GVDCFQT2" target="_blank" rel="nofollow"> This car mount from Lisen</a> is one very good example.</p><p>There are countless different kinds of the <a href="https://www.tomsguide.com/best-picks/best-car-phone-mounts">best car phone mounts</a>, each capable of supporting your phone in a different way. My personal preference is for suction cups, since they tend to offer more versatility than vent mounts and other options. </p><p>The problem is that they're usually quite big and take up a lot of space — not to mention the fact that the suction cup mechanism needs a flat surface, otherwise a single bad pothole could send your mount (and phone) flying towards the back of the car. Trust me, it can happen, and it is not a fun experience.</p><div class="product"><a data-dimension112="ccdf4ef8-820f-11f1-8ecb-d3d1b5677eac" data-action="Deal Block" data-label="Suction Phone Mount" data-dimension48="Suction Phone Mount" data-dimension25="$26" href="https://www.amazon.com/LISEN-Suction-All-Metal-Adjustable-Magnetic/dp/B0GVDCFQT2?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:264px;"><p class="vanilla-image-block" style="padding-top:90.15%;"><img id="fvUVFgfZ8d5rAUA9RqE8FT" name="Suction Phone Mount" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/fvUVFgfZ8d5rAUA9RqE8FT-1920-80.jpg" mos="" align="middle" fullscreen="" width="264" height="238" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/LISEN-Suction-All-Metal-Adjustable-Magnetic/dp/B0GVDCFQT2?th=1" target="_blank" rel="nofollow" data-dimension112="ccdf4ef8-820f-11f1-8ecb-d3d1b5677eac" data-action="Deal Block" data-label="Suction Phone Mount" data-dimension48="Suction Phone Mount" data-dimension25="$26">Suction Phone Mount: was $36 now $26</a></strong><br>The Lisen phone mount is MagSafe compatible, and can rotate 360º and can hold up to 98 pounds.<a class="view-deal button" href="https://www.amazon.com/LISEN-Suction-All-Metal-Adjustable-Magnetic/dp/B0GVDCFQT2?th=1" target="_blank" rel="nofollow" data-dimension112="ccdf4ef8-820f-11f1-8ecb-d3d1b5677eac" data-action="Deal Block" data-label="Suction Phone Mount" data-dimension48="Suction Phone Mount" data-dimension25="$26">View Deal</a></p></div><h2 id="it-certainly-has-the-right-look">It certainly has the right 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:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wVWSk9tGBo2LX66zeD7KGe" name="371B7689-54D0-4C52-9396-6444D4CE7A4E.JPG" alt="Lisen magnetic suction cup mount" src="https://cdn.mos.cms.futurecdn.net/wVWSk9tGBo2LX66zeD7KGe-1920-80.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>Lisen's magnetic suction cup mount certainly has the right look. It's sleek, it's compact, and because it has a suction cup mount, you don't need to rely on adhesives that could melt or dry out over time. Plus the actual vacuum suction is controlled by a dial in the center, rather than an ugly lever or some other fold-down mechanism. </p><p>The fold-out magnetic ring looks rather nice as well. It folds up neatly, and the magnetic ring is <a href="https://www.tomsguide.com/phones/iphones/what-is-apple-magsafe-and-which-iphones-support-it">MagSafe</a> compatible, which means it has a really strong grip on your phone. The problem is that the rings are far too small (and short) to be particularly useful, to the point where it makes the mount a pretty useless addition to the dashboard.</p><p>The main problem with a suction cup mechanism is that it needs to be attached to a surface that is smooth and relatively flat. Anything else, like curves or textured materials interferes with the vacuum and stops it from gripping to the surface correctly.</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:5712px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="heeWsP2ctfDbpTq5fu5Vde" name="990D3A50-8EF5-412A-8022-74D33AC03444.JPG" alt="Lisen magnetic suction cup mount" src="https://cdn.mos.cms.futurecdn.net/heeWsP2ctfDbpTq5fu5Vde-1920-80.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)</span></figcaption></figure><p>Every car's dashboard is different, but you can usually find a few places that are flat enough to securely attach a car mount like this. My general rule of thumb is that a phone needs to be positioned in a way that means it's not blocking your view of the road (for safety reasons), but in a spot that the driver can see should they need their phone for some crucial driving-related app or feature. </p><p>If you can't see the screen, you might as well tuck the phone out of sight and make use of in-car alternatives like <a href="https://www.tomsguide.com/reference/android-auto-faq">Android Auto</a> and <a href="https://www.tomsguide.com/reference/apple-carplay">Apple CarPlay</a>. There's no need to have a phone mount if your phone isn't mounted in a convenient place, after all.</p><p>Sadly this is exactly what happened to me with Lisen's MagSafe suction cup mount.</p><h2 id="practical-appeal-is-lacking-for-my-car-at-least">Practical appeal is lacking, for my car at least</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="vTVW3SfKJAgJN5sbJmDWUe" name="9CD723BA-7469-4AC4-B18B-BB42E2222ADB.JPG" alt="Lisen magnetic suction cup mount" src="https://cdn.mos.cms.futurecdn.net/vTVW3SfKJAgJN5sbJmDWUe-1920-80.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)</span></figcaption></figure><p>My car has a fairly curvy dashboard, with some mild texturing. But there are still a few places where a good suction cup mount can grab onto without any problems. The issue with Lisen's mount is that the magnetic connector is so low down, that it breaks my two main rules about car phone mounts.</p><p>Here's the problem. You find a spot and securely attach your mount to the car's dashboard. Then you attempt to attach your phone, and find that the phone is too big. "No matter," you say. You simply tilt the connector backwards until there is room for the phone. Only then, your phone is angled so far back that you can't see what's on the screen.</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:5712px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nvTTfDkLuFwsBUafpA7gRe" name="1D262325-F9CD-4FB1-B27F-E95958C92F5A.JPG" alt="Lisen magnetic suction cup mount" src="https://cdn.mos.cms.futurecdn.net/nvTTfDkLuFwsBUafpA7gRe-1920-80.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)</span></figcaption></figure><p>So you attempt to find a spot that lets you set up the mount where there is room for the phone to stay more or less vertical — giving you an unobstructed view of what's going on. Only then, you find that the only suitable spots are right in the middle of the dash, or so far back that your phone ends up blocking a not-insignificant portion of your windshield. There's no doubt that this is the worse option, and could easily be a hazard to everyone around you.</p><p>My go-to phone is a Google Pixel 10 Pro, which has a 6.3-inch display — which is a fairly average-sized phone. In other words, it's nothing out of the ordinary, as far as smartphones are concerned, and it's a form factor that accessory-makers really should account for before finalizing their designs.</p><h2 id="my-car-is-slightly-to-blame">My car is slightly to blame</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="EF4LaE5LNwN7TBDmJ4xuZe" name="FB44EB74-5A75-4C77-89FD-FB316C6E5B46.JPG" alt="Lisen magnetic suction cup mount" src="https://cdn.mos.cms.futurecdn.net/EF4LaE5LNwN7TBDmJ4xuZe-1920-80.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)</span></figcaption></figure><p>Naturally the shape of my dashboard is partly to blame, as is my preference not to attach suction cup mounts to the windshield — since it blocks my view of the road. But with all the different suction cup mounts I've tried and tested over the years, I've never had one that was too small to secure my phone correctly. </p><p>There's always been some part of the design that lets you adjust the mount and adapt it to your own car. It's something that the Lisen MagSafe mount sorely lacks, and despite its handsome design it fails the most important purpose of all: Practicality for everyone, regardless of which car they drive.</p><p>Maybe your car has a suitable dashboard design to attach this mount properly. The problem is that, like me, you likely won't know the full situation before you buy one and attempt to install it yourself. Which is less than ideal, to say the least.</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/phones/iphones/all-other-iphone-cases-are-dead-to-me-after-testing-this-one-with-an-e-ink-display-heres-why">All other iPhone cases are dead to me after testing this one with an e-ink display — here’s why</a></li><li><a href="https://www.tomsguide.com/phones/iphones/ive-been-using-my-iphone-as-a-real-life-pokedex-to-scan-every-bug-in-my-garden-this-summer">I’ve been using my iPhone as a real-life Pokédex to scan every bug in my garden this summer</a></li><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/i-just-got-gemini-for-android-auto-in-my-car-and-i-cant-believe-how-much-better-it-is-than-google-assistant">I tested Google's new Gemini update for Android Auto and it finally fixes everything that made the old Google Assistant so frustrating to use while driving</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/vehicle-tech/this-minimalist-car-phone-mount-proves-compact-designs-arent-always-the-answer</link>
                                                                            <description>
                            <![CDATA[ Minimalism is great, but it shouldn't come at the expense of practicality. Sadly this car phone mount didn't seem to get that memo. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">jrcTsaiDet4DAsCQ9MXcR7</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/jMYUGN8iHsvRvBAFEzsVBe-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 19 Jul 2026 13:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Vehicle Tech]]></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-320-70.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/jMYUGN8iHsvRvBAFEzsVBe-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Lisen magnetic suction cup mount]]></media:description>                                                            <media:text><![CDATA[Lisen magnetic suction cup mount]]></media:text>
                                <media:title type="plain"><![CDATA[Lisen magnetic suction cup mount]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/jMYUGN8iHsvRvBAFEzsVBe-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Minimalism — open spaces, minimal clutter and devices that are designed to be sleek and low-profile — is all the rage, and has been for a while. It sounds great, and in some cases it definitely can be a great aesthetic choice. But there are cases when minimalism, and deliberately trying to take up as little space as possible, just doesn't work.<a href="https://www.amazon.com/LISEN-Suction-All-Metal-Adjustable-Magnetic/dp/B0GVDCFQT2" target="_blank" rel="nofollow"> This car mount from Lisen</a> is one very good example.</p><p>There are countless different kinds of the <a href="https://www.tomsguide.com/best-picks/best-car-phone-mounts">best car phone mounts</a>, each capable of supporting your phone in a different way. My personal preference is for suction cups, since they tend to offer more versatility than vent mounts and other options. </p><p>The problem is that they're usually quite big and take up a lot of space — not to mention the fact that the suction cup mechanism needs a flat surface, otherwise a single bad pothole could send your mount (and phone) flying towards the back of the car. Trust me, it can happen, and it is not a fun experience.</p><div class="product"><a data-dimension112="ccdf4ef8-820f-11f1-8ecb-d3d1b5677eac" data-action="Deal Block" data-label="Suction Phone Mount" data-dimension48="Suction Phone Mount" data-dimension25="$26" href="https://www.amazon.com/LISEN-Suction-All-Metal-Adjustable-Magnetic/dp/B0GVDCFQT2?th=1" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:264px;"><p class="vanilla-image-block" style="padding-top:90.15%;"><img id="fvUVFgfZ8d5rAUA9RqE8FT" name="Suction Phone Mount" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/fvUVFgfZ8d5rAUA9RqE8FT-1920-80.jpg" mos="" align="middle" fullscreen="" width="264" height="238" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/LISEN-Suction-All-Metal-Adjustable-Magnetic/dp/B0GVDCFQT2?th=1" target="_blank" rel="nofollow" data-dimension112="ccdf4ef8-820f-11f1-8ecb-d3d1b5677eac" data-action="Deal Block" data-label="Suction Phone Mount" data-dimension48="Suction Phone Mount" data-dimension25="$26">Suction Phone Mount: was $36 now $26</a></strong><br>The Lisen phone mount is MagSafe compatible, and can rotate 360º and can hold up to 98 pounds.<a class="view-deal button" href="https://www.amazon.com/LISEN-Suction-All-Metal-Adjustable-Magnetic/dp/B0GVDCFQT2?th=1" target="_blank" rel="nofollow" data-dimension112="ccdf4ef8-820f-11f1-8ecb-d3d1b5677eac" data-action="Deal Block" data-label="Suction Phone Mount" data-dimension48="Suction Phone Mount" data-dimension25="$26">View Deal</a></p></div><h2 id="it-certainly-has-the-right-look">It certainly has the right 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:4032px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="wVWSk9tGBo2LX66zeD7KGe" name="371B7689-54D0-4C52-9396-6444D4CE7A4E.JPG" alt="Lisen magnetic suction cup mount" src="https://cdn.mos.cms.futurecdn.net/wVWSk9tGBo2LX66zeD7KGe-1920-80.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>Lisen's magnetic suction cup mount certainly has the right look. It's sleek, it's compact, and because it has a suction cup mount, you don't need to rely on adhesives that could melt or dry out over time. Plus the actual vacuum suction is controlled by a dial in the center, rather than an ugly lever or some other fold-down mechanism. </p><p>The fold-out magnetic ring looks rather nice as well. It folds up neatly, and the magnetic ring is <a href="https://www.tomsguide.com/phones/iphones/what-is-apple-magsafe-and-which-iphones-support-it">MagSafe</a> compatible, which means it has a really strong grip on your phone. The problem is that the rings are far too small (and short) to be particularly useful, to the point where it makes the mount a pretty useless addition to the dashboard.</p><p>The main problem with a suction cup mechanism is that it needs to be attached to a surface that is smooth and relatively flat. Anything else, like curves or textured materials interferes with the vacuum and stops it from gripping to the surface correctly.</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:5712px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="heeWsP2ctfDbpTq5fu5Vde" name="990D3A50-8EF5-412A-8022-74D33AC03444.JPG" alt="Lisen magnetic suction cup mount" src="https://cdn.mos.cms.futurecdn.net/heeWsP2ctfDbpTq5fu5Vde-1920-80.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)</span></figcaption></figure><p>Every car's dashboard is different, but you can usually find a few places that are flat enough to securely attach a car mount like this. My general rule of thumb is that a phone needs to be positioned in a way that means it's not blocking your view of the road (for safety reasons), but in a spot that the driver can see should they need their phone for some crucial driving-related app or feature. </p><p>If you can't see the screen, you might as well tuck the phone out of sight and make use of in-car alternatives like <a href="https://www.tomsguide.com/reference/android-auto-faq">Android Auto</a> and <a href="https://www.tomsguide.com/reference/apple-carplay">Apple CarPlay</a>. There's no need to have a phone mount if your phone isn't mounted in a convenient place, after all.</p><p>Sadly this is exactly what happened to me with Lisen's MagSafe suction cup mount.</p><h2 id="practical-appeal-is-lacking-for-my-car-at-least">Practical appeal is lacking, for my car at least</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="vTVW3SfKJAgJN5sbJmDWUe" name="9CD723BA-7469-4AC4-B18B-BB42E2222ADB.JPG" alt="Lisen magnetic suction cup mount" src="https://cdn.mos.cms.futurecdn.net/vTVW3SfKJAgJN5sbJmDWUe-1920-80.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)</span></figcaption></figure><p>My car has a fairly curvy dashboard, with some mild texturing. But there are still a few places where a good suction cup mount can grab onto without any problems. The issue with Lisen's mount is that the magnetic connector is so low down, that it breaks my two main rules about car phone mounts.</p><p>Here's the problem. You find a spot and securely attach your mount to the car's dashboard. Then you attempt to attach your phone, and find that the phone is too big. "No matter," you say. You simply tilt the connector backwards until there is room for the phone. Only then, your phone is angled so far back that you can't see what's on the screen.</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:5712px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="nvTTfDkLuFwsBUafpA7gRe" name="1D262325-F9CD-4FB1-B27F-E95958C92F5A.JPG" alt="Lisen magnetic suction cup mount" src="https://cdn.mos.cms.futurecdn.net/nvTTfDkLuFwsBUafpA7gRe-1920-80.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)</span></figcaption></figure><p>So you attempt to find a spot that lets you set up the mount where there is room for the phone to stay more or less vertical — giving you an unobstructed view of what's going on. Only then, you find that the only suitable spots are right in the middle of the dash, or so far back that your phone ends up blocking a not-insignificant portion of your windshield. There's no doubt that this is the worse option, and could easily be a hazard to everyone around you.</p><p>My go-to phone is a Google Pixel 10 Pro, which has a 6.3-inch display — which is a fairly average-sized phone. In other words, it's nothing out of the ordinary, as far as smartphones are concerned, and it's a form factor that accessory-makers really should account for before finalizing their designs.</p><h2 id="my-car-is-slightly-to-blame">My car is slightly to blame</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="EF4LaE5LNwN7TBDmJ4xuZe" name="FB44EB74-5A75-4C77-89FD-FB316C6E5B46.JPG" alt="Lisen magnetic suction cup mount" src="https://cdn.mos.cms.futurecdn.net/EF4LaE5LNwN7TBDmJ4xuZe-1920-80.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)</span></figcaption></figure><p>Naturally the shape of my dashboard is partly to blame, as is my preference not to attach suction cup mounts to the windshield — since it blocks my view of the road. But with all the different suction cup mounts I've tried and tested over the years, I've never had one that was too small to secure my phone correctly. </p><p>There's always been some part of the design that lets you adjust the mount and adapt it to your own car. It's something that the Lisen MagSafe mount sorely lacks, and despite its handsome design it fails the most important purpose of all: Practicality for everyone, regardless of which car they drive.</p><p>Maybe your car has a suitable dashboard design to attach this mount properly. The problem is that, like me, you likely won't know the full situation before you buy one and attempt to install it yourself. Which is less than ideal, to say the least.</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/phones/iphones/all-other-iphone-cases-are-dead-to-me-after-testing-this-one-with-an-e-ink-display-heres-why">All other iPhone cases are dead to me after testing this one with an e-ink display — here’s why</a></li><li><a href="https://www.tomsguide.com/phones/iphones/ive-been-using-my-iphone-as-a-real-life-pokedex-to-scan-every-bug-in-my-garden-this-summer">I’ve been using my iPhone as a real-life Pokédex to scan every bug in my garden this summer</a></li><li><a href="https://www.tomsguide.com/phones/google-pixel-phones/i-just-got-gemini-for-android-auto-in-my-car-and-i-cant-believe-how-much-better-it-is-than-google-assistant">I tested Google's new Gemini update for Android Auto and it finally fixes everything that made the old Google Assistant so frustrating to use while driving</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I replaced my notebook with an AI pen for a month — here's what happened ]]></title>
                                                                                                <dc:content><![CDATA[ <p>I've tried just about every AI productivity tool you can imagine. From chatbots that <a href="https://www.tomsguide.com/ai/i-use-anthropics-ai-assistant-claude-to-save-me-hours-of-research-and-these-are-my-4-go-to-prompts">help me research</a> to wearables that<a href="https://www.tomsguide.com/ai/i-wore-amazons-bee-ai-for-a-month-here-are-the-3-ways-it-actually-reduced-my-parenting-mental-load"> act like an external brain</a>, I lean into AI for productivity often. <br><br>But when it came to AI note-taking devices, I was on the fence. I've tried several, like<a href="https://www.tomsguide.com/ai/i-write-for-a-living-and-this-ai-transcription-software-is-a-true-game-changer"> Otter.ai </a>and <a href="https://www.tomsguide.com/ai/google-gemini/google-s-gemini-ai-is-now-turning-your-notes-into-a-podcast">Gemini for notetaking</a>, but to be completely honest, nothing could beat my physical notebook and pen. That is, until the Flowtica AI pen caught my attention. </p><p>Rather than changing how I work, this real-working pen allowed me to keep writing with pen and paper while quietly recording the conversation, then let AI organize everything afterward. It sounded almost too simple, here are my thoughts after using Flowtica AI pen for a month. </p><h2 id="what-is-the-flowtica-ai-pen">What is the Flowtica AI pen?</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/6BR9fp9sBxs" allowfullscreen></iframe></div></div><p>At first glance, you'd never guess the Flowtica AI pen was AI hardware at all. It simply looks like a cool metal pen that writes on ordinary paper. But what's great about it is, with a quick tap on the button, it also records conversations while you take notes, syncing everything to a companion app that can generate transcripts, meeting summaries and action items. Talk about a productivity game-changer! <br><br>Now as I write, I don't have to worry about catching everything. Flowtica will always pick up the slack. One feature I found especially interesting is something Flowtica calls FlowMark. If someone says something important, you press a button on the pen to create a marker. The idea is that the AI pays extra attention to those moments when it builds your summary later.</p><p>There's also a feature called Snap It, which lets you photograph notebook pages or whiteboards so the AI can combine your handwritten notes with the transcript.</p><div class="product"><a data-dimension112="be01e76a-820a-11f1-9390-b16151b351ee" data-action="Deal Block" data-label="Flowtica AI Voice Recorder with Voice Assistant, Unlimited Transcribe, Summarize & Action, All-in-one Workspace, Live Highlighting, Note Taker for Meeting, Interview, Professional, Lecture, Silver" data-dimension48="Flowtica AI Voice Recorder with Voice Assistant, Unlimited Transcribe, Summarize & Action, All-in-one Workspace, Live Highlighting, Note Taker for Meeting, Interview, Professional, Lecture, Silver" data-dimension25="$209" href="https://www.amazon.com/Flowtica-Assistant-Transcribe-Highlighting-Professional/dp/B0GS4FLZZH/ref=sr_1_2" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:840px;"><p class="vanilla-image-block" style="padding-top:106.19%;"><img id="sUyFdMgHTCKfyv8uzkP9Jb" name="Screenshot 2026-07-17 140200" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/sUyFdMgHTCKfyv8uzkP9Jb-1920-80.png" mos="" align="middle" fullscreen="" width="840" height="892" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Flowtica-Assistant-Transcribe-Highlighting-Professional/dp/B0GS4FLZZH/ref=sr_1_2" target="_blank" rel="nofollow" data-dimension112="be01e76a-820a-11f1-9390-b16151b351ee" data-action="Deal Block" data-label="Flowtica AI Voice Recorder with Voice Assistant, Unlimited Transcribe, Summarize & Action, All-in-one Workspace, Live Highlighting, Note Taker for Meeting, Interview, Professional, Lecture, Silver" data-dimension48="Flowtica AI Voice Recorder with Voice Assistant, Unlimited Transcribe, Summarize & Action, All-in-one Workspace, Live Highlighting, Note Taker for Meeting, Interview, Professional, Lecture, Silver" data-dimension25="$209">Flowtica AI Voice Recorder with Voice Assistant, Unlimited Transcribe, Summarize & Action, All-in-one Workspace, Live Highlighting, Note Taker for Meeting, Interview, Professional, Lecture, Silver: $209</a></strong><br>The Flowtica Scribe is one of the more interesting AI gadgets I've seen this year because it doesn't ask you to change how you work —it simply makes a familiar tool smarter. The pen offers up to 30 hours of continuous recording (or 100 hours with the optional charging case), stores roughly 4,000 hours of audio, supports 39 languages, and can identify up to 15 speakers. It also works without a subscription for unlimited recording, while more advanced AI features are available through optional paid plans.<a class="view-deal button" href="https://www.amazon.com/Flowtica-Assistant-Transcribe-Highlighting-Professional/dp/B0GS4FLZZH/ref=sr_1_2" target="_blank" rel="nofollow" data-dimension112="be01e76a-820a-11f1-9390-b16151b351ee" data-action="Deal Block" data-label="Flowtica AI Voice Recorder with Voice Assistant, Unlimited Transcribe, Summarize & Action, All-in-one Workspace, Live Highlighting, Note Taker for Meeting, Interview, Professional, Lecture, Silver" data-dimension48="Flowtica AI Voice Recorder with Voice Assistant, Unlimited Transcribe, Summarize & Action, All-in-one Workspace, Live Highlighting, Note Taker for Meeting, Interview, Professional, Lecture, Silver" data-dimension25="$209">View Deal</a></p></div><h2 id="what-surprised-me-most">What surprised me most</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="yamCFyybu59JRYCsUUHood" name="8 - 2026-07-17T141657.355" alt="Flowtica" src="https://cdn.mos.cms.futurecdn.net/yamCFyybu59JRYCsUUHood-1920-80.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>As a journalist, I spend a surprising amount of time juggling three things at once. I'm listening in briefing calls or interviews, asking follow-up questions and writing — all while trying not to forget what someone just said. </p><p>Even with years of experience, it's easy to miss a quote or lose track of an important point. I've experimented with AI transcription apps before, but they usually require pulling out another device, opening another app or remembering to hit Record before a conversation starts.</p><p>A pen feels...normal. No one thinks twice when you take notes with a pen. Of course, I always let them the person in front of me know when I'm recording — something most have come to expect from a journalist anyway. </p><p>But what surprised me most about this unique pen is how little I had to actually think about the technology at all. As someone who has become so used to AI demanding my attention, I was pleasantly surprised by how easy it was to just tap the button on the side to get started. </p><p>Because instead of changing your workflow, Flotica AI adapts to a workflow that's existed for decades. </p><h2 id="where-flotica-really-impressed-me">Where Flotica really impressed me</h2><div class="instagram-embed"><blockquote class="instagram-media"  data-instgrm-version="6" style="width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);"><p><a href="https://www.instagram.com/p/DZocpyztAUj/" target="_blank">A post shared by Rahul Dubey | Desk Setups | Tech & AI (@rahulx3)</a></p><p>A photo posted by </p></blockquote></div><p>The obvious audience for this product is people who spend their days in meetings. I also think this would be great for college students who don't want to miss anything during lectures. But the more I use the pen, the more use cases came to mind.<br><br>In fact, I now keep it with me whereever I go. With 32GB onboard storage that stores approximately 4,000 hours of audio and a built-in studio-grade MEMS microphone for recording conversations while I write, it's a no-brainer. </p><p>One thing to note, unlike similar AI notetakers, no special paper is required. I use it on my own notebook or journal.<br><br>Charging is easy and the battery life is incredible. Flowtica AI offers up to 30 hours of continuous recording on a single charge and up to to 100 hours of recording with the optional charging case. Standby time is up to 5,600 hours — that's a whopping 233 days. The charging cable, included, uses USB-C.   </p><p>The speaker recognition is incredible. It can capture up to 15 speakers in a room, but to be fully transparent, I didn't try it with that many since I work remotely. But it did pick up my voice from about ten feet away. The company promises it works up to 16.4 feet (5 meters). </p><p> It also labels people by name after they've been introduced once, which is great for keeping track of who said what in a meeting — even in a conversation between two or three. </p><p>The app works on iOS and Android and users get unlimited recording with no subscription required. That's the tier I used, which has been plenty. There is a paid plan, which unlocks even more AI features. </p><h2 id="what-i-didn-t-like">What I didn't like</h2><p>I think Flowtica is great for many reasons, but it also frustrated me on occassion. For instance, sometimes the pen would stop pairing or syncing recordings. I usually solved this by clicking the pen on and off again and doing the same to my phone. That did the trick, but took time. <br><br>The summary accuracy was also something I think the company really needs to improve. The summary was often too short and some details were missed completely at times. Sometimes the Bluetooth pairing would drop off, but for the most it worked as it should and the transcript quality seemed up to par. </p><h2 id="the-takeaway-2">The takeaway </h2><p>Anyone who regularly fills notebooks with pages they'll probably never revisit should check out this pen. Because AI can automatically organize those notes into something searchable and actionable, that's potentially a meaningful time saver that you never even realized you needed. I certainly didn't until now.<br><br>This has become my favorite AI note-taker yet because it is easy to use and let's me write by hand, which I don't think I could ever give up. </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/someone-created-a-ghost-font-that-humans-can-read-but-ai-cant-i-had-to-try-it-for-myself">Someone created a 'Ghost Font' that humans can read but AI can't — I had to try it for myself</a></li><li><a href="https://www.tomsguide.com/ai/the-end-of-forgetting-why-ais-perfect-memory-is-a-psychological-trap">The end of forgetting: Why AI’s perfect memory is a psychological trap</a></li><li><a href="https://www.tomsguide.com/ai/i-just-found-a-free-way-to-watch-youtube-without-ads-and-it-doesnt-require-youtube-premium">I just found a free way to watch YouTube without ads — and it doesn't require YouTube Premium</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/ai/i-replaced-my-notebook-with-an-ai-pen-for-a-month-heres-what-happened</link>
                                                                            <description>
                            <![CDATA[ I tested the Flowtica Scribe AI pen to see if it can accurately record, transcribe and summarize meetings, interviews and handwritten notes. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">X8AVKiAmdNyjABgFohD3pb</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/am8AkTDZN8tXKBaXivFdQe-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 19 Jul 2026 11:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[AI]]></category>
                                                                                                <author><![CDATA[ amanda.caswell@futurenet.com (Amanda Caswell) ]]></author>                    <dc:creator><![CDATA[ Amanda Caswell ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/zYjevim2q7FjQiefqpjZRB-320-70.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/am8AkTDZN8tXKBaXivFdQe-1280-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[flowtica on Amanda&#039;s kitchen counter]]></media:description>                                                            <media:text><![CDATA[flowtica on Amanda&#039;s kitchen counter]]></media:text>
                                <media:title type="plain"><![CDATA[flowtica on Amanda&#039;s kitchen counter]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/am8AkTDZN8tXKBaXivFdQe-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>I've tried just about every AI productivity tool you can imagine. From chatbots that <a href="https://www.tomsguide.com/ai/i-use-anthropics-ai-assistant-claude-to-save-me-hours-of-research-and-these-are-my-4-go-to-prompts">help me research</a> to wearables that<a href="https://www.tomsguide.com/ai/i-wore-amazons-bee-ai-for-a-month-here-are-the-3-ways-it-actually-reduced-my-parenting-mental-load"> act like an external brain</a>, I lean into AI for productivity often. <br><br>But when it came to AI note-taking devices, I was on the fence. I've tried several, like<a href="https://www.tomsguide.com/ai/i-write-for-a-living-and-this-ai-transcription-software-is-a-true-game-changer"> Otter.ai </a>and <a href="https://www.tomsguide.com/ai/google-gemini/google-s-gemini-ai-is-now-turning-your-notes-into-a-podcast">Gemini for notetaking</a>, but to be completely honest, nothing could beat my physical notebook and pen. That is, until the Flowtica AI pen caught my attention. </p><p>Rather than changing how I work, this real-working pen allowed me to keep writing with pen and paper while quietly recording the conversation, then let AI organize everything afterward. It sounded almost too simple, here are my thoughts after using Flowtica AI pen for a month. </p><h2 id="what-is-the-flowtica-ai-pen">What is the Flowtica AI pen?</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/6BR9fp9sBxs" allowfullscreen></iframe></div></div><p>At first glance, you'd never guess the Flowtica AI pen was AI hardware at all. It simply looks like a cool metal pen that writes on ordinary paper. But what's great about it is, with a quick tap on the button, it also records conversations while you take notes, syncing everything to a companion app that can generate transcripts, meeting summaries and action items. Talk about a productivity game-changer! <br><br>Now as I write, I don't have to worry about catching everything. Flowtica will always pick up the slack. One feature I found especially interesting is something Flowtica calls FlowMark. If someone says something important, you press a button on the pen to create a marker. The idea is that the AI pays extra attention to those moments when it builds your summary later.</p><p>There's also a feature called Snap It, which lets you photograph notebook pages or whiteboards so the AI can combine your handwritten notes with the transcript.</p><div class="product"><a data-dimension112="be01e76a-820a-11f1-9390-b16151b351ee" data-action="Deal Block" data-label="Flowtica AI Voice Recorder with Voice Assistant, Unlimited Transcribe, Summarize & Action, All-in-one Workspace, Live Highlighting, Note Taker for Meeting, Interview, Professional, Lecture, Silver" data-dimension48="Flowtica AI Voice Recorder with Voice Assistant, Unlimited Transcribe, Summarize & Action, All-in-one Workspace, Live Highlighting, Note Taker for Meeting, Interview, Professional, Lecture, Silver" data-dimension25="$209" href="https://www.amazon.com/Flowtica-Assistant-Transcribe-Highlighting-Professional/dp/B0GS4FLZZH/ref=sr_1_2" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:840px;"><p class="vanilla-image-block" style="padding-top:106.19%;"><img id="sUyFdMgHTCKfyv8uzkP9Jb" name="Screenshot 2026-07-17 140200" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/sUyFdMgHTCKfyv8uzkP9Jb-1920-80.png" mos="" align="middle" fullscreen="" width="840" height="892" attribution="" endorsement="" credit="" class=""></p></div></div></figure></a><p><strong><a href="https://www.amazon.com/Flowtica-Assistant-Transcribe-Highlighting-Professional/dp/B0GS4FLZZH/ref=sr_1_2" target="_blank" rel="nofollow" data-dimension112="be01e76a-820a-11f1-9390-b16151b351ee" data-action="Deal Block" data-label="Flowtica AI Voice Recorder with Voice Assistant, Unlimited Transcribe, Summarize & Action, All-in-one Workspace, Live Highlighting, Note Taker for Meeting, Interview, Professional, Lecture, Silver" data-dimension48="Flowtica AI Voice Recorder with Voice Assistant, Unlimited Transcribe, Summarize & Action, All-in-one Workspace, Live Highlighting, Note Taker for Meeting, Interview, Professional, Lecture, Silver" data-dimension25="$209">Flowtica AI Voice Recorder with Voice Assistant, Unlimited Transcribe, Summarize & Action, All-in-one Workspace, Live Highlighting, Note Taker for Meeting, Interview, Professional, Lecture, Silver: $209</a></strong><br>The Flowtica Scribe is one of the more interesting AI gadgets I've seen this year because it doesn't ask you to change how you work —it simply makes a familiar tool smarter. The pen offers up to 30 hours of continuous recording (or 100 hours with the optional charging case), stores roughly 4,000 hours of audio, supports 39 languages, and can identify up to 15 speakers. It also works without a subscription for unlimited recording, while more advanced AI features are available through optional paid plans.<a class="view-deal button" href="https://www.amazon.com/Flowtica-Assistant-Transcribe-Highlighting-Professional/dp/B0GS4FLZZH/ref=sr_1_2" target="_blank" rel="nofollow" data-dimension112="be01e76a-820a-11f1-9390-b16151b351ee" data-action="Deal Block" data-label="Flowtica AI Voice Recorder with Voice Assistant, Unlimited Transcribe, Summarize & Action, All-in-one Workspace, Live Highlighting, Note Taker for Meeting, Interview, Professional, Lecture, Silver" data-dimension48="Flowtica AI Voice Recorder with Voice Assistant, Unlimited Transcribe, Summarize & Action, All-in-one Workspace, Live Highlighting, Note Taker for Meeting, Interview, Professional, Lecture, Silver" data-dimension25="$209">View Deal</a></p></div><h2 id="what-surprised-me-most">What surprised me most</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="yamCFyybu59JRYCsUUHood" name="8 - 2026-07-17T141657.355" alt="Flowtica" src="https://cdn.mos.cms.futurecdn.net/yamCFyybu59JRYCsUUHood-1920-80.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>As a journalist, I spend a surprising amount of time juggling three things at once. I'm listening in briefing calls or interviews, asking follow-up questions and writing — all while trying not to forget what someone just said. </p><p>Even with years of experience, it's easy to miss a quote or lose track of an important point. I've experimented with AI transcription apps before, but they usually require pulling out another device, opening another app or remembering to hit Record before a conversation starts.</p><p>A pen feels...normal. No one thinks twice when you take notes with a pen. Of course, I always let them the person in front of me know when I'm recording — something most have come to expect from a journalist anyway. </p><p>But what surprised me most about this unique pen is how little I had to actually think about the technology at all. As someone who has become so used to AI demanding my attention, I was pleasantly surprised by how easy it was to just tap the button on the side to get started. </p><p>Because instead of changing your workflow, Flotica AI adapts to a workflow that's existed for decades. </p><h2 id="where-flotica-really-impressed-me">Where Flotica really impressed me</h2><div class="instagram-embed"><blockquote class="instagram-media"  data-instgrm-version="6" style="width:99.375%; width:-webkit-calc(100% - 2px); width:calc(100% - 2px);"><p><a href="https://www.instagram.com/p/DZocpyztAUj/" target="_blank">A post shared by Rahul Dubey | Desk Setups | Tech & AI (@rahulx3)</a></p><p>A photo posted by </p></blockquote></div><p>The obvious audience for this product is people who spend their days in meetings. I also think this would be great for college students who don't want to miss anything during lectures. But the more I use the pen, the more use cases came to mind.<br><br>In fact, I now keep it with me whereever I go. With 32GB onboard storage that stores approximately 4,000 hours of audio and a built-in studio-grade MEMS microphone for recording conversations while I write, it's a no-brainer. </p><p>One thing to note, unlike similar AI notetakers, no special paper is required. I use it on my own notebook or journal.<br><br>Charging is easy and the battery life is incredible. Flowtica AI offers up to 30 hours of continuous recording on a single charge and up to to 100 hours of recording with the optional charging case. Standby time is up to 5,600 hours — that's a whopping 233 days. The charging cable, included, uses USB-C.   </p><p>The speaker recognition is incredible. It can capture up to 15 speakers in a room, but to be fully transparent, I didn't try it with that many since I work remotely. But it did pick up my voice from about ten feet away. The company promises it works up to 16.4 feet (5 meters). </p><p> It also labels people by name after they've been introduced once, which is great for keeping track of who said what in a meeting — even in a conversation between two or three. </p><p>The app works on iOS and Android and users get unlimited recording with no subscription required. That's the tier I used, which has been plenty. There is a paid plan, which unlocks even more AI features. </p><h2 id="what-i-didn-t-like">What I didn't like</h2><p>I think Flowtica is great for many reasons, but it also frustrated me on occassion. For instance, sometimes the pen would stop pairing or syncing recordings. I usually solved this by clicking the pen on and off again and doing the same to my phone. That did the trick, but took time. <br><br>The summary accuracy was also something I think the company really needs to improve. The summary was often too short and some details were missed completely at times. Sometimes the Bluetooth pairing would drop off, but for the most it worked as it should and the transcript quality seemed up to par. </p><h2 id="the-takeaway-2">The takeaway </h2><p>Anyone who regularly fills notebooks with pages they'll probably never revisit should check out this pen. Because AI can automatically organize those notes into something searchable and actionable, that's potentially a meaningful time saver that you never even realized you needed. I certainly didn't until now.<br><br>This has become my favorite AI note-taker yet because it is easy to use and let's me write by hand, which I don't think I could ever give up. </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/someone-created-a-ghost-font-that-humans-can-read-but-ai-cant-i-had-to-try-it-for-myself">Someone created a 'Ghost Font' that humans can read but AI can't — I had to try it for myself</a></li><li><a href="https://www.tomsguide.com/ai/the-end-of-forgetting-why-ais-perfect-memory-is-a-psychological-trap">The end of forgetting: Why AI’s perfect memory is a psychological trap</a></li><li><a href="https://www.tomsguide.com/ai/i-just-found-a-free-way-to-watch-youtube-without-ads-and-it-doesnt-require-youtube-premium">I just found a free way to watch YouTube without ads — and it doesn't require YouTube Premium</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ iPadOS 27 hands-on preview: Siri AI and all the big features ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Apple is expected to launch <a href="https://www.tomsguide.com/computing/vr-ar/ipados-27-everything-coming-to-the-apples-beloved-tablets">iPadOS 27</a> this Fall, but you can try the upcoming operating system right now via the public beta. While the OS is still a work in progress, it has most of the essential new features coming to the <a href="https://www.tomsguide.com/best-picks/best-ipad">best iPads</a>.</p><p>Like <a href="https://www.tomsguide.com/phones/iphones/ios-27-is-official-all-the-new-upgrades-and-features-announced-at-wwdc-2026">iOS 27</a> and <a href="https://www.tomsguide.com/computing/macos/macos-27">macOS 27</a>, iPadOS 27 is focused on overall system refinements and deeper AI integration. That last bit is especially noteworthy, as there is now a dedicated <a href="https://www.tomsguide.com/ai/apple-finally-fixed-siri-heres-all-the-features-for-the-new-siri-ai-announced-at-wwdc">Siri AI app</a> that functions like a standard chatbot. Beyond answering questions, Siri AI can also take actions on your behalf since it’s integrated into the operating system and works with Apple’s applications.</p><p>Though iPadOS 27 isn’t a monumental update, features like the overhauled Siri AI, the Liquid Glass slider, and other quality-of-life improvements make it worthwhile. Here are my impressions of the upcoming iPad operating system and its new features.</p><h3 class="article-body__section" id="section-ipados-27-hands-on-preview-compatible-ipads"><span>iPadOS 27 hands-on preview: Compatible iPads</span></h3><p>Here are all the iPads that support iPadOS 27.</p><ul><li><strong>iPad Pro (M4 and later)</strong></li><li><strong>iPad Pro 12.9‑inch (4th generation and later)</strong></li><li><strong>iPad Pro 11‑inch (2nd generation and later)</strong></li><li><strong>iPad Air 13-inch (M2 and later)</strong></li><li><strong>iPad Air 11-inch (M2, M3, and M4)</strong></li><li><strong>iPad Air 11-inch (4th generation and later)</strong></li><li><strong>iPad (A16)</strong></li><li><strong>iPad (9th generation and later)</strong></li><li><strong>iPad mini (A17 Pro)</strong></li><li><strong>iPad mini (6th generation)</strong></li></ul><h3 class="article-body__section" id="section-ipados-27-hands-on-preview-new-features"><span>iPadOS 27 hands-on preview: New features</span></h3><h2 id="siri-ai">Siri 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:3000px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="bUdvQNBSqmfRLjfKDiytsJ" name="iPadOS 27-3" alt="iPadOS 27" src="https://cdn.mos.cms.futurecdn.net/bUdvQNBSqmfRLjfKDiytsJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="3000" height="1687" 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><a href="https://www.tomsguide.com/ai/apple-intelligence-unveiled-all-the-new-ai-features-coming-to-ios-18-ipados-18-and-macos-sequoia">Apple Intelligence</a> is finally ready for prime time on the company’s devices. Thanks to the new Siri AI app, you can now interact with Apple’s virtual assistant the same way you would with a chatbot like ChatGPT or <a href="https://www.tomsguide.com/ai/google-gemini/google-gemini-everything-you-need-to-know">Google Gemini</a>. Apple Intelligence runs on both servers and your device to offer better image understanding and more.</p><p>There is now a dedicated Siri AI app, which looks and functions like a regular chatbot app. In this window, you can ask Siri questions or have it perform tasks for you. For example, I used Siri to send a message to one of my iMessage group chats, and it did so after my approval. Sure, I could have just done this directly in the group chat, but it’s a good demonstration of what the new Siri can do.</p><p>Siri AI also understands what it sees on your screen. When I had the Tom’s Guide homepage open on Google Chrome, it correctly detailed what was on the screen, including all the articles. It couldn’t open the articles or read them out loud (despite saying it could), but given that I’m testing a beta version, I’ll give it an A for effort, even if it failed to complete the task.</p><p>Siri is most useful when you’re using Apple’s own apps and programs. It can create events on your calendar, set reminders, play music, and more. For example, when you’re looking at a schedule, you’ll see an “add to calendar” button pop up. When you right-click certain folders, files, or apps, you’ll see an “Ask Siri” option at the bottom. Selecting this will open a window where you can start texting or talking with Siri.</p><p>Though Siri can’t yet interact with most third-party applications (such as those from Google), it’s a huge improvement over the old Siri.</p><h2 id="liquid-glass-improvements">Liquid Glass improvements</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="o8qwJZchHVow7pwSPrizSQ" name="iPadOS 27-2" alt="iPadOS 27" src="https://cdn.mos.cms.futurecdn.net/o8qwJZchHVow7pwSPrizSQ-1920-80.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: Tom's Guide)</span></figcaption></figure><p>Liquid Glass hasn’t gone anywhere, as Apple is leaning more into the UI with its latest operating system updates. However, Apple is now giving you greater control over how it looks thanks to a new slider that adjusts the opacity. You can’t eliminate the Liquid Glass look, but you can severely minimize it.</p><p>There are other improvements, such as how complex background visuals now appear more diffuse so that text stands out more. You’ll also notice that the edges of icons are more pronounced to help further separate them from the background. The uniform corner radius of all app windows also helps them stand out more.</p><p>Even if Liquid Glass hasn’t gone anywhere, even detractors should find the updates tolerable since they do greatly improve overall readability and visibility. The Liquid Glass slider is a nice touch.</p><p>I've never had a problem with Liquid Glass because I think it’s an interesting visual effect. That said, I’m glad that folks can now fine-tune it to their liking. The slider is especially neat because it’s easy to use and makes it clear how much of a difference there is when you go from one extreme to the other.</p><h2 id="child-safety-features">Child safety features</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="scMkVXfiwMUYV5YeEAw5JV" name="iPadOS 27" alt="iPadOS 27" src="https://cdn.mos.cms.futurecdn.net/scMkVXfiwMUYV5YeEAw5JV-1920-80.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: Tom's Guide)</span></figcaption></figure><p>If you’re a parent, you’ll be happy to know that Apple is expanding its parental control features with iPadOS 27. This way, you can let the kiddo use Apple’s tablet without worrying too much about the kind of content they’re watching and for how long they’re using the slate.</p><p>Some of these updates include a redesigned and more intuitive Screen Time Dashboard that offers one-tap controls and expanded safeguards. There is also Time Allowances for app categories, Ask to Browsw website approval, Communication Safety that blurs gore or violence, and one-tap access management. You can tailor these features to suit your child.</p><p>I don’t have kids but I did find the child safety features simple enough to use and customize. Given how much kids love iPads, it’s smart for Apple to continue making adjustments to these safety features.</p><h3 class="article-body__section" id="section-ipados-27-hands-on-preview-other-features"><span>iPadOS 27 hands-on preview: Other features</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:3000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="7oXYaT7tBAEw2Bpdcym2Ab" name="iPadOS 27-4" alt="iPadOS 27" src="https://cdn.mos.cms.futurecdn.net/7oXYaT7tBAEw2Bpdcym2Ab-1920-80.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: Tom's Guide)</span></figcaption></figure><p><strong>Spatial Reframing</strong>: As the name suggests, you can now reframe a photo after it’s been taken thanks to this feature. You can also expand your shots with the Extend Tool and remove objects with the Clean Up tool.</p><p><strong>Upgraded Image Playground</strong>: Image Playground can now generate higher quality images than before. You can also modify and transform existing images by describing what you want.</p><p><strong>Siri in Notes</strong>: Siri AI can assist with your handwritten or typed notes in the Notes app by (for example) organizing bullet points into a formatted agenda or turning handwritten lectures into a detailed study guide.</p><p><strong>Safari updates</strong>: In Safari, tabs can now be automatically grouped by topic to make related pages easier to find. With Safari Notify Me, you can receive an alert if there’s a price change or a restock for an item you’ve been eyeing.</p><p><strong>Describe Shortcuts</strong>: Instead of manually building complex workflows, you can now describe what you need, and Shortcuts connects actions across multiple apps to make it happen. This is useful if you want to set specific routines, such as launching a specific app when you connect a peripheral.</p><h3 class="article-body__section" id="section-ipados-27-hands-on-preview-outlook"><span>iPadOS 27 hands-on preview: Outlook</span></h3><p>iPadOS 27 won’t set the world on fire with revolutionary new features, but the upgraded Siri AI and deeper Apple Intelligence integrations help make iPads that support the update more useful. This is especially true if you frequently use Apple’s own apps.</p><p>Keeping in mind that iPadOS 27 is still a work in progress, I think it’s a smart update that finally sees Apple’s AI ambitions bear fruit. Things could change between now and when the expected Fall launch, but right now, Apple has delivered on its promises for a more helpful and intuitive iPad experience.</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/phones/apple-buried-a-perfect-dumb-phone-feature-inside-your-iphone-heres-how-to-turn-it-on">Apple hid a perfect 'dumb phone' feature inside your iPhone that's great for kids — here's how to turn it on</a></li><li><a href="https://www.tomsguide.com/phones/iphones/the-robot-voice-is-gone-how-to-make-siri-sound-truly-human-in-ios-27">iOS 27 beta now lets you customize Siri's pace and expressivity — here's how to do it</a></li><li><a href="https://www.tomsguide.com/phones/iphones/ios-27s-new-ai-feature-will-automatically-fix-your-weak-passwords-how-to-set-it-up">iOS 27's new AI feature will automatically fix your weak passwords — how to set it up</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/ipads/ipados-27-hands-on-preview</link>
                                                                            <description>
                            <![CDATA[ iPadOS 27 brings AI to the forefront, thanks to the new Siri AI and deeper app integration. Here's what we think of the iPadOS 27 public beta. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">NG9nq8g6ZoLDtYconhCDeJ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Kg4cbghayrcgsaf6yZstBB-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 15 Jul 2026 08:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[iPads]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Tablets]]></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-320-70.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/Kg4cbghayrcgsaf6yZstBB-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[iPadOS 27]]></media:description>                                                            <media:text><![CDATA[iPadOS 27]]></media:text>
                                <media:title type="plain"><![CDATA[iPadOS 27]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Kg4cbghayrcgsaf6yZstBB-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Apple is expected to launch <a href="https://www.tomsguide.com/computing/vr-ar/ipados-27-everything-coming-to-the-apples-beloved-tablets">iPadOS 27</a> this Fall, but you can try the upcoming operating system right now via the public beta. While the OS is still a work in progress, it has most of the essential new features coming to the <a href="https://www.tomsguide.com/best-picks/best-ipad">best iPads</a>.</p><p>Like <a href="https://www.tomsguide.com/phones/iphones/ios-27-is-official-all-the-new-upgrades-and-features-announced-at-wwdc-2026">iOS 27</a> and <a href="https://www.tomsguide.com/computing/macos/macos-27">macOS 27</a>, iPadOS 27 is focused on overall system refinements and deeper AI integration. That last bit is especially noteworthy, as there is now a dedicated <a href="https://www.tomsguide.com/ai/apple-finally-fixed-siri-heres-all-the-features-for-the-new-siri-ai-announced-at-wwdc">Siri AI app</a> that functions like a standard chatbot. Beyond answering questions, Siri AI can also take actions on your behalf since it’s integrated into the operating system and works with Apple’s applications.</p><p>Though iPadOS 27 isn’t a monumental update, features like the overhauled Siri AI, the Liquid Glass slider, and other quality-of-life improvements make it worthwhile. Here are my impressions of the upcoming iPad operating system and its new features.</p><h3 class="article-body__section" id="section-ipados-27-hands-on-preview-compatible-ipads"><span>iPadOS 27 hands-on preview: Compatible iPads</span></h3><p>Here are all the iPads that support iPadOS 27.</p><ul><li><strong>iPad Pro (M4 and later)</strong></li><li><strong>iPad Pro 12.9‑inch (4th generation and later)</strong></li><li><strong>iPad Pro 11‑inch (2nd generation and later)</strong></li><li><strong>iPad Air 13-inch (M2 and later)</strong></li><li><strong>iPad Air 11-inch (M2, M3, and M4)</strong></li><li><strong>iPad Air 11-inch (4th generation and later)</strong></li><li><strong>iPad (A16)</strong></li><li><strong>iPad (9th generation and later)</strong></li><li><strong>iPad mini (A17 Pro)</strong></li><li><strong>iPad mini (6th generation)</strong></li></ul><h3 class="article-body__section" id="section-ipados-27-hands-on-preview-new-features"><span>iPadOS 27 hands-on preview: New features</span></h3><h2 id="siri-ai">Siri 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:3000px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="bUdvQNBSqmfRLjfKDiytsJ" name="iPadOS 27-3" alt="iPadOS 27" src="https://cdn.mos.cms.futurecdn.net/bUdvQNBSqmfRLjfKDiytsJ-1920-80.jpg" mos="" align="middle" fullscreen="" width="3000" height="1687" 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><a href="https://www.tomsguide.com/ai/apple-intelligence-unveiled-all-the-new-ai-features-coming-to-ios-18-ipados-18-and-macos-sequoia">Apple Intelligence</a> is finally ready for prime time on the company’s devices. Thanks to the new Siri AI app, you can now interact with Apple’s virtual assistant the same way you would with a chatbot like ChatGPT or <a href="https://www.tomsguide.com/ai/google-gemini/google-gemini-everything-you-need-to-know">Google Gemini</a>. Apple Intelligence runs on both servers and your device to offer better image understanding and more.</p><p>There is now a dedicated Siri AI app, which looks and functions like a regular chatbot app. In this window, you can ask Siri questions or have it perform tasks for you. For example, I used Siri to send a message to one of my iMessage group chats, and it did so after my approval. Sure, I could have just done this directly in the group chat, but it’s a good demonstration of what the new Siri can do.</p><p>Siri AI also understands what it sees on your screen. When I had the Tom’s Guide homepage open on Google Chrome, it correctly detailed what was on the screen, including all the articles. It couldn’t open the articles or read them out loud (despite saying it could), but given that I’m testing a beta version, I’ll give it an A for effort, even if it failed to complete the task.</p><p>Siri is most useful when you’re using Apple’s own apps and programs. It can create events on your calendar, set reminders, play music, and more. For example, when you’re looking at a schedule, you’ll see an “add to calendar” button pop up. When you right-click certain folders, files, or apps, you’ll see an “Ask Siri” option at the bottom. Selecting this will open a window where you can start texting or talking with Siri.</p><p>Though Siri can’t yet interact with most third-party applications (such as those from Google), it’s a huge improvement over the old Siri.</p><h2 id="liquid-glass-improvements">Liquid Glass improvements</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="o8qwJZchHVow7pwSPrizSQ" name="iPadOS 27-2" alt="iPadOS 27" src="https://cdn.mos.cms.futurecdn.net/o8qwJZchHVow7pwSPrizSQ-1920-80.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: Tom's Guide)</span></figcaption></figure><p>Liquid Glass hasn’t gone anywhere, as Apple is leaning more into the UI with its latest operating system updates. However, Apple is now giving you greater control over how it looks thanks to a new slider that adjusts the opacity. You can’t eliminate the Liquid Glass look, but you can severely minimize it.</p><p>There are other improvements, such as how complex background visuals now appear more diffuse so that text stands out more. You’ll also notice that the edges of icons are more pronounced to help further separate them from the background. The uniform corner radius of all app windows also helps them stand out more.</p><p>Even if Liquid Glass hasn’t gone anywhere, even detractors should find the updates tolerable since they do greatly improve overall readability and visibility. The Liquid Glass slider is a nice touch.</p><p>I've never had a problem with Liquid Glass because I think it’s an interesting visual effect. That said, I’m glad that folks can now fine-tune it to their liking. The slider is especially neat because it’s easy to use and makes it clear how much of a difference there is when you go from one extreme to the other.</p><h2 id="child-safety-features">Child safety features</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="scMkVXfiwMUYV5YeEAw5JV" name="iPadOS 27" alt="iPadOS 27" src="https://cdn.mos.cms.futurecdn.net/scMkVXfiwMUYV5YeEAw5JV-1920-80.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: Tom's Guide)</span></figcaption></figure><p>If you’re a parent, you’ll be happy to know that Apple is expanding its parental control features with iPadOS 27. This way, you can let the kiddo use Apple’s tablet without worrying too much about the kind of content they’re watching and for how long they’re using the slate.</p><p>Some of these updates include a redesigned and more intuitive Screen Time Dashboard that offers one-tap controls and expanded safeguards. There is also Time Allowances for app categories, Ask to Browsw website approval, Communication Safety that blurs gore or violence, and one-tap access management. You can tailor these features to suit your child.</p><p>I don’t have kids but I did find the child safety features simple enough to use and customize. Given how much kids love iPads, it’s smart for Apple to continue making adjustments to these safety features.</p><h3 class="article-body__section" id="section-ipados-27-hands-on-preview-other-features"><span>iPadOS 27 hands-on preview: Other features</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:3000px;"><p class="vanilla-image-block" style="padding-top:56.27%;"><img id="7oXYaT7tBAEw2Bpdcym2Ab" name="iPadOS 27-4" alt="iPadOS 27" src="https://cdn.mos.cms.futurecdn.net/7oXYaT7tBAEw2Bpdcym2Ab-1920-80.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: Tom's Guide)</span></figcaption></figure><p><strong>Spatial Reframing</strong>: As the name suggests, you can now reframe a photo after it’s been taken thanks to this feature. You can also expand your shots with the Extend Tool and remove objects with the Clean Up tool.</p><p><strong>Upgraded Image Playground</strong>: Image Playground can now generate higher quality images than before. You can also modify and transform existing images by describing what you want.</p><p><strong>Siri in Notes</strong>: Siri AI can assist with your handwritten or typed notes in the Notes app by (for example) organizing bullet points into a formatted agenda or turning handwritten lectures into a detailed study guide.</p><p><strong>Safari updates</strong>: In Safari, tabs can now be automatically grouped by topic to make related pages easier to find. With Safari Notify Me, you can receive an alert if there’s a price change or a restock for an item you’ve been eyeing.</p><p><strong>Describe Shortcuts</strong>: Instead of manually building complex workflows, you can now describe what you need, and Shortcuts connects actions across multiple apps to make it happen. This is useful if you want to set specific routines, such as launching a specific app when you connect a peripheral.</p><h3 class="article-body__section" id="section-ipados-27-hands-on-preview-outlook"><span>iPadOS 27 hands-on preview: Outlook</span></h3><p>iPadOS 27 won’t set the world on fire with revolutionary new features, but the upgraded Siri AI and deeper Apple Intelligence integrations help make iPads that support the update more useful. This is especially true if you frequently use Apple’s own apps.</p><p>Keeping in mind that iPadOS 27 is still a work in progress, I think it’s a smart update that finally sees Apple’s AI ambitions bear fruit. Things could change between now and when the expected Fall launch, but right now, Apple has delivered on its promises for a more helpful and intuitive iPad experience.</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/phones/apple-buried-a-perfect-dumb-phone-feature-inside-your-iphone-heres-how-to-turn-it-on">Apple hid a perfect 'dumb phone' feature inside your iPhone that's great for kids — here's how to turn it on</a></li><li><a href="https://www.tomsguide.com/phones/iphones/the-robot-voice-is-gone-how-to-make-siri-sound-truly-human-in-ios-27">iOS 27 beta now lets you customize Siri's pace and expressivity — here's how to do it</a></li><li><a href="https://www.tomsguide.com/phones/iphones/ios-27s-new-ai-feature-will-automatically-fix-your-weak-passwords-how-to-set-it-up">iOS 27's new AI feature will automatically fix your weak passwords — how to set it up</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ macOS Golden Gate public beta hands-on preview: Apple Intelligence is finally useful ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The public beta for macOS 27, also known as <a href="https://www.tomsguide.com/computing/macos/macos-27">macOS Golden Gate</a>, is here! While this update isn’t as monumental as <a href="https://www.tomsguide.com/computing/macos/macos-sequoia">macOS Sequoia</a>, it delivers a slew of AI features and smoother overall performance, making the <a href="https://www.tomsguide.com/best-picks/best-macbook">best MacBooks</a> more personal and streamlined.</p><p>I’ve had the <a href="https://www.tomsguide.com/computing/macos/the-macos-golden-gate-developer-beta-is-live-heres-how-to-download-it">developer beta of macOS Golden Gate</a> installed for a month, with the latest version close to what the public beta is offering. While the beta is still very much a work in progress, I’ve had a smooth time using it and testing out its new features.</p><p>If you’re signed into the (free) <a href="https://beta.apple.com/" target="_blank">Apple beta software program</a>, you can try the public beta of macOS Golden Gate right now. Here are my thoughts on the beta and the key features worth checking out.</p><h3 class="article-body__section" id="section-macos-golden-gate-public-beta-hands-on-supported-macs"><span>macOS Golden Gate public beta hands-on: Supported Macs</span></h3><p>The Intel era is over, as macOS Golden Gate doesn’t run on those older machines. Here is a complete list of Macs that support Golden Gate.</p><ul><li><strong>MacBook Neo (2026)</strong></li><li><strong>MacBook Air with Apple silicon (2020 and later)</strong></li><li><strong>MacBook Pro with Apple silicon (2020 and later)</strong></li><li><strong>iMac with Apple silicon (2021 and later)</strong></li><li><strong>Mac mini with Apple silicon (2020 and later)</strong></li><li><strong>Mac Studio with Apple silicon (2022 and later)</strong></li><li><strong>Mac Pro with Apple silicon (2023 and later)</strong></li></ul><h3 class="article-body__section" id="section-macos-golden-gate-public-beta-hands-on-features"><span>macOS Golden Gate public beta hands-on: Features</span></h3><p>Most of macOS Golden Gate’s new features center around updated versions of Siri and Apple Intelligence. These are the ones that have stood out the most during my testing.</p><h2 id="siri-ai-2">Siri 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:3777px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="RJQ9US5qZUL5xu3z9FTSpn" name="macOS 27 Golden Gate Siri AI-5" alt="Siri AI on macOS 27" src="https://cdn.mos.cms.futurecdn.net/RJQ9US5qZUL5xu3z9FTSpn-1920-80.jpg" mos="" align="middle" fullscreen="" width="3777" height="2125" 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 is now a dedicated <a href="https://www.tomsguide.com/ai/apple-intelligence/i-spent-48-hours-with-siri-ai-on-macos-golden-gate-heres-what-i-like-and-what-i-dont">Siri AI app for macOS Golden Gate</a> that functions similarly to chatbots like ChatGPT and <a href="https://www.tomsguide.com/ai/google-gemini/google-gemini-everything-you-need-to-know">Google Gemini</a>. This app is also available on <a href="https://www.tomsguide.com/computing/vr-ar/ipados-27-everything-coming-to-the-apples-beloved-tablets">iPadOS 27</a> and <a href="https://www.tomsguide.com/phones/iphones/ios-27-11-biggest-features-coming-to-your-iphone">iOS 27,</a> and is arguably the biggest new feature for the Apple devices that support it.</p><p>You can access the Siri AI app either by clicking it in the Dock or in the Menu bar. You can also bring it up by pulling up Spotlight. Doing this brings up a dedicated chat window where you can ask Siri AI questions or just talk to it about whatever’s on your mind. Again, this functions exactly like the chatbots you’re already familiar with.</p><p>And since Siri AI is now baked into the operating system, it can do more than just chat. For example, if you’re looking at a schedule, you’ll see an “add to calendar” button appear. I’ve even had this happen when I suggest a date/time to meet with friends. When you right-click on folders, files, or apps, you’ll often see an “Ask Siri” option at the very top, where you can begin asking questions about whatever you’re highlighting.</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:5184px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="zW8Y5gvHBBuuUMEQHd93FL" name="macOS 27 Golden Gate Siri AI-LIST2" alt="Siri AI on macOS 27" src="https://cdn.mos.cms.futurecdn.net/zW8Y5gvHBBuuUMEQHd93FL-1920-80.jpg" mos="" align="middle" fullscreen="" width="5184" height="2916" 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 can even create Shortcuts by typing or speaking what you want instead of manually building complications. While I wouldn’t call this vibe coding, it can feel that way since you’re using natural language.</p><p>For those in the Apple ecosystem, Siri AI can be more useful than other chatbots because it’s integrated into the system. However, third-party integrations are still a work in progress, so Siri AI’s usability for you might be limited if you use Google apps like Gmail, since Siri AI doesn’t work with them (yet).</p><h2 id="liquid-glass-slider">Liquid Glass slider</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="kbVSEAeYD7AF3N9vqnbxhG" name="macOS 27 liquid glass slider" alt="macOS 27 Liquid Glass" src="https://cdn.mos.cms.futurecdn.net/kbVSEAeYD7AF3N9vqnbxhG-1920-80.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 / Apple)</span></figcaption></figure><p>If you’re not a fan of the <a href="https://www.tomsguide.com/phones/iphones/ios-26s-liquid-glass-design-brings-big-changes-to-your-iphone-heres-everything-coming-in-the-public-beta">Liquid Glass UI</a>, you’ll be happy to know there’s now a slider to adjust its opacity. It lets you dial the effect up or down to your liking, and I’m surprised it took this long to implement it this way.</p><p>Beyond the slider, you’ll notice that more complex background visuals appear more diffused, which improves text readability (which was a big issue for some). The edges of icons are also more pronounced, so they stand out more from the background. All app windows now have a uniform corner radius to help them pop out as well.</p><p>I've never had a problem with Liquid Glass because I think it’s an interesting visual effect. That said, I’m glad that folks can now fine-tune it to their liking. The slider is especially neat because it’s easy to use and makes it clear how much of a difference there is when you go from one extreme to the other.</p><h2 id="spatial-reframing">Spatial Reframing</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/2vyL4w3WxVGjQJPBPpoqq5-1920-80.jpg" alt="MacBook Air M5" /><figcaption><small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vUC8TZ34UKYuqHaQC7jN6R-1920-80.jpg" alt="MacBook Air M5" /><figcaption>A MacBook Air after Reframe<small role="credit">Tom's Guide</small></figcaption></figure></figure><p>Spatial Reframing isn’t exclusive to macOS Golden Gate, but since the <a href="https://www.tomsguide.com/phones/iphones/apples-ai-powered-spatial-reframing-tool-just-stole-the-show-at-wwdc"><u>Reframe tool stole the show at WWDC</u></a>, it’s a feature worth spotlighting if you take a lot of photos.</p><p>As its name suggests, Reframe lets you reframe existing photos and adjust the perspective to your liking. This can be especially handy if you need to take photos in a hurry, as you can come back to them later to fix them.</p><p>After you select Reframe in the new Tools option in Photos’ editing mode, Apple Intelligence scans the photo you’ve selected. After that, you can pull your finger across the touchpad to change the perspective. Sliders on the side also give you more precise control over the angle, orientation, or size. When you’re done, the AI shifts things around to fill in any blanks.</p><p>This isn’t a feature I use often since I like photos in their original form, even if they’re not perfect. That said, I can’t knock the results, as Reframe does an excellent job of living up to its name. And to be fair, the changes made don’t radically alter the image — you just get a better version of what you’ve already snapped.</p><h3 class="article-body__section" id="section-macos-golden-gate-public-beta-hands-on-outlook"><span>macOS Golden Gate public beta hands-on: Outlook</span></h3><p>Apple Intelligence didn’t live up to the hype after it was first announced, but it’s now living up to its potential on Macs and the other Apple devices it can run on. If you’re a big AI user already, then macOS Golden Gate could arguably be a significant update. I imagine Siri AI will only improve between now and the OS’ expected fall launch.</p><p>Other features such as the more customizable Liquid Glass UI and Spatial Reframing might not be monumental game-changers, but they’re nice additions regardless. Apple also said there’s improved performance on devices using the upcoming operating systems, but during my time with macOS Golden Gate, I haven’t seen any noticeable improvements or hiccups on that front.</p><p>Apple’s new operating systems are still being worked on, so things could change before the official launch. I’ll have a full review for you then, but based on my experience with macOS Golden Gate, I’ll say that the new features are a step in the right direction.</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/apple-intelligence/the-apple-car-development-may-not-have-been-as-big-a-waste-of-time-and-money-as-everyone-thought-in-fact-it-may-be-the-thing-that-enabled-apples-new-ai-boom">The Apple Car development may not have been a waste of time</a></li><li><a href="https://www.tomsguide.com/phones/iphones/7-hidden-ios-27-features-apple-didnt-tell-you-about-at-wwdc">7 hidden iOS 27 features Apple didn't tell you about</a></li><li><a href="https://www.tomsguide.com/ai/the-4-biggest-allegations-in-apples-lawsuit-against-openai">The 4 biggest allegations in Apple's lawsuit against OpenAI</a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.tomsguide.com/computing/macos/macos-golden-gate-public-beta-hands-on-preview</link>
                                                                            <description>
                            <![CDATA[ The public beta for macOS Golden Gate is now live for Apple beta software program participants. Here are the top features coming to Macs this fall. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">tgPY5apaRRsn7L4Q4gxNU3</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/6onBfgc6zZedV7zQBmGFw8-1280-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 13 Jul 2026 20:44:14 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[macOS]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                    <category><![CDATA[Operating Systems]]></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-320-70.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/6onBfgc6zZedV7zQBmGFw8-1280-80.jpg">
                                                            <media:credit><![CDATA[Tom&#039;s Guide]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[macOS 27]]></media:description>                                                            <media:text><![CDATA[macOS 27]]></media:text>
                                <media:title type="plain"><![CDATA[macOS 27]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/6onBfgc6zZedV7zQBmGFw8-1280-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The public beta for macOS 27, also known as <a href="https://www.tomsguide.com/computing/macos/macos-27">macOS Golden Gate</a>, is here! While this update isn’t as monumental as <a href="https://www.tomsguide.com/computing/macos/macos-sequoia">macOS Sequoia</a>, it delivers a slew of AI features and smoother overall performance, making the <a href="https://www.tomsguide.com/best-picks/best-macbook">best MacBooks</a> more personal and streamlined.</p><p>I’ve had the <a href="https://www.tomsguide.com/computing/macos/the-macos-golden-gate-developer-beta-is-live-heres-how-to-download-it">developer beta of macOS Golden Gate</a> installed for a month, with the latest version close to what the public beta is offering. While the beta is still very much a work in progress, I’ve had a smooth time using it and testing out its new features.</p><p>If you’re signed into the (free) <a href="https://beta.apple.com/" target="_blank">Apple beta software program</a>, you can try the public beta of macOS Golden Gate right now. Here are my thoughts on the beta and the key features worth checking out.</p><h3 class="article-body__section" id="section-macos-golden-gate-public-beta-hands-on-supported-macs"><span>macOS Golden Gate public beta hands-on: Supported Macs</span></h3><p>The Intel era is over, as macOS Golden Gate doesn’t run on those older machines. Here is a complete list of Macs that support Golden Gate.</p><ul><li><strong>MacBook Neo (2026)</strong></li><li><strong>MacBook Air with Apple silicon (2020 and later)</strong></li><li><strong>MacBook Pro with Apple silicon (2020 and later)</strong></li><li><strong>iMac with Apple silicon (2021 and later)</strong></li><li><strong>Mac mini with Apple silicon (2020 and later)</strong></li><li><strong>Mac Studio with Apple silicon (2022 and later)</strong></li><li><strong>Mac Pro with Apple silicon (2023 and later)</strong></li></ul><h3 class="article-body__section" id="section-macos-golden-gate-public-beta-hands-on-features"><span>macOS Golden Gate public beta hands-on: Features</span></h3><p>Most of macOS Golden Gate’s new features center around updated versions of Siri and Apple Intelligence. These are the ones that have stood out the most during my testing.</p><h2 id="siri-ai-2">Siri 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:3777px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="RJQ9US5qZUL5xu3z9FTSpn" name="macOS 27 Golden Gate Siri AI-5" alt="Siri AI on macOS 27" src="https://cdn.mos.cms.futurecdn.net/RJQ9US5qZUL5xu3z9FTSpn-1920-80.jpg" mos="" align="middle" fullscreen="" width="3777" height="2125" 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 is now a dedicated <a href="https://www.tomsguide.com/ai/apple-intelligence/i-spent-48-hours-with-siri-ai-on-macos-golden-gate-heres-what-i-like-and-what-i-dont">Siri AI app for macOS Golden Gate</a> that functions similarly to chatbots like ChatGPT and <a href="https://www.tomsguide.com/ai/google-gemini/google-gemini-everything-you-need-to-know">Google Gemini</a>. This app is also available on <a href="https://www.tomsguide.com/computing/vr-ar/ipados-27-everything-coming-to-the-apples-beloved-tablets">iPadOS 27</a> and <a href="https://www.tomsguide.com/phones/iphones/ios-27-11-biggest-features-coming-to-your-iphone">iOS 27,</a> and is arguably the biggest new feature for the Apple devices that support it.</p><p>You can access the Siri AI app either by clicking it in the Dock or in the Menu bar. You can also bring it up by pulling up Spotlight. Doing this brings up a dedicated chat window where you can ask Siri AI questions or just talk to it about whatever’s on your mind. Again, this functions exactly like the chatbots you’re already familiar with.</p><p>And since Siri AI is now baked into the operating system, it can do more than just chat. For example, if you’re looking at a schedule, you’ll see an “add to calendar” button appear. I’ve even had this happen when I suggest a date/time to meet with friends. When you right-click on folders, files, or apps, you’ll often see an “Ask Siri” option at the very top, where you can begin asking questions about whatever you’re highlighting.</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:5184px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="zW8Y5gvHBBuuUMEQHd93FL" name="macOS 27 Golden Gate Siri AI-LIST2" alt="Siri AI on macOS 27" src="https://cdn.mos.cms.futurecdn.net/zW8Y5gvHBBuuUMEQHd93FL-1920-80.jpg" mos="" align="middle" fullscreen="" width="5184" height="2916" 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 can even create Shortcuts by typing or speaking what you want instead of manually building complications. While I wouldn’t call this vibe coding, it can feel that way since you’re using natural language.</p><p>For those in the Apple ecosystem, Siri AI can be more useful than other chatbots because it’s integrated into the system. However, third-party integrations are still a work in progress, so Siri AI’s usability for you might be limited if you use Google apps like Gmail, since Siri AI doesn’t work with them (yet).</p><h2 id="liquid-glass-slider">Liquid Glass slider</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="kbVSEAeYD7AF3N9vqnbxhG" name="macOS 27 liquid glass slider" alt="macOS 27 Liquid Glass" src="https://cdn.mos.cms.futurecdn.net/kbVSEAeYD7AF3N9vqnbxhG-1920-80.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 / Apple)</span></figcaption></figure><p>If you’re not a fan of the <a href="https://www.tomsguide.com/phones/iphones/ios-26s-liquid-glass-design-brings-big-changes-to-your-iphone-heres-everything-coming-in-the-public-beta">Liquid Glass UI</a>, you’ll be happy to know there’s now a slider to adjust its opacity. It lets you dial the effect up or down to your liking, and I’m surprised it took this long to implement it this way.</p><p>Beyond the slider, you’ll notice that more complex background visuals appear more diffused, which improves text readability (which was a big issue for some). The edges of icons are also more pronounced, so they stand out more from the background. All app windows now have a uniform corner radius to help them pop out as well.</p><p>I've never had a problem with Liquid Glass because I think it’s an interesting visual effect. That said, I’m glad that folks can now fine-tune it to their liking. The slider is especially neat because it’s easy to use and makes it clear how much of a difference there is when you go from one extreme to the other.</p><h2 id="spatial-reframing">Spatial Reframing</h2><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/2vyL4w3WxVGjQJPBPpoqq5-1920-80.jpg" alt="MacBook Air M5" /><figcaption><small role="credit">Tom's Guide</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/vUC8TZ34UKYuqHaQC7jN6R-1920-80.jpg" alt="MacBook Air M5" /><figcaption>A MacBook Air after Reframe<small role="credit">Tom's Guide</small></figcaption></figure></figure><p>Spatial Reframing isn’t exclusive to macOS Golden Gate, but since the <a href="https://www.tomsguide.com/phones/iphones/apples-ai-powered-spatial-reframing-tool-just-stole-the-show-at-wwdc"><u>Reframe tool stole the show at WWDC</u></a>, it’s a feature worth spotlighting if you take a lot of photos.</p><p>As its name suggests, Reframe lets you reframe existing photos and adjust the perspective to your liking. This can be especially handy if you need to take photos in a hurry, as you can come back to them later to fix them.</p><p>After you select Reframe in the new Tools option in Photos’ editing mode, Apple Intelligence scans the photo you’ve selected. After that, you can pull your finger across the touchpad to change the perspective. Sliders on the side also give you more precise control over the angle, orientation, or size. When you’re done, the AI shifts things around to fill in any blanks.</p><p>This isn’t a feature I use often since I like photos in their original form, even if they’re not perfect. That said, I can’t knock the results, as Reframe does an excellent job of living up to its name. And to be fair, the changes made don’t radically alter the image — you just get a better version of what you’ve already snapped.</p><h3 class="article-body__section" id="section-macos-golden-gate-public-beta-hands-on-outlook"><span>macOS Golden Gate public beta hands-on: Outlook</span></h3><p>Apple Intelligence didn’t live up to the hype after it was first announced, but it’s now living up to its potential on Macs and the other Apple devices it can run on. If you’re a big AI user already, then macOS Golden Gate could arguably be a significant update. I imagine Siri AI will only improve between now and the OS’ expected fall launch.</p><p>Other features such as the more customizable Liquid Glass UI and Spatial Reframing might not be monumental game-changers, but they’re nice additions regardless. Apple also said there’s improved performance on devices using the upcoming operating systems, but during my time with macOS Golden Gate, I haven’t seen any noticeable improvements or hiccups on that front.</p><p>Apple’s new operating systems are still being worked on, so things could change before the official launch. I’ll have a full review for you then, but based on my experience with macOS Golden Gate, I’ll say that the new features are a step in the right direction.</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/apple-intelligence/the-apple-car-development-may-not-have-been-as-big-a-waste-of-time-and-money-as-everyone-thought-in-fact-it-may-be-the-thing-that-enabled-apples-new-ai-boom">The Apple Car development may not have been a waste of time</a></li><li><a href="https://www.tomsguide.com/phones/iphones/7-hidden-ios-27-features-apple-didnt-tell-you-about-at-wwdc">7 hidden iOS 27 features Apple didn't tell you about</a></li><li><a href="https://www.tomsguide.com/ai/the-4-biggest-allegations-in-apples-lawsuit-against-openai">The 4 biggest allegations in Apple's lawsuit against OpenAI</a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
            </channel>
</rss>